איך להגדיר את Edge

כדי להגדיר את Edge אחרי ההתקנה, משתמשים בשילוב של קובצי .properties וכלי עזר של Edge. לדוגמה, כדי להגדיר TLS/SSL בממשק המשתמש של Edge, עורכים קובצי .properties כדי להגדיר את המאפיינים הנדרשים. כדי שהשינויים בקובצי .properties ייכנסו לתוקף, צריך להפעיל מחדש את רכיב Edge הרלוונטי.

ב-Apigee, הטכניקה של עריכת קובצי .properties נקראת code with config (לפעמים בקיצור CwC). בעצם, קוד עם הגדרה הוא כלי לחיפוש מפתח/ערך שמבוסס על הגדרות בקובצי .properties. בקוד עם הגדרה, המפתחות נקראים טוקנים. לכן, כדי להגדיר את Edge, צריך להגדיר טוקנים בקובצי .properties.

קוד עם הגדרות מאפשר לרכיבי Edge להגדיר ערכי ברירת מחדל שמגיעים עם המוצר, מאפשר לצוות ההתקנה לשנות את ההגדרות האלה על סמך טופולוגיית ההתקנה, ואז מאפשר ללקוחות לשנות את המאפיינים שהם בוחרים.

אם חושבים על זה כהיררכיה, ההגדרות מסודרות באופן הבא, כאשר להגדרות של הלקוח יש את העדיפות הגבוהה ביותר לביטול הגדרות מצוות ההתקנה או מ-Apigee:

  1. לקוח
  2. מתקין
  3. רכיב

קביעת הערך הנוכחי של טוקן

לפני שמגדירים ערך חדש לאסימון בקובץ .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 /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 הוא המזהה של הרכיב. הערכים האפשריים כוללים:

  • 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 (ממשק משתמש קלאסי)

הגדרת ערך של טוקן

אפשר לשנות רק את הקבצים .properties בספרייה /opt/apigee/customer/application. לכל רכיב יש קובץ .properties משלו בספרייה הזו. לדוגמה, router.properties ו-management-server.properties. רשימה מלאה של קובצי מאפיינים זמינה במאמר מיקום של קובצי ‎ .properties.

כדי ליצור קובץ .properties:

  1. יוצרים קובץ טקסט חדש בכלי לעריכה. שם הקובץ צריך להיות זהה לשם שמופיע בטבלה שלמעלה עבור קובצי לקוחות.
  2. משנים את הבעלים של הקובץ ל-apigee:apigee, כמו בדוגמה הבאה:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    אם שיניתם את המשתמש שמריץ את שירות Edge מהמשתמש 'apigee', השתמשו בפקודה chown כדי לשנות את הבעלות למשתמש שמריץ את שירות Edge.

כשמשדרגים את Edge, הקבצים .properties בספרייה /opt/apigee/customer/application נקראים. כלומר, השדרוג ישמור את כל המאפיינים שהגדרתם ברכיב.

כדי להגדיר את הערך של טוקן:

  1. עורכים את קובץ .properties של הרכיב.
  2. מוסיפים או משנים את הערך של האסימון. בדוגמה הבאה מוגדר הערך של המאפיין 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/*

    כדי להוסיף ערך חדש לרשימה כזו, בדרך כלל מוסיפים את הערך החדש בסוף הרשימה.

  3. מפעילים מחדש את הרכיב:
    /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
  4. (אופציונלי) כדי לוודא שערך הטוקן מוגדר לערך החדש, משתמשים באפשרות 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 קדימה:

  1. עורכים את /opt/apigee/customer/application/ui.properties ומוודאים שהקובץ בבעלות apigee:apigee.
  2. מוסיפים את ההגדרות הבאות לביטול ברירת המחדל (משנים את הערכים בהתאם להגדרת ה-proxy הספציפית שלכם):
    conf_application_http.proxyhost=proxy.example.com
    conf_application_http.proxyport=8080
    conf_application_http.proxyuser=apigee
    conf_application_http.proxypassword=Apigee123!
  3. שומרים ומפעילים מחדש את ממשק המשתמש הקלאסי.

הפעלה או השבתה של חלוקה לעמודים והגדרת גודל אצווה לדף של רשימת שרתי proxy של API

בקטע הזה מוסבר איך להפעיל או להשבית ממשקי API עם חלוקה לדפים ברשימת שרתי proxy ל-API, ואיך להגדיר את גודל האצווה של ממשקי API עם חלוקה לדפים. הוספנו שני שינויים חדשים שניתנים להגדרה כדי להפעיל או להשבית את חלוקת התוצאות לדפים, וכדי להגדיר את גודל האצווה של ממשקי ה-API עם חלוקת התוצאות לדפים.

  1. יוצרים או עורכים את /opt/apigee/customer/application/ui.properties ומוודאים שהקובץ בבעלות apigee:apigee.
  2. מוסיפים את ההחלפה הבאה כדי להפעיל או להשבית את המספור של הדפים ברשימת ה-API proxies.
    conf_apigee-base_apigee.feature.apiproxypaginationenabled={true or false}
  3. מוסיפים את ההחלפה הבאה כדי להגדיר את גודל האצווה של ה-API עם העמודים לרשימת השרתים הפרוקסי(אופציונלי).
    conf_apigee-base_apigee.pagination.apiproxypaginationbatchsize={batch_override_value}
  4. שמירה והפעלה מחדש של ממשק המשתמש הקלאסי.

הפעלה או השבתה של פרוטוקול http/2 בממשק המשתמש החדש של Edge

בקטע הזה מוסבר איך להפעיל או להשבית את פרוטוקול http/2.

  1. יוצרים או עורכים את /opt/apigee/customer/application/management-ui.properties ומוודאים שהקובץ בבעלות apigee:apigee.
  2. מוסיפים את ההחלפה הבאה כדי להפעיל או להשבית את פרוטוקול http/2.
    conf_uebe_disable_http2={true or false}
  3. שומרים ומפעילים מחדש את ממשק המשתמש החדש של Edge.

הוספה של פורמט יומן מותאם אישית ב-Apigee Router/Nginx

במקרים מסוימים, יכול להיות שתצטרכו לשנות את פורמט היומן של Apigee Router/Nginx שמוגדר כברירת מחדל או להוסיף משתנים. כדי לעדכן את הגדרות ברירת המחדל של פורמט היומן של Apigee Router/Nginx:

  1. יוצרים קובץ router.properties, אם הוא לא קיים, עם הנתיב שמוצג למטה:
    /opt/apigee/customer/application/router.properties
  2. מוסיפים את התוכן הבא לקובץ 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.

  3. מפעילים מחדש את הנתב כדי להחיל את ההגדרה החדשה:
    apigee-service edge-router restart
  4. בודקים אם ההגדרה החדשה log_format (router_new) נוספה לקובץ /opt/nginx/conf.d/0-default.conf:
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. שולחים כמה בקשות API ל-API proxy ומאמתים את פורמט היומן החדש בקובץ
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file