כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
תיאור הבעיה
נתב Edge מוטמע באמצעות NGINX. במהלך השדרוג ל-Edge, או כשמשנים את הגדרת הנתב, עשויות להופיע שגיאות בהגדרה של NGINX. כשמתרחשות השגיאות האלה, Edge מסמן את כל קובצי התצורה של NGINX שגרמו לבעיה ל-/opt/nginx/conf.d
:
-rw-r--r-- 1 apigee apigee 522 Jul 20 08:41 0-default.conf.bad -rw-r--r-- 1 apigee apigee 577 Jul 20 08:42 0-fallback.conf -rw-r--r-- 1 apigee apigee 1062 Jul 20 08:18 0-map.conf -rw-r--r-- 1 apigee apigee 1887 Jul 20 08:42 custorg_test_default.conf.bad
הודעות שגיאה
לא יוצגו הודעות שגיאה. עם זאת, יכול להיות שלא תוכלו להפעיל את שרתי ה-proxy של ה-API בגלל קובצי התצורה הבעייתיים.
סיבות אפשריות
בדרך כלל קובצי התצורה של NGINX מסומנים כלא תקינים כי ערכים שגויים מוגדרים
לנכסי NGINX בקובץ /opt/apigee/customer/application/router.properties
או שינויים שגויים במארח וירטואלי.
אבחון
- צריך להסיר את הסיומת .bad משמות הקבצים
בספרייה
/opt/nginx/conf.d
כדי שהם יסתיימו בסיומת .conf.
- מריצים את הכלי לבדיקת ההגדרות של NGINX כדי לאתר את הסיבה לכשל:
/opt/nginx/scripts/apigee-nginx configtest
רזולוציה
- אם בדיקת התצורה מזהה את הסיבה לקובצי התצורה הבעייתיים, תיקון הבעיה על ידי ביצוע השינויים המתאימים במאפיין הספציפי בקובץ
/opt/apigee/customer/application/router.properties
או במארח הווירטואלי.
- מסירים את הספרייה
/opt/nginx/conf.d
:rm -rf /opt/nginx/conf.d
- מפעילים מחדש את הנתב:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- כבר לא אמורים להופיע קובצי תצורה פגומים בספרייה
/opt/nginx/conf.d
.
אם הבעיה נמשכת, יש לפנות לתמיכה של Apigee Edge.
הדוגמה הבאה ממחישה איך לתקן את הבעיה לפי המידע שמתקבל מבדיקת ההגדרות של NGINX.
דוגמה 1: הוגדר ערך שגוי לנכס NGINX
- נניח שעדכנתם את המאפיין proxy_busy_buffers_size
ל-128K בקובץ
/opt/apigee/customer/application/router.properties
, כפי שמוצג בהמשך:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k
בעקבות זאת קובצי התצורה סומנו כלא תקינים בספרייה /opt/apigee/nginx/conf.d
.
- מריצים את פקודת NGINX configtest כדי לקבוע את הסיבה לכשל:
/opt/nginx/scripts/apigee-nginx configtest nginx: [emerg] "proxy_busy_buffers_size" must be equal to or greater than the maximum of the value of "proxy_buffer_size" and one of the "proxy_buffers" in /opt/nginx/conf/nginx.conf:47 nginx: configuration file /opt/nginx/conf/nginx.conf test failed
התוצאות של בדיקת config מראות שהערך של המאפיין proxy_busy_buffers_size צריך להיות שווה לערך proxy_busy_buffers_size או גדול ממנו, אך נראה שהוא מוגדר עם ערך שגוי.
- בודקים את הערכים שהוגדרו למאפיינים
proxy_buffer_size ו-proxy_ bundle_buffers_size
בקובץ
0-default.conf
:proxy_buffer_size 512k; proxy_busy_buffers_size 128k;
- עדכן את הערך של proxy_AVAILABLE_buffers_size ל-512K
בקובץ
/opt/apigee/customer/application/router.properties
:conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
- מסירים את התיקייה
/opt/nginx/conf.d
:rm -rf /opt/nginx/conf.d
- מפעילים מחדש את הנתב:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
הבעיה תוקנה וקובצי התצורה הבעייתיים הוסרו.
דוגמה 2: התהליך לא מצליח לשדרג את NGINX (רק ב-Cloud 18.01 פרטי)
נניח שהפעלתם את הפקודה configtest
ומקבלים את התגובות הבאות:
/apigee-nginx configtest nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok nginx: [emerg] zero size shared memory zone "perclient" nginx: configuration file /opt/nginx/conf/nginx.conf test failed
הכשל הזה מצביע על כך שהתהליך של שדרוג NGINX נכשל מ- 1.10.x ל- 1.12.x. יש באג ידוע שקשור לשדרוג הענן הפרטי של Edge לגרסה 18.01.
כדי לאבחן את הבעיה כראוי (רק אם משתמשים ב-Private Cloud 18.01), יש לבצע את הפעולות הבאות:
rpm -aq | grep apigee-nginx
פקודה זו אמורה להחזיר את ה-RPM המותקן כגרסה 1.12.x. אם היא לא מופיעה, צריך לבצע את השלבים הבאים:
- עוצרים את הרכיב של נתב הקצה.
- גיבוי הרכיב של נתב הקצה.
- מריצים את הפקודה הבאה כדי לשדרג ל-apigee-nginx 1.2.x:
- מחיקת כל
*.bad
הקבצים של הדומיין/opt/apigee/nginx/conf.d.
- מפעילים מחדש את הרכיב של נתב הקצה.
sudo yum update apigee-nginx