אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
ב-Apigee, נתבי ה-Router מוגדרים כך שיוצגו בקובצי יומן השגיאות רק הודעות השגיאה, כברירת מחדל. עם זאת, יכולים להיות הרבה מצבים שבהם תצטרכו לאסוף מידע נוסף כדי להבין למה קרתה שגיאה מסוימת. אחת הדרכים לעשות זאת היא להגדיר את הנתב לפעול במצב ניפוי באגים, כדי לקבל יומני ניפוי באגים שיעזרו לכם לקבל מידע נוסף על השגיאה ולפתור אותה מהר יותר.
במסמך הזה מוסבר איך להפעיל יומני ניפוי באגים בנתב של Apigee Edge לבקשות במארח וירטואלי ספציפי. אפשר להפעיל רישום ביומן לצורך איתור באגים כדי לתעד מידע נוסף אם יש בעיות כמו בקשה לא תקינה, 400 בקשה שגויה – שגיאה באישור SSL, בNorthbound (בין אפליקציית הלקוח לנתב).
לפני שמתחילים
- אם אתם לא מכירים את יומני השגיאות של NGINX ואת רמות הרישום ביומן, כדאי לעיין במסמכי התיעוד של יומן השגיאות של NGINX.
- אוספים את שמות הארגון, הסביבה והמארח הווירטואלי של בקשות ה-API שעבורן צריך לאסוף מידע לניפוי באגים.
הפעלת יומני ניפוי באגים של NGINX בנתבים
בקטע הזה מוסבר איך להפעיל יומני ניפוי באגים בנתבי Edge.
זיהוי קובץ התצורה הרלוונטי של המארח הווירטואלי
בשלבים הבאים מוסבר איך לאתר את קובץ ההגדרה הרלוונטי של המארח הווירטואלי בנתב:
- אם אתם יודעים את שם הארגון, שם הסביבה והמארח הווירטואלי של בקשת API ספציפית שאתם רוצים לנפות בה באגים, תוכלו לקבוע את קובץ ההגדרות של המארח הווירטואלי באופן הבא:
- עוברים לספרייה
/opt/nginx/conf.d/. - כדי לחפש את הקובץ ORG_NAME_ENV_NAME_VIRTUALHOST
.confבתיקייהconf.d, משתמשים בפקודה הבאה:ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
- עוברים לספרייה
-
אם אתם לא יודעים את שם הארגון, אתם יכולים לזהות את קובץ ההגדרות של המארח הווירטואלי באמצעות שם הכינוי של המארח שמשמש בבקשת ה-API, באופן הבא:
עוברים לספרייה
/opt/nginx/conf.d/ומחפשים אתhostaliasשבאמצעותו נשלחה הבקשה באמצעות הפקודה הבאה:ls -ltrh | grep -r 'HOST_ALIAS_NAME'
פלט לדוגמה:
נניח ששם הכינוי של המארח הוא
opdk.cert-test.com. כשמריצים את הפקודהls -ltrh, הפלט שמתקבל נראה כך:
הפעלת רישום נתונים של ניפוי באגים עבור מארח וירטואלי ספציפי בנתב
בשלבים הבאים מוסבר איך להפעיל יומני ניפוי באגים בנתבי Apigee עבור מארח וירטואלי ספציפי.
- פותחים את הקובץ הבא במחשב של הנתב בכלי לעריכה:
/opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf. לדוגמה:vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
- משנים את השורה הבאה:
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
עד
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
- שומרים את השינויים.
- מריצים את הפקודה לטעינה מחדש של NGINX. לדוגמה:
sudo /opt/nginx/scripts/apigee-nginx reload
- הקובץ הבא יתעד עכשיו יומני ניפוי באגים:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- אם רוצים לתעד יומני ניפוי באגים ביותר מנתב אחד, צריך לחזור על השלבים האלה בכל אחד מהנתבים.
אימות פרטי הניפוי באגים מתועד בקובץ היומן של שגיאות NGINX
-
אחרי שהלקוחות שולחים בקשות API בשם המארח ובפורט שמשויכים להגדרות של המארח הווירטואלי, יומני ניפוי הבאגים נשמרים בקובץ הבא:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log -
מוודאים שמוצגים לכם פרטי ניפוי באגים של בקשות ה-API, כמו בדוגמה הבאה:
מידע לדוגמה על תוצאות ניפוי הבאגים:
2021/01/27 02:48:40 [warn] 27624#27624: *3777 a client request body is buffered to a temporary file /opt/apigee/var/log/edge-router/nginx/client_temp/0000000001, client: XX.XX.XX.XX, server: XX.XX.XX.XX, request: "POST /post-no-target HTTP/1.1", host: "XX.XX.XX.XX:443"
המידע שמופיע למעלה יתועד כשהלקוח ישלח בקשת
POSTעם מטען גדול. היומן הזה יוצג רק אם הפעלתם את רישום הבאגים. - אם לא מופיע מידע נוסף לניפוי באגים, צריך לוודא שביצעתם את כל השלבים שמפורטים במאמר הפעלת רישום של ניפוי באגים עבור מארח וירטואלי ספציפי בנתב בצורה נכונה. אם פספסתם שלב כלשהו, צריך לחזור על כל השלבים בצורה נכונה.
- אם עדיין אין לך אפשרות לקבל את פרטי הניפוי, אפשר ליצור קשר עם התמיכה של Apigee Edge.
השבתת יומני ניפוי באגים עבור מארח וירטואלי ספציפי בנתב
בקטע הזה מוסבר איך להשבית את יומני ניפוי הבאגים בנתב עבור מארח וירטואלי ספציפי.
- פותחים את הקובץ הבא במחשב של הנתב בכלי לעריכה:
/opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.confלדוגמה:vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
-
משנים את השורה הבאה:
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
עד
error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
- שומרים את השינויים.
- מריצים את הפקודה לטעינה מחדש של NGINX. לדוגמה:
/opt/nginx/scripts/apigee-nginx reload
- מעכשיו, בקובץ הבא יתועדו רק יומני שגיאות:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- אם רוצים להפסיק את יומני הניפוי באגים ביותר מנתב אחד, צריך לחזור על השלבים האלה בכל אחד מהנתבים.
אימות רק של פרטי שגיאה שנרשמים בקובץ היומן של NGINX
- מבצעים כמה בקשות API בכינוי המארח ובפורט שמשויכים להגדרה הספציפית של המארח הווירטואלי, או מחכים שהלקוחות יבצעו את הבקשות.
- בודקים את הקובץ הבא:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log - מוודאים שמוצג רק מידע השגיאה ושהמידע לניפוי באגים לא נרשם יותר ביומן עבור הבקשות.
- אם עדיין רואים שמתבצע רישום של מידע נוסף לניפוי באגים, צריך לוודא שפעלתם לפי כל השלבים שמפורטים במאמר השבתת יומני ניפוי באגים עבור מארח וירטואלי ספציפי בנתב. אם פספסתם שלב כלשהו, צריך לחזור על כל השלבים בצורה נכונה.
- אם עדיין אין לך אפשרות לקבל את פרטי הניפוי, אפשר ליצור קשר עם התמיכה של Apigee Edge.