หากต้องการกำหนดค่า Edge หลังการติดตั้ง คุณต้องใช้ไฟล์ .properties
ร่วมกับยูทิลิตีของ Edge เช่น หากต้องการกำหนดค่า TLS/SSL ใน New Edge UI คุณต้องแก้ไข
.properties เพื่อตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น การเปลี่ยนแปลงไฟล์
.properties กำหนดให้คุณต้องรีสตาร์ทคอมโพเนนต์ Edge ที่ได้รับผลกระทบ
Apigee เรียกเทคนิคการแก้ไขไฟล์ .properties ว่า code with
config (บางครั้งย่อเป็น CwC) โดยพื้นฐานแล้ว code with config เป็นเครื่องมือค้นหาคีย์/ค่า
ตามการตั้งค่าใน .properties ไฟล์ ใน code with config ระบบจะเรียกคีย์ว่า
โทเค็น. ดังนั้น หากต้องการกำหนดค่า Edge คุณต้องตั้งค่าโทเค็นใน .properties
ไฟล์
Code with config ช่วยให้คอมโพเนนต์ Edge ตั้งค่าเริ่มต้นที่มาพร้อมกับผลิตภัณฑ์ได้ ช่วยให้ทีมติดตั้งลบล้างการตั้งค่าเหล่านั้นตามโทโพโลยีการติดตั้ง และช่วยให้ลูกค้าลบล้างพร็อพเพอร์ตี้ที่ต้องการได้
หากมองว่าเป็นการจัดลำดับชั้น การตั้งค่าจะจัดเรียงดังนี้ โดยการตั้งค่าของลูกค้าจะมีลำดับความสำคัญสูงสุดในการลบล้างการตั้งค่าจากทีมติดตั้งหรือ Apigee:
- ลูกค้า
- ผู้ติดตั้ง
- คอมโพเนนต์
กำหนดค่าปัจจุบันของโทเค็น
ก่อนที่จะตั้งค่าใหม่สำหรับโทเค็นในไฟล์ .properties คุณควรกำหนดค่า ปัจจุบัน ของโทเค็นก่อนโดยใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token
โดย component_name คือชื่อคอมโพเนนต์ และ token คือโทเค็น ที่จะตรวจสอบ
คำสั่งนี้จะค้นหาลำดับชั้นของไฟล์ .properties ของคอมโพเนนต์เพื่อ
กำหนดค่าปัจจุบันของโทเค็น
ตัวอย่างต่อไปนี้จะตรวจสอบค่าปัจจุบันของโทเค็น conf_http_HTTPRequest.line.limit
สำหรับเราเตอร์
/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
คุณควรเห็นเอาต์พุตที่มีลักษณะดังนี้
Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties
หากค่าของโทเค็นเริ่มต้นด้วย # แสดงว่าค่าดังกล่าวถูกทำเครื่องหมายเป็นความคิดเห็นไว้ และคุณต้องใช้
ไวยากรณ์พิเศษเพื่อเปลี่ยนค่า ดูข้อมูลเพิ่มเติมได้ที่
ตั้งค่าโทเค็นที่ทำเครื่องหมายเป็นความคิดเห็นไว้ในปัจจุบัน
หากไม่ทราบชื่อทั้งหมดของโทเค็น ให้ใช้เครื่องมือ เช่น grep เพื่อค้นหา
ตามชื่อพร็อพเพอร์ตี้หรือคีย์เวิร์ด ดูข้อมูลเพิ่มเติมได้ที่ค้นหา
โทเค็น
ไฟล์พร็อพเพอร์ตี้
มีไฟล์การกำหนดค่าคอมโพเนนต์ที่แก้ไขได้และแก้ไขไม่ได้ ส่วนนี้จะอธิบายไฟล์เหล่านี้
ไฟล์การกำหนดค่าคอมโพเนนต์ที่แก้ไขได้
ตารางต่อไปนี้แสดงรายการคอมโพเนนต์ Apigee และไฟล์พร็อพเพอร์ตี้ที่คุณ แก้ไขเพื่อกำหนดค่าคอมโพเนนต์เหล่านั้นได้
| คอมโพเนนต์ | ชื่อคอมโพเนนต์ | ไฟล์การกำหนดค่าที่แก้ไขได้ |
|---|---|---|
| Cassandra | apigee-cassandra |
/opt/apigee/customer/application/cassandra.properties |
| เซิร์ฟเวอร์การจัดการ | edge-management-server |
/opt/apigee/customer/application/management-server.properties |
| Message Processor | edge-message-processor |
/opt/apigee/customer/application/message-processor.properties |
apigee-monit |
apigee-monit |
/opt/apigee/customer/application/monit.properties |
| New Edge UI | edge-management-ui |
/opt/apigee/customer/application/management-ui.properties |
| OpenLDAP | apigee-openldap |
/opt/apigee/customer/application/openldap.properties |
| เซิร์ฟเวอร์ Postgres | edge-postgres-server |
/opt/apigee/customer/application/postgres-server.properties |
| ฐานข้อมูล PostgreSQL | apigee-postgresql |
/opt/apigee/customer/application/postgresql.properties |
| เซิร์ฟเวอร์ Qpid | edge-qpid-server |
/opt/apigee/customer/application/qpid-server.properties |
| Qpidd | apigee-qpidd |
/opt/apigee/customer/application/qpidd.properties |
| เราเตอร์ | edge-router |
/opt/apigee/customer/application/router.properties |
| Zookeeper | apigee-zookeeper |
/opt/apigee/customer/application/zookeeper.properties |
หากต้องการตั้งค่าพร็อพเพอร์ตี้ในไฟล์การกำหนดค่าคอมโพเนนต์เหล่านี้ แต่พร็อพเพอร์ตี้ไม่มีอยู่ คุณสามารถสร้างพร็อพเพอร์ตี้ในตำแหน่งที่ระบุไว้ข้างต้น
นอกจากนี้ คุณต้องตรวจสอบว่าไฟล์พร็อพเพอร์ตี้เป็นของผู้ใช้ "apigee"
chown apigee:apigee /opt/apigee/customer/application/configuration_file.properties
ไฟล์การกำหนดค่าคอมโพเนนต์ที่แก้ไขไม่ได้
นอกจากไฟล์การกำหนดค่าคอมโพเนนต์ที่แก้ไขได้แล้ว ยังมีไฟล์การกำหนดค่า ที่คุณแก้ไขไม่ได้ด้วย
ไฟล์ข้อมูล (แก้ไขไม่ได้) ได้แก่ไฟล์ต่อไปนี้
| เจ้าของ | ชื่อไฟล์หรือไดเรกทอรี |
|---|---|
| การติดตั้ง | /opt/apigee/token |
| คอมโพเนนต์ | /opt/apigee/component_name/conf โดย component_name จะระบุคอมโพเนนต์ ค่าที่เป็นไปได้ ได้แก่
|
ตั้งค่าโทเค็น
คุณแก้ไขได้เฉพาะไฟล์ .properties ใน
/opt/apigee/customer/application ไดเรกทอรี คอมโพเนนต์แต่ละรายการมีไฟล์
.properties ของตัวเองในไดเรกทอรีนั้น เช่น router.properties
และ management-server.properties หากต้องการดูรายการไฟล์พร็อพเพอร์ตี้ทั้งหมด โปรดดู ตำแหน่งของไฟล์ .properties
วิธีสร้างไฟล์ .properties
- สร้างไฟล์ข้อความใหม่ในโปรแกรมแก้ไข ชื่อไฟล์ต้องตรงกับรายการที่แสดงใน ตารางด้านบนสำหรับไฟล์ลูกค้า
- เปลี่ยนเจ้าของไฟล์เป็น "apigee:apigee" ดังที่แสดงในตัวอย่างต่อไปนี้
chown apigee:apigee /opt/apigee/customer/application/router.properties
หากคุณเปลี่ยนผู้ใช้ที่เรียกใช้บริการ Edge จากผู้ใช้ "apigee" ให้ใช้
chownเพื่อเปลี่ยนความเป็นเจ้าของเป็นผู้ใช้ที่เรียกใช้บริการ Edge
เมื่อคุณอัปเกรด Edge ระบบจะอ่านไฟล์ .properties ใน
/opt/apigee/customer/application ไดเรกทอรี ซึ่งหมายความว่าการอัปเกรดจะ
เก็บพร็อพเพอร์ตี้ที่คุณตั้งค่าไว้ในคอมโพเนนต์
วิธีตั้งค่าโทเค็น
- แก้ไขไฟล์
.propertiesของคอมโพเนนต์ - เพิ่มหรือเปลี่ยนค่าของโทเค็น ตัวอย่างต่อไปนี้จะตั้งค่าพร็อพเพอร์ตี้
conf_http_HTTPRequest.line.limitเป็น "10k":conf_http_HTTPRequest.line.limit=10k
หากโทเค็นมีค่าหลายค่า ให้คั่นแต่ละค่าด้วยเครื่องหมายคอมมา ดังที่แสดงในตัวอย่างต่อไปนี้
conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*
หากต้องการเพิ่มค่าใหม่ลงในรายการเช่นนี้ โดยทั่วไปคุณจะต่อท้ายค่าใหม่ไว้ที่ท้ายรายการ
- รีสตาร์ทคอมโพเนนต์โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service component_name restart
โดย component_name จะเป็นค่าใดค่าหนึ่งต่อไปนี้
apigee-cassandra(Cassandra)apigee-openldap(OpenLDAP)apigee-postgresql(ฐานข้อมูล PostgreSQL)apigee-qpidd(Qpidd)apigee-zookeeper(ZooKeeper)edge-management-server(เซิร์ฟเวอร์การจัดการ)edge-management-ui(UI ของ Edge ใหม่)edge-message-processor(ตัวประมวลผลข้อความ)edge-postgres-server(เซิร์ฟเวอร์ Postgres)edge-qpid-server(เซิร์ฟเวอร์ Qpid)edge-router(Edge Router)
ตัวอย่างเช่น หลังจากแก้ไข
router.propertiesแล้ว ให้รีสตาร์ทเราเตอร์โดยทำดังนี้/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- (ไม่บังคับ) ตรวจสอบว่าค่าโทเค็นตั้งค่าเป็นค่าใหม่โดยใช้ตัวเลือก
configure -searchเช่น/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit
ดูข้อมูลเพิ่มเติมเกี่ยวกับ
configure -searchได้ที่ กำหนดค่าปัจจุบันของโทเค็น
ค้นหาโทเค็น
ในกรณีส่วนใหญ่ ระบบจะระบุโทเค็นที่คุณต้องตั้งค่าไว้ในคู่มือนี้ อย่างไรก็ตาม หากคุณต้องการ
ลบล้างค่าของโทเค็นที่มีอยู่ซึ่งไม่แน่ใจชื่อเต็มหรือตำแหน่ง ให้ใช้
grep เพื่อค้นหาไดเรกทอรี source ของคอมโพเนนต์
ตัวอย่างเช่น หากทราบว่าต้องการตั้งค่า
HTTPRequest.line.limit พร็อพเพอร์ตี้ และต้องการทราบค่าโทเค็นที่ใช้ตั้งค่า
ให้ grep พร็อพเพอร์ตี้ใน /opt/apigee/edge-management-server/source
ไดเรกทอรีดังนี้
grep -ri "HTTPRequest.line.limit" /opt/apigee/edge-management-server/source
คุณควรเห็นผลลัพธ์ในรูปแบบต่อไปนี้
/opt/apigee/component_name/source/conf/http.properties:property_name={T}token_name{/T}ตัวอย่างต่อไปนี้แสดงค่าโทเค็น HTTPRequest.line.limit ของเซิร์ฟเวอร์การจัดการ
/opt/apigee/edge-management-server/source/conf/http.properties:HTTPRequest.line.limit={T}conf_http_HTTPRequest.line.limit{/T}สตริงระหว่างแท็ก {T}{/T} คือชื่อโทเค็นที่คุณตั้งค่าได้
ในไฟล์ .properties ของคอมโพเนนต์
ตั้งค่าโทเค็นที่ทำเครื่องหมายเป็นความคิดเห็นไว้ในปัจจุบัน
โทเค็นบางรายการถูกทำเครื่องหมายเป็นความคิดเห็นไว้ในไฟล์การกำหนดค่า Edge หากคุณพยายามตั้งค่าโทเค็นที่ ทำเครื่องหมายเป็นความคิดเห็นไว้ในไฟล์การกำหนดค่าการติดตั้งหรือคอมโพเนนต์ ระบบจะละเว้นการตั้งค่าของคุณ
หากต้องการตั้งค่าโทเค็นที่ทำเครื่องหมายเป็นความคิดเห็นไว้ในไฟล์การกำหนดค่า Edge ให้ใช้ไวยากรณ์พิเศษ ในรูปแบบต่อไปนี้
conf/filename+propertyName=propertyValue
ตัวอย่างเช่น หากต้องการตั้งค่าพร็อพเพอร์ตี้ชื่อ HTTPClient.proxy.host ใน Message
Processor ให้ grep พร็อพเพอร์ตี้ก่อนเพื่อกำหนดโทเค็น
grep -ri /opt/apigee/edge-message-processor/ -e "HTTPClient.proxy.host"
คำสั่ง grep จะแสดงผลลัพธ์ที่มีชื่อโทเค็น โปรดสังเกต
ว่าชื่อพร็อพเพอร์ตี้ถูกทำเครื่องหมายเป็นความคิดเห็นไว้ ดังที่ระบุโดยคำนำหน้า #
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=หากต้องการตั้งค่าพร็อพเพอร์ตี้นี้ ให้แก้ไข
/opt/apigee/customer/application/message-processor.properties แต่ใช้ไวยากรณ์พิเศษ
ดังที่แสดงในตัวอย่างต่อไปนี้
conf/http.properties+HTTPClient.proxy.host=myhost.name.com
ในกรณีนี้ คุณต้องใส่คำนำหน้า conf/http.properties+ ไว้ที่ชื่อพร็อพเพอร์ตี้ ซึ่งเป็นตำแหน่งและชื่อของไฟล์การกำหนดค่าที่มีพร็อพเพอร์ตี้ตามด้วย "+"
หลังจากรีสตาร์ท Message Processor แล้ว ให้ตรวจสอบไฟล์
/opt/apigee/edge-message-processor/conf/http.properties
cat /opt/apigee/edge-message-processor/conf/http.properties
คุณจะเห็นพร็อพเพอร์ตี้ที่ตั้งค่าไว้ที่ส่วนท้ายของไฟล์ในรูปแบบต่อไปนี้
conf/http.properties:HTTPClient.proxy.host=myhost.name.com
เปิดหรือปิดใช้โปรโตคอล HTTP/2 ใน New Edge UI
ส่วนนี้จะอธิบายวิธีเปิดหรือปิดใช้โปรโตคอล HTTP/2 ใน New Edge UI (edge-management-ui)
- สร้างหรือแก้ไข
/opt/apigee/customer/application/management-ui.propertiesและตรวจสอบว่าไฟล์เป็นของapigee:apigee - เพิ่มการลบล้างต่อไปนี้เพื่อเปิดหรือปิดใช้โปรโตคอล HTTP/2
conf_uebe_disable_http2={true or false} - บันทึกและรีสตาร์ท New Edge UI (
edge-management-ui)
เพิ่มรูปแบบบันทึกที่กำหนดเองใน Apigee Router/Nginx
ในบางกรณี คุณอาจต้องเปลี่ยนรูปแบบบันทึกเริ่มต้นของ Apigee Router/Nginx หรือ เพิ่มตัวแปร วิธีอัปเดตการกำหนดค่ารูปแบบบันทึกเริ่มต้นของ Apigee Router/Nginx
- สร้างไฟล์
router.propertiesหากไม่มี โดยใช้เส้นทางที่แสดงด้านล่าง/opt/apigee/customer/application/router.properties
- เพิ่มเนื้อหาต่อไปนี้ลงในไฟล์
router.propertiesเพื่อสร้างการกำหนดค่าlog_formatใหม่ที่มีชื่อว่าrouter_newconf_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 อัปเดตตัวแปรในคำสั่งด้านบนตามความเหมาะสม คุณดูค่าการกำหนดค่าเริ่มต้นสำหรับ
log_formatได้ในไฟล์ด้านล่าง/opt/apigee/edge-router/conf/load_balancing.properties
รายการตัวแปร Nginx จะแสดงที่ http://nginx.org/en/docs/varindex.html
- รีสตาร์ทเราเตอร์เพื่อใช้การกำหนดค่าใหม่โดยทำดังนี้
apigee-service edge-router restart
- ตรวจสอบว่าการกำหนดค่า
log_formatใหม่ (router_new) ได้รับการเพิ่มลงในไฟล์/opt/nginx/conf.d/0-default.confแล้วหรือไม่:cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
- ส่งคำขอ API บางรายการไปยังพร็อกซี API และตรวจสอบรูปแบบบันทึกใหม่ในไฟล์
/opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file