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

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

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

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

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

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

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

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

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

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

  1. אם אתם יודעים את שם הארגון, שם הסביבה והמארח הווירטואלי של ה-API הספציפי שרוצים לנפות בה באגים, קובעים את קובץ ה-conf של המארח הווירטואלי באופן הבא:
    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.