הפעלת יומני ניפוי באגים של NGINX בנתבים

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

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

במסמך הזה מוסבר איך מפעילים יומני ניפוי באגים בנתב של Apigee Edge עבור בקשות במארח וירטואלי ספציפי. ניתן להפעיל רישום של ניפוי באגים ביומן כדי לתעד מידע נוסף כשיש בעיות, כמו בקשה לא תקינה, 400 בקשה לא תקינה – שגיאת אישור SSL, באפליקציה Northbound (בין אפליקציית הלקוח והנתב).

לפני שמתחילים

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

הפעלה של יומני ניפוי באגים של NGINX בנתבים

בקטע הזה נסביר איך מפעילים יומני ניפוי באגים בנתבי Edge.

זיהוי קובץ רלוונטי של הגדרות מארח וירטואלי

השלבים הבאים מתארים כיצד לאתר את קובץ התצורה הרלוונטי של המארח הווירטואלי בנתב:

  1. אם ידוע לכם שם הארגון, שם הסביבה והמארח הווירטואלי של בקשת ה-API הספציפית שבה רוצים לנפות את הבאגים, צריך לקבוע את קובץ הקונפיגורציה הווירטואלי של המארח הווירטואלי באופן הבא:
    1. עוברים לספרייה /opt/nginx/conf.d/.
    2. מחפשים את הקובץ ORG_NAME_ENV_NAME_VIRTUALHOST.conf בספרייה conf.d באמצעות הפקודה הבאה:
      ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
      
  2. אם שם הארגון לא ידוע לך, אפשר לזהות את קובץ התצורה של המארח הווירטואלי באמצעות שם הכינוי של המארח שנעשה בו שימוש בבקשת ה-API באופן הבא:

    עוברים לספרייה /opt/nginx/conf.d/ ומחפשים את hostalias שבאמצעותו נשלחה הבקשה באמצעות הפקודה הבאה:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'
    

    פלט לדוגמה:

    נניח ששם המארח החלופי הוא opdk.cert-test.com. אחרי שמריצים את הפקודה ls -ltrh, הפלט מוצג באופן הבא:

הפעלת רישום ביומן של ניפוי באגים עבור מארח וירטואלי ספציפי בנתב

בשלבים הבאים מוסבר איך מפעילים יומני ניפוי באגים בנתבי Apigee עבור מארח וירטואלי ספציפי.

  1. פותחים את הקובץ הבא במחשב הנתב בכלי עריכה: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf. לדוגמה:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. משנים את השורה הבאה:
    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;
    
  3. שומרים את השינויים.
  4. מריצים את פקודת הטעינה מחדש NGINX. לדוגמה:
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. הקובץ הבא יתעד עכשיו יומני ניפוי באגים:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. אם רוצים לתעד יומני ניפוי באגים במספר נתבים, צריך לחזור על השלבים האלה בכל אחד מהנתבים.

אימות המידע על תוצאות ניפוי הבאגים מתועד בקובץ יומן השגיאות של NGINX

  1. אחרי שלקוחות יגישו בקשות API בכינוי המארח וביציאה שמשויכים לתצורת המארח הווירטואלי, יומני ניפוי הבאגים יתועדו בקובץ הבא:

    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log

  2. ודאו שאתם רואים מידע על תוצאות ניפוי הבאגים עבור בקשות ה-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 עם מטען ייעודי (payload) גדול. היומן הזה יוצג רק כשהרישום של ניפוי הבאגים מופעל.

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

השבתה של יומני ניפוי באגים של מארח וירטואלי ספציפי בנתב

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

  1. פותחים את הקובץ הבא במחשב הנתב בכלי עריכה: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf לדוגמה:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. שינוי השורה הבאה:

    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;
    
  3. שומרים את השינויים.
  4. מריצים את פקודת הטעינה מחדש NGINX. לדוגמה:
    /opt/nginx/scripts/apigee-nginx reload
    
  5. הקובץ הבא יתעד עכשיו רק יומני שגיאה:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. אם רוצים להפסיק יומני ניפוי באגים ביותר לנתב אחד, צריך לחזור על השלבים האלה בכל אחד מהנתבים.

האימות של מידע השגיאה בלבד מתועד בקובץ יומן השגיאות של NGINX

  1. צריך לשלוח בקשות מסוימות ל-API בכינוי המארח וביציאה שמשויכים להגדרה הספציפית של המארח הווירטואלי, או להמתין עד שהלקוחות יבצעו את הבקשות.
  2. בודקים את הקובץ הבא: /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  3. יש לוודא שמוצגים רק את פרטי השגיאה, ושלא נרשם יותר מידע על תוצאות ניפוי הבאגים עבור הבקשות.
  4. אם אתם עדיין רואים תיעוד של מידע נוסף על תוצאות ניפוי הבאגים, עליכם לוודא שביצעתם את כל השלבים המפורטים במאמר השבתת יומני ניפוי באגים של מארח וירטואלי ספציפי בנתב. אם החמצת שלב כלשהו, יש לחזור על כל השלבים בצורה נכונה.
  5. אם עדיין לא הצלחתם למצוא את המידע על תוצאות ניפוי הבאגים, פנו אל התמיכה של Apigee Edge.