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

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

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

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

  • 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 בהודעה מעבד מידע, קודם 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 להעברה:

  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. שמירה והפעלה מחדש של ממשק המשתמש הקלאסי.

הוספת פורמט מותאם אישית של יומן ב-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 לשרת proxy ל-API ומאמתים את פורמט היומן החדש בקובץ
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file