כדי להגדיר את Edge לאחר ההתקנה, צריך להשתמש בשילוב של .properties
קבצים
ו-Edge. לדוגמה, כדי להגדיר TLS/SSL בממשק המשתמש של Edge, צריך לערוך
.properties
כדי להגדיר את המאפיינים הנדרשים. שינויים ב-
כדי להשתמש ב-.properties
קבצים צריך להפעיל מחדש את רכיב Edge שהושפע.
Apigee מתייחסת לשיטה של עריכת קובצי .properties
כקוד עם
config (מופיע בקיצור CwC). למעשה, קוד עם הגדרה הוא חיפוש מפתח/ערך
מבוסס על הגדרות ב-.properties
קבצים. בקוד עם config, המפתחות נקראים
אסימונים. לכן, כדי להגדיר את 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 וקובצי המאפיינים שניתן לבחור כדי להגדיר את הרכיבים האלה:
רכיב | שם הרכיב | קובץ תצורה שניתן לעריכה |
---|---|---|
קסנדרה | apigee-cassandra |
/opt/apigee/customer/application/cassandra.properties |
נתב Edge | edge-router |
/opt/apigee/edge-router/conf/load_balancing.properties |
SSO ב-Apigee | apigee-sso |
/opt/apigee/customer/application/sso.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-ui |
/opt/apigee/customer/application/ui.properties |
ממשק המשתמש של Edge (רק בממשק המשתמש החדש של Edge, לא משפיע על הממשק הקלאסי) | apigee-management-ui |
לא רלוונטי (יש להשתמש בקובץ התצורה של ההתקנה) |
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/postgressql.properties |
שרת Qpid | edge-qpid-server |
/opt/apigee/customer/application/qpid-server.properties |
קפיד | 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 user:
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
(קסנדרה)apigee-openldap
(OpenLDAP)apigee-postgresql
(מסד נתונים של PostgreSQL)apigee-qpidd
(קיפוד)apigee-sso
(כניסה יחידה (SSO))apigee-zookeeper
(ZooKeeper)edge-management-server
(שרת ניהול)edge-management-ui
(ממשק קצה חדש של Edge)edge-message-processor
(מעבד הודעות)edge-postgres-server
(שרת Postgres)edge-qpid-server
(שרת Qpid)edge-router
(נתב קצה)edge-ui
(ממשק משתמש קלאסי)
לדוגמה, אחרי העריכה של
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
של הרכיב.
לדוגמה, אם ידוע לך שבגרסה קודמת של Edge הגדרת את
session.maxAge
property ואתם רוצים לדעת את ערך האסימון שמשמש להגדרתו,
ואז grep
לנכס ב/opt/apigee/edge-ui/source
ספרייה:
grep -ri "session.maxAge" /opt/apigee/edge-ui/source
אמורה להופיע תוצאה בפורמט הבא:
/opt/apigee/component_name/source/conf/application.conf:property_name={T}token_name{/T}
בדוגמה הבאה מוצג הערך של האסימון session.maxAge
של ממשק המשתמש:
/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/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
הגדרת שרת proxy להעברה לבקשות מהקטע 'שליחת בקשות' בממשק המשתמש של Trace
בקטע הזה מוסבר איך להגדיר שרת proxy להעברה עבור בקשות שליחת הקטע 'בקשות' בממשק המשתמש של Trace עם פרטי כניסה אופציונליים לשרת proxy. כדי להגדיר שרת proxy להעברה:
- עורכים את
/opt/apigee/customer/application/ui.properties
ומוודאים שהקובץ בבעלותapigee:apigee
. - מוסיפים את השינויים מברירת המחדל (שינוי ערכים לתצורה הספציפית של שרת ה-proxy):
conf_application_http.proxyhost=proxy.example.com conf_application_http.proxyport=8080 conf_application_http.proxyuser=apigee conf_application_http.proxypassword=Apigee123!
- שמירה והפעלה מחדש של ממשק המשתמש הקלאסי.
הוספת פורמט מותאם אישית של יומן ב-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