כדי להגדיר את 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 וקובצי המאפיינים שאפשר לערוך כדי להגדיר את הרכיבים:
רכיב | שם הרכיב | קובץ תצורה שניתן לעריכה |
---|---|---|
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 |
n/a (משתמשים בקובץ התצורה של ההתקנה) |
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
(קסנדרה)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
ב-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 להעברה של בקשות מהקטע Send Requests (שליחת בקשות) בממשק Trace UI
בקטע הזה מוסבר איך להגדיר שרת 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