כדי להגדיר את Edge אחרי ההתקנה, משתמשים בשילוב של קובצי .properties וכלי שירות של Edge. לדוגמה, כדי להגדיר TLS/SSL בממשק המשתמש של New Edge, עורכים קובצי .properties כדי להגדיר את המאפיינים הנדרשים. אם משנים קובצי .properties, צריך להפעיל מחדש את רכיב Edge שהושפע.
ב-Apigee, הטכניקה של עריכת קובצי .properties נקראת קוד עם הגדרות (לפעמים בקיצור CwC). בעיקרון, קוד עם הגדרות אישיות הוא כלי חיפוש של מפתח/ערך שמבוסס על הגדרות בקובצי .properties. בקוד עם הגדרות, המפתחות נקראים טוקנים. לכן, כדי להגדיר את Edge, צריך להגדיר טוקנים בקובצי .properties.
קוד עם הגדרות מאפשר לרכיבי 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 |
| מעבד בקשות | edge-message-processor |
/opt/apigee/customer/application/message-processor.properties |
apigee-monit |
apigee-monit |
/opt/apigee/customer/application/monit.properties |
| ממשק משתמש חדש של Edge | 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 Server | 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 |
| מטפל בגן חיות | 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(ממשק משתמש חדש של Edge) -
edge-message-processor(מעבד בקשות) edge-postgres-server(שרת Postgres)-
edge-qpid-server(Qpid Server) 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 במעבד הבקשות, קודם 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+ לשם המאפיין. זהו המיקום והשם של קובץ התצורה שמכיל את המאפיין, ואחריו "+".
אחרי שמפעילים מחדש את מעבד ההודעות, בודקים את הקובץ /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 בממשק המשתמש החדש של Edge
בקטע הזה מוסבר איך להפעיל או להשבית את פרוטוקול HTTP/2 בממשק המשתמש החדש של Edge (edge-management-ui).
- יוצרים או עורכים את
/opt/apigee/customer/application/management-ui.propertiesומוודאים שהקובץ בבעלות שלapigee:apigee. - כדי להפעיל או להשבית את פרוטוקול HTTP/2, מוסיפים את ההחרגה הבאה:
conf_uebe_disable_http2={true or false} - שומרים ומפעילים מחדש את ממשק המשתמש החדש של Edge (
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_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 מעדכנים את המשתנים בפקודות שלמעלה לפי הצורך. אפשר למצוא את ערכי ברירת המחדל של התצורה של
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 ל-proxy ל-API ואימות פורמט היומן החדש בקובץ
/opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file