Để định cấu hình Edge sau khi cài đặt, bạn hãy sử dụng 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, bạn sẽ chỉnh sửa các tệp .properties
để đặt các thuộc tính cần thiết. Các thay đổi đối với tệp .properties
yêu cầu bạn khởi động lại thành phần Edge bị ảnh hưởng.
Apigee là kỹ thuật chỉnh sửa tệp .properties
dưới dạng mã có cấu hình (đôi khi viết tắt là CwC). Về cơ bản, mã có cấu hình là 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á này được gọi là mã thông báo. Do đó, để định cấu hình Edge, bạn phải đặ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 vận chuyển cùng 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 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 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ã đó bằng cách 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á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ả có dạng 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 #
, tức là giá trị đó đã được nhận xét và bạn phải sử dụng cú pháp đặc biệt để thay đổi giá trị đó. Để biết thêm thông tin, hãy xem phần Đặt mã thông báo đang được 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à 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 |
Dịch vụ Đăng nhập một lần (SSO) của Apigee | apigee-sso |
/opt/apigee/customer/application/sso.properties |
Máy chủ quản lý | edge-management-server |
/opt/apigee/customer/application/management-server.properties |
Trình xử lý thư | 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 cổ điển (không ảnh hưởng đến giao diện người dùng mới của Edge) | edge-ui |
/opt/apigee/customer/application/ui.properties |
Giao diện người dùng Edge (chỉ giao diện người dùng của Edge mới; không ảnh hưởng đến giao diện người dùng cổ điển) | apigee-management-ui |
không áp dụng (sử dụng tệp cấu hình cài đặt) |
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 |
Người giữ thú | apigee-zookeeper |
/opt/apigee/customer/application/zookeeper.properties |
Nếu muốn đặt thuộc tính vào 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í nêu 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 chỉnh sửa được
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.
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ể 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 bài viết Vị trí của các tệp .properties.
Cách tạo tệp .properties
:
- 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 hiển thị trong bảng trên đối với 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 cho thành phần.
Cách đặt giá trị của mã thông báo:
- Chỉnh sửa tệp
.properties
của thành phần. - Thêm hoặc thay đổi giá trị của mã thông báo. Ví dụ sau đây sẽ thiết lập giá trị của thuộc tính
conf_http_HTTPRequest.line.limit
thà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, thông thường, bạn nối thêm giá trị mới vào cuối danh sách.
- Khởi động lại thành phần này:
/opt/apigee/apigee-service/bin/apigee-service component_name restart
Trong đó component_name là một trong những trạng thái sau:
apigee-cassandra
(Cassandra)apigee-openldap
(OpenLDAP)apigee-postgresql
(Cơ sở dữ liệu PostgreSQL)apigee-qpidd
(Qpidd)apigee-sso
(Edge SSO)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
(Bộ xử lý thông báo)edge-postgres-server
(Máy chủ Postgres)edge-qpid-server
(Máy chủ Qid)edge-router
(Bộ định tuyến Edge)edge-ui
(Giao diện người dùng cổ điể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ị của mã thông báo được đặt thành giá trị mới của bạn 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 phần 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, mã thông báo bạn cần đặt sẽ đượ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ột mã thông báo hiện có có tên đầy đủ hoặc vị trí mà bạn không chắc chắn, hãy sử dụng grep
để tìm kiếm thư mục source
của thành phần.
Ví dụ: nếu biết rằng trong bản phát hành trước của Edge, bạn đã đặt thuộc tính session.maxAge
và muốn biết giá trị của mã thông báo dùng để đặt thuộc tính đó, thì bạn phải đặt grep
cho thuộc tính trong thư mục /opt/apigee/edge-ui/source
:
grep -ri "session.maxAge" /opt/apigee/edge-ui/source
Bạn sẽ thấy kết quả có dạng sau:
/opt/apigee/component_name/source/conf/application.conf:property_name={T}token_name{/T}
Ví dụ sau đây cho thấy giá trị của mã thông báo session.maxAge
của giao diện người dùng:
/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/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 .properties
của giao diện người dùng.
Thiết lập một mã thông báo đang được nhận xét
Một số mã thông báo sẽ được nhận xét trong các tệp cấu hình Edge. Nếu bạn cố thiết lập một mã thông báo được nhận xét trong tệp cấu hình thành phần hoặc tệp 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ậ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 HTTPClient.proxy.host
trên Trình xử lý thông báo, trước tiên hãy grep
để thuộc tính này xác định mã thông báo:
grep -ri /opt/apigee/edge-message-processor/ -e "HTTPClient.proxy.host"
Lệnh grep
trả về kết quả có chứa tên mã thông báo. Hãy lưu ý cách nhận xét tên thuộc tính, thể hiện 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ị cho thuộc tính này, hãy chỉnh sửa /opt/apigee/customer/application/message-processor.properties
nhưng sử dụng một 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 tài sản. Đây là vị trí và tên của tệp cấu hình chứa thuộc tính, theo sau là dấu "+".
Sau khi bạn khởi động lại Bộ xử lý thư, 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, có dạng như sau:
conf/http.properties:HTTPClient.proxy.host=myhost.name.com
Định cấu hình proxy chuyển tiếp cho các yêu cầu từ phần Gửi yêu cầu trên giao diện người dùng của công cụ Theo dõi
Phần này giải thích cách định cấu hình proxy chuyển tiếp cho các yêu cầu từ phần Gửi yêu cầu trong giao diện người dùng Theo dõi bằng thông tin xác thực proxy không bắt buộc. Để định cấu hình proxy chuyển tiếp:
- Chỉnh sửa
/opt/apigee/customer/application/ui.properties
và đảm bảo tệp này thuộc sở hữu củaapigee:apigee
. - Thêm các cơ chế ghi đè sau (thay đổi giá trị cho cấu hình proxy cụ thể của bạn):
conf_application_http.proxyhost=proxy.example.com conf_application_http.proxyport=8080 conf_application_http.proxyuser=apigee conf_application_http.proxypassword=Apigee123!
- Lưu và khởi động lại giao diện người dùng cổ điển.
Thêm định dạng nhật ký tuỳ chỉnh trong Apigee Router/Nginx
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 Apigee Router/Nginx hoặc thêm các biến. Cách cập nhật cấu hình mặc định của định dạng nhật ký Apigee Router/Nginx:
- Tạo tệp
router.properties
(nếu chưa có) bằng đường dẫn như sau:/opt/apigee/customer/application/router.properties
- Thêm nội dung sau vào tệp
router.properties
để tạo cấu hìnhlog_format
mới có tênrouter_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 Hãy cập nhật các biến trong các lệnh trên nếu phù hợp. Bạn có thể tìm thấy các giá trị cấu hình mặc định cho
log_format
trong tệp dưới đây:/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_format
mới (router_new
) đã được thêm vào tệp/opt/nginx/conf.d/0-default.conf
hay 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