כדי להגדיר את Edge אחרי ההתקנה, משתמשים בשילוב של קובצי .properties
וכלי עזר של Edge. לדוגמה, כדי להגדיר TLS/SSL בממשק המשתמש של Edge, עורכים קובצי .properties
כדי להגדיר את המאפיינים הנדרשים. כדי שהשינויים בקובצי .properties
ייכנסו לתוקף, צריך להפעיל מחדש את רכיב Edge הרלוונטי.
ב-Apigee, הטכניקה של עריכת קובצי .properties
נקראת code with config (לפעמים בקיצור 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 |
Apigee SSO | 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 |
לא רלוונטי (השימוש הוא בקובץ התצורה של ההתקנה) |
SymasLDAP | 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
(קסנדרה)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
ב-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
הגדרת שרת proxy להעברה של בקשות מהקטע 'שליחת בקשות' בממשק המשתמש של Trace
בקטע הזה מוסבר איך להגדיר פרוקסי קדימה לבקשות מהקטע Send Requests (שליחת בקשות) בממשק המשתמש של Trace, עם פרטי כניסה אופציונליים לפרוקסי. כדי להגדיר שרת 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 או של 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 ל-API proxy ומאמתים את פורמט היומן החדש בקובץ
/opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file