כדי להגדיר את Edge אחרי ההתקנה, צריך להשתמש בשילוב של קובצי .properties
וכלי שירות של Edge. לדוגמה, כדי להגדיר TLS/SSL בממשק המשתמש של Edge, עורכים קובצי .properties
כדי להגדיר את המאפיינים הנדרשים. כדי לבצע שינויים
בקובצי .properties
צריך להפעיל מחדש את רכיב Edge המושפע.
ב-Apigee השיטה של עריכת קובצי .properties
היא קוד עם config (שמופיע לפעמים בקיצור CwC). בגדול, קוד עם config הוא כלי לחיפוש מפתחות/ערך על סמך הגדרות בקובצי .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 |
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/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 |
שומרי גן חיות | apigee-zookeeper |
/opt/apigee/customer/application/zookeeper.properties |
אם רוצים להגדיר נכס באחד מקובצי התצורה של הרכיבים האלה אבל הוא אינו קיים, אפשר ליצור אותו במיקום שצוין למעלה.
בנוסף, צריך לוודא שקובץ המאפיינים נמצא בבעלות משתמש ה-API:
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
ואתם רוצים לדעת מה ערך האסימון ששימש להגדרה שלו,
אז 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 להעברה לבקשות מהקטע 'שליחת בקשות' בממשק המשתמש של המעקב
בקטע הזה מוסבר איך להגדיר שרת proxy להעברה לבקשות מהקטע 'שליחת בקשות' בממשק המשתמש של המעקב, עם פרטי כניסה אופציונליים של שרת 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/פורמט יומן 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