Để định cấu hình Edge sau khi cài đặt, bạn cần kết hợp các tệp .properties
và tiện ích Edge. Ví dụ: để định cấu hình TLS/SSL trên Giao diện người dùng Edge mới, bạn cần chỉnh sửa
.properties để đặt các thuộc tính cần thiết. Khi thay đổi các tệp
.properties , bạn cần khởi động lại thành phần Edge bị ảnh hưởng.
Apigee đề cập đến kỹ thuật chỉnh sửa các tệp .properties dưới dạng code with
config (mã có cấu hình) (đôi khi được viết tắt là CwC). Về cơ bản, mã có cấu hình là một công cụ tra cứu khoá/giá trị
dựa trên các chế độ cài đặt trong tệp .properties. Trong mã có cấu hình, các khoá được gọi là
mã thông báo. Do đó, để định cấu hình Edge, bạn cần đặt mã thông báo trong các tệp .properties.
Mã có cấu hình cho phép các thành phần Edge đặt các giá trị mặc định được cung cấp cùng với sản phẩm, cho phép nhóm cài đặt ghi đè các chế độ cài đặt đó dựa trên cấu trúc liên kết cài đặt, sau đó cho phép khách hàng ghi đè mọi thuộc tính mà họ chọn.
Nếu bạn coi đây là một hệ phân cấp, thì các chế độ cài đặt sẽ được sắp xếp như sau, trong đó chế độ cài đặt của khách hàng có mức độ ưu tiên cao nhất để ghi đè mọi chế độ cài đặt của nhóm trình cài đặt hoặc Apigee:
- Khách hàng
- Trình cài đặt
- Thành phần
Xác định giá trị hiện tại của mã thông báo
Trước khi đặt giá trị mới cho mã thông báo trong tệp .properties,
trước tiên, bạn nên xác định giá trị hiện tại của mã thông báo đó bằng cách sử dụng lệnh sau:
/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token
Trong đó, component_name là tên của thành phần và token là mã thông báo cần kiểm tra.
Lệnh này tìm kiếm hệ phân cấp của các tệp .properties của thành phần để
xác định giá trị hiện tại của mã thông báo.
Ví dụ sau đây kiểm tra giá trị hiện tại của mã thông báo conf_http_HTTPRequest.line.limit
cho Bộ định tuyến:
/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
Bạn sẽ thấy kết quả đầu ra như sau:
Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties
Nếu giá trị của mã thông báo bắt đầu bằng #, thì mã thông báo đó đã được đánh dấu là nội dung nhận xét và bạn phải sử dụng
cú pháp đặc biệt để thay đổi mã thông báo đó. Để biết thêm thông tin, hãy xem
Đặt mã thông báo hiện đang được đánh dấu là nội dung nhận xét.
Nếu bạn không biết toàn bộ tên của mã thông báo, hãy sử dụng một công cụ như grep để tìm kiếm
theo tên thuộc tính hoặc từ khoá. Để biết thêm thông tin, hãy xem phần Tìm mã
thông báo.
Tệp thuộc tính
Có các tệp cấu hình thành phần có thể chỉnh sửa và không thể chỉnh sửa. Phần này mô tả các tệp này.
Tệp cấu hình thành phần có thể chỉnh sửa
Bảng sau đây liệt kê các thành phần Apigee và các tệp thuộc tính mà bạn có thể chỉnh sửa để định cấu hình các thành phần đó:
| Thành phần | Tên thành phần | Tệp cấu hình có thể chỉnh sửa |
|---|---|---|
| Cassandra | apigee-cassandra |
/opt/apigee/customer/application/cassandra.properties |
| Máy chủ quản lý | edge-management-server |
/opt/apigee/customer/application/management-server.properties |
| Bộ xử lý thông báo | edge-message-processor |
/opt/apigee/customer/application/message-processor.properties |
apigee-monit |
apigee-monit |
/opt/apigee/customer/application/monit.properties |
| Giao diện người dùng Edge mới | edge-management-ui |
/opt/apigee/customer/application/management-ui.properties |
| OpenLDAP | apigee-openldap |
/opt/apigee/customer/application/openldap.properties |
| Máy chủ Postgres | edge-postgres-server |
/opt/apigee/customer/application/postgres-server.properties |
| Cơ sở dữ liệu PostgreSQL | apigee-postgresql |
/opt/apigee/customer/application/postgresql.properties |
| Máy chủ Qpid | edge-qpid-server |
/opt/apigee/customer/application/qpid-server.properties |
| Qpidd | apigee-qpidd |
/opt/apigee/customer/application/qpidd.properties |
| Bộ định tuyến | edge-router |
/opt/apigee/customer/application/router.properties |
| Zookeeper | apigee-zookeeper |
/opt/apigee/customer/application/zookeeper.properties |
Nếu bạn muốn đặt một thuộc tính trong một trong các tệp cấu hình thành phần này nhưng thuộc tính đó không tồn tại, bạn có thể tạo thuộc tính đó ở vị trí được liệt kê ở trên.
Ngoài ra, bạn phải đảm bảo rằng tệp thuộc tính thuộc sở hữu của người dùng "apigee":
chown apigee:apigee /opt/apigee/customer/application/configuration_file.properties
Tệp cấu hình thành phần không thể chỉnh sửa
Ngoài các tệp cấu hình thành phần có thể chỉnh sửa, còn có các tệp cấu hình mà bạn không thể chỉnh sửa.
Các tệp thông tin (không thể chỉnh sửa) bao gồm:
| Chủ sở hữu | Tên tệp hoặc thư mục |
|---|---|
| Cài đặt | /opt/apigee/token |
| Thành phần | /opt/apigee/component_name/conf Trong đó, component_name xác định thành phần. Các giá trị có thể có bao gồm:
|
Đặt giá trị mã thông báo
Bạn chỉ có thể sửa đổi các tệp .properties trong thư mục
/opt/apigee/customer/application. Mỗi thành phần đều có tệp
.properties riêng trong thư mục đó. Ví dụ: router.properties
và management-server.properties. Để xem danh sách đầy đủ các tệp thuộc tính,
hãy xem phần Vị trí của tệp .properties.
Cách tạo tệp .properties file:
- Tạo tệp văn bản mới trong trình chỉnh sửa. Tên tệp phải khớp với danh sách trong bảng ở trên cho các tệp của khách hàng.
- Thay đổi chủ sở hữu của tệp thành "apigee:apigee", như trong ví dụ sau:
chown apigee:apigee /opt/apigee/customer/application/router.properties
Nếu bạn đã thay đổi người dùng chạy dịch vụ Edge từ người dùng "apigee", hãy sử dụng
chownđể thay đổi quyền sở hữu thành người dùng đang chạy dịch vụ Edge.
Khi bạn nâng cấp Edge, các tệp .properties trong thư mục
/opt/apigee/customer/application sẽ được đọc. Điều đó có nghĩa là quá trình nâng cấp sẽ
giữ lại mọi thuộc tính mà bạn đặt trên thành phần.
Cách đặt giá trị của mã thông báo:
- Chỉnh sửa tệp
.propertiescủa thành phần. - Thêm hoặc thay đổi giá trị của mã thông báo. Ví dụ sau đây đặt giá trị của thuộc tính
conf_http_HTTPRequest.line.limitthành "10k":conf_http_HTTPRequest.line.limit=10k
Nếu mã thông báo nhận nhiều giá trị, hãy phân tách từng giá trị bằng dấu phẩy, như trong ví dụ sau:
conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*
Để thêm giá trị mới vào danh sách như thế này, bạn thường thêm giá trị mới vào cuối danh sách.
- Khởi động lại thành phần:
/opt/apigee/apigee-service/bin/apigee-service component_name restart
Trong đó, component_name là một trong những thành phần sau:
apigee-cassandra(Cassandra)apigee-openldap(OpenLDAP)apigee-postgresql(Cơ sở dữ liệu PostgreSQL)apigee-qpidd(Qpidd)apigee-zookeeper(ZooKeeper)edge-management-server(Máy chủ quản lý)edge-management-ui(Giao diện người dùng Edge mới)edge-message-processor(Trình xử lý tin nhắn)edge-postgres-server(Máy chủ Postgres)edge-qpid-server(Máy chủ Qpid)edge-router(Bộ định tuyến biên)
Ví dụ: sau khi chỉnh sửa
router.properties, hãy khởi động lại Bộ định tuyến:/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- (Không bắt buộc) Kiểm tra để đảm bảo rằng giá trị mã thông báo được đặt thành giá trị mới bằng cách sử dụng tuỳ chọn
configure -search. Ví dụ:/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
Để biết thêm thông tin về
configure -search, hãy xem Xác định giá trị hiện tại của mã thông báo.
Tìm mã thông báo
Trong hầu hết các trường hợp, các mã thông báo bạn cần đặt được xác định trong hướng dẫn này. Tuy nhiên, nếu bạn cần
ghi đè giá trị của mã thông báo hiện có mà bạn không chắc chắn về tên đầy đủ hoặc vị trí, hãy sử dụng
grep để tìm kiếm thư mục source của thành phần.
Ví dụ: nếu bạn biết rằng bạn muốn đặt
HTTPRequest.line.limit thuộc tính và muốn biết giá trị mã thông báo được dùng để đặt thuộc tính đó,
thì grep thuộc tính đó trong thư mục /opt/apigee/edge-management-server/source
:
grep -ri "HTTPRequest.line.limit" /opt/apigee/edge-management-server/source
Bạn sẽ thấy kết quả ở dạng sau:
/opt/apigee/component_name/source/conf/http.properties:property_name={T}token_name{/T}Ví dụ sau đây cho thấy giá trị của mã thông báo HTTPRequest.line.limit của Máy chủ quản lý:
/opt/apigee/edge-management-server/source/conf/http.properties:HTTPRequest.line.limit={T}conf_http_HTTPRequest.line.limit{/T}Chuỗi giữa các thẻ {T}{/T} là tên của mã thông báo mà bạn có thể đặt
trong tệp của thành phần .properties.
Đặt mã thông báo hiện đang được đánh dấu là nội dung nhận xét
Một số mã thông báo được đánh dấu là nội dung nhận xét trong các tệp cấu hình Edge. Nếu bạn cố gắng đặt mã thông báo mà được đánh dấu là nội dung nhận xét trong tệp cấu hình thành phần hoặc cài đặt, thì chế độ cài đặt của bạn sẽ bị bỏ qua.
Để đặt giá trị của mã thông báo được đánh dấu là nội dung nhận xét trong tệp cấu hình Edge, hãy sử dụng cú pháp đặc biệt ở dạng sau:
conf/filename+propertyName=propertyValue
Ví dụ: để đặt thuộc tính có tên là HTTPClient.proxy.host trên Bộ xử lý thông báo, trước tiên, hãy grep thuộc tính đó để xác định mã thông báo của thuộc tính đó:
grep -ri /opt/apigee/edge-message-processor/ -e "HTTPClient.proxy.host"
Lệnh grep trả về kết quả bao gồm tên mã thông báo. Hãy lưu ý cách tên thuộc tính được đánh dấu là nội dung nhận xét, như được chỉ định bằng tiền tố #:
source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T}
token/default.properties:conf_http_HTTPClient.proxy.host=
conf/http.properties:#HTTPClient.proxy.host=Để đặt giá trị của thuộc tính này, hãy chỉnh sửa
/opt/apigee/customer/application/message-processor.properties, nhưng hãy sử dụng cú pháp đặc biệt
như trong ví dụ sau:
conf/http.properties+HTTPClient.proxy.host=myhost.name.com
Trong trường hợp này, bạn phải thêm tiền tố conf/http.properties+ vào tên thuộc tính. Đây
là vị trí và tên của tệp cấu hình chứa thuộc tính, theo sau là "+".
Sau khi bạn khởi động lại Bộ xử lý thông báo, hãy kiểm tra tệp
/opt/apigee/edge-message-processor/conf/http.properties:
cat /opt/apigee/edge-message-processor/conf/http.properties
Ở cuối tệp, bạn sẽ thấy thuộc tính được đặt ở dạng:
conf/http.properties:HTTPClient.proxy.host=myhost.name.com
Bật hoặc tắt giao thức HTTP/2 trong Giao diện người dùng Edge mới
Phần này giải thích cách bật hoặc tắt giao thức HTTP/2 trong Giao diện người dùng Edge mới (edge-management-ui).
- Tạo hoặc chỉnh sửa
/opt/apigee/customer/application/management-ui.propertiesvà đảm bảo rằng tệp đó thuộc sở hữu củaapigee:apigee. - Thêm nội dung ghi đè sau đây để bật hoặc tắt giao thức HTTP/2:
conf_uebe_disable_http2={true or false} - Lưu và khởi động lại Giao diện người dùng Edge mới (
edge-management-ui).
Thêm định dạng nhật ký tuỳ chỉnh trong Bộ định tuyến/Nginx Apigee
Trong một số trường hợp, bạn cần thay đổi định dạng nhật ký mặc định của Bộ định tuyến/Nginx Apigee hoặc thêm các biến. Cách cập nhật cấu hình định dạng nhật ký mặc định của Bộ định tuyến/Nginx Apigee:
- Tạo tệp
router.properties(nếu tệp đó chưa tồn tại) theo đường dẫn được hiển thị bên dưới:/opt/apigee/customer/application/router.properties
- Thêm nội dung sau vào tệp
router.propertiesđể tạo cấu hìnhlog_formatmới có tên làrouter_new:conf_load_balancing_load.balancing.driver.nginx.global.http.parameters.template.extra=log_format router_new 'time_iso8601\\\\thostname\\\\tremote_addr:remote_port\\\\t'\\\\n\\n 'upstream_addr\\\\trequest_time\\\\t-\\\\t-\\\\t'\\\\n\\n '
status\\\\tupstream_status\\\\trequest_length\\\\t'\\\\n\\n 'body_bytes_sent\\\\t'\\\\n\\n 'request\\\\tupstream_http_x_apigee_message_id\\\\t'\\\\n\\n 'http_user_agent\\\\thost\\thostname-pid-connection-connection_requests\\\\tmy_nginx_var_xff\\t'\\\\n\\n 'upstream_http_x_apigee_fault_flag\\\\tupstream_http_x_apigee_fault_source\\\\tupstream_http_x_apigee_fault_code\\\\t'\\\\n\\n 'upstream_http_x_apigee_fault_policy\\tupstream_http_x_apigee_fault_flow\\tupstream_http_x_apigee_fault_revision\\t'\\\\n\\n 'upstream_http_x_apigee_dp_color\\\\tmy_x_apigee_target_latency\\\\t'\\\\n\\n 'upstream_http_x_apigee_proxy\\\\tupstream_http_x_apigee_proxy_basepath\\\\t'\\\\n\\n 'self_region\\\\tself_pod\\\\tself_color\\\\tssl_protocol\\\\tssl_client_verify\\\\tssl_session_id\\\\tssl_session_reused\\\\tupstream_pod\\\\tupstream_region';\\\\n\\n\n conf_load_balancing_load.balancing.driver.nginx.access.log={conf_load_balancing_load.balancing.driver.nginx.log.dir}/{org}~{env}.{port}_access_log router_new Cập nhật các biến trong các lệnh ở trên cho phù hợp. Bạn có thể tìm thấy các giá trị cấu hình mặc định cho
log_formattrong tệp bên dưới:/opt/apigee/edge-router/conf/load_balancing.properties
Danh sách các biến Nginx được hiển thị tại http://nginx.org/en/docs/varindex.html.
- Khởi động lại Bộ định tuyến để áp dụng cấu hình mới:
apigee-service edge-router restart
- Kiểm tra xem cấu hình
log_formatmới (router_new) đã được thêm vào tệp/opt/nginx/conf.d/0-default.confhay chưa:cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
- Gửi một số yêu cầu API đến một proxy API và xác minh định dạng nhật ký mới trong tệp
/opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file