502 Bad Gateway – ToBigBody

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

תיאור הבעיה

אפליקציית הלקוח מקבלת קוד סטטוס של HTTP‏ 502 Bad Gateway עם קוד שגיאה protocol.http.TooBigBody כתגובה לקריאות ל-API.

הודעת שגיאה

אפליקציית הלקוח מקבלת את קוד התגובה הבא:

HTTP/1.1 502 Bad Gateway

בנוסף, יכול להיות שתופיע הודעת השגיאה הבאה:

{
   "fault":{
      "faultstring":"Body buffer overflow",
      "detail":{
         "errorcode":"protocol.http.TooBigBody"
      }
   }
}

גורמים אפשריים

השגיאה הזו מתרחשת אם גודל המטען הייעודי (payload) שנשלח על ידי שרת היעד או השרת העורפי אל Apigee Edge כחלק מתגובת HTTP גדול מהמגבלה המותרת ב-Apigee Edge.

אלה הסיבות האפשריות לשגיאה:

סיבה תיאור הוראות לפתרון בעיות שרלוונטיות ל
גודל המטען הייעודי (payload) של התגובה גדול מהמגבלה המותרת גודל המטען הייעודי (payload) שנשלח על ידי שרת היעד או השרת העורפי כחלק מתגובת HTTP ל-Apigee גדול מהמגבלה המותרת ב-Apigee. משתמשים ב-Edge Public Cloud וב-Edge Private Cloud
גודל המטען הייעודי (payload) של התגובה חורג מהמגבלה המותרת אחרי הסרת הדחיסה גודל המטען הייעודי (payload) שנשלח בפורמט דחוס על ידי שרת היעד או השרת העורפי כחלק מתגובת HTTP ל-Apigee גדול מהמגבלה המותרת כש-Apigee מבצע דחיסה. משתמשים ב-Edge Public Cloud וב-Edge Private Cloud

שלבים נפוצים לאבחון

כדי לאבחן את השגיאה הזו, אפשר להשתמש באחד מהכלים או מהטכניקות הבאים:

API Monitoring

כדי לאבחן את השגיאה באמצעות הכלי 'מעקב אחר API':

  1. נכנסים לממשק המשתמש של Apigee Edge בתור משתמש עם תפקיד מתאים.
  2. עוברים לארגון שבו רוצים לבדוק את הבעיה.

  3. עוברים לדף Analyze > API Monitoring > Investigate.
  4. בוחרים את מסגרת הזמן הספציפית שבה נתקלת בשגיאות.
  5. אפשר לבחור במסנן Proxy כדי לצמצם את קוד השגיאה.
  6. משרטטים את קוד התקלה מול הזמן.
  7. בוחרים תא עם קוד השגיאה protocol.http.TooBigBody כמו בדוגמה הבאה:

  8. יוצג מידע על קוד התקלה protocol.http.TooBigBody כמו בדוגמה הבאה:

  9. לוחצים על הצגת יומנים ומרחיבים את השורה של הבקשה שנכשלה.

  10. בחלון Logs (יומנים), רושמים את הפרטים הבאים:
    • קוד סטטוס: 502
    • מקור התקלה: target
    • קוד שגיאה: protocol.http.TooBigBody.
  11. אם הערך של Fault Source הוא target והערך של Fault Code הוא protocol.http.TooBigBody, זה מצביע על כך שגודל מטען הייעודי (payload) של תגובת ה-HTTP מהשרת של היעד או מהקצה העורפי גדול יותר מהמגבלה המותרת ב-Apigee Edge.

מעקב

כדי לאבחן את השגיאה באמצעות הכלי Trace:

  1. מפעילים את trace session ואחת מהאפשרויות הבאות:
    • ממתינים להתרחשות השגיאה 502 Bad Gateway, או
    • אם אתם מצליחים לשחזר את הבעיה, מבצעים את קריאת ה-API ומשחזרים את השגיאה 502 Bad Gateway.
  2. בוחרים אחת מהבקשות שנכשלו ובודקים את המעקב.
  3. עוברים בין השלבים השונים של ה-trace ומאתרים את המקום שבו התרחשה הכשל.
  4. עוברים לשלב Error (שגיאה) מיד אחרי השלב Response received from target server (התקבלה תגובה משרת היעד), כמו שמוצג בהמשך:

    שימו לב לערכי השגיאה מהמעקב:

    • שגיאה: Body buffer overflow
    • error.class: com.apigee.errors.http.server.BadGateway

    השגיאה הזו מציינת ש-Apigee Edge (רכיב Message Processor) מחזיר את השגיאה ברגע שהוא מקבל את התגובה משרת הקצה העורפי, כי גודל המטען הייעודי חורג מהמגבלה המותרת.

  5. השגיאה תופיע בשלב Response Sent to Client (התגובה נשלחה ללקוח), כמו שמוצג בהמשך:

  6. שימו לב לערכי השגיאה מהמעקב. בדוגמה שלמעלה של נתוני מעקב מוצג:
    • שגיאה: 502 Bad Gateway
    • תוכן השגיאה: {"fault":{"faultstring":"Body buffer overflow","detail":{"errorcode":"protocol.http.TooBigBody"}}}
  7. עוברים לשלב Response Received from target server (התקבלה תשובה משרת היעד) כמו שמוצג בהמשך לתרחישים שונים:

    לא דחוס

    תרחיש מספר 1: מטען ייעודי (payload) של תגובה שנשלח בצורה לא דחוסה

    שימו לב לערכי השגיאה מהמעקב:

    • התקבלה תגובה משרת היעד: 200 OK
    • Content-Length (מהקטע Response Headers): ‎~11MB

    הקובץ נדחס

    תרחיש מספר 2: מטען ייעודי (payload) של בקשה שנשלח בצורה דחוסה

    שימו לב לערכי השגיאה מהמעקב:

    • התקבלה תגובה משרת היעד: 200 OK
    • Content-Encoding: אם הכותרת הזו מופיעה בקטע Response Headers, צריך לשים לב לערך שלה. לדוגמה, בדוגמה הזו הערך הוא gzip.
  8. שימו לב לגוף ההודעה בקטע תוכן התגובה:

    {"fault":{"faultstring":"Body buffer overflow","detail":{"errorcode":"protocol.http.TooBigBody"}}}
    
  9. עוברים לשלב AX (נתוני Analytics שתועדו) במעקב ולוחצים עליו כדי לראות את הפרטים שקשורים אליו.

  10. גוללים למטה בפרטי השלב לקטע משתנים שנקראו ומזהים את הערכים של target.received.content.length, שמציינים:
    • הגודל בפועל של מטען התגובה כשנשלח בפורמט לא דחוס, וגם
    • גודל המטען הייעודי בתגובה אחרי הפענוח על ידי Apigee, כשהמטען הייעודי נשלח בפורמט דחוס. הוא תמיד יהיה זהה לערך של המגבלה המותרת (10 MB) בתרחיש הזה.

    לא דחוס

    תרחיש מספר 1: מטען ייעודי (payload) של תגובה שנשלח בצורה לא דחוסה

    שימו לב לערך של target.received.content.length:

    כותרות של בקשות ערך
    target.received.content.length כ-11 MB

    הקובץ נדחס

    תרחיש מספר 2: מטען ייעודי (payload) של בקשה שנשלח בצורה דחוסה

    שימו לב לערך של target.received.content.length:

    כותרות הבקשה ערך
    target.received.content.length כ-10 MB
  11. בטבלה הבאה מוסבר למה Apigee מחזיר את השגיאה 502 בשני התרחישים על סמך הערך של target.received.content.length:

    תרחיש הערך של target.received.content.length הסיבה לכשל
    מטען ייעודי (payload) של התגובה בפורמט לא דחוס כ-11 MB הגודל גדול מהמגבלה המותרת של 10 MB
    מטען ייעודי (payload) של תגובה בפורמט דחוס כ-10 MB

    חריגה ממגבלת הגודל לאחר ביטול הדחיסה

NGINX

כדי לאבחן את השגיאה באמצעות יומני הגישה של NGINX:

  1. אם אתם משתמשי Private Cloud, אתם יכולים להשתמש ביומני הגישה של NGINX כדי לקבוע את פרטי המפתח לגבי שגיאות HTTP 502.
  2. בודקים את יומני הגישה של NGINX:

    /opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log

    איפה: הערכים ORG,‏ ENV ו-PORT# מוחלפים בערכים בפועל.

  3. מחפשים 502 שגיאות במהלך פרק זמן מסוים (אם הבעיה התרחשה בעבר) או אם יש בקשות שעדיין נכשלות עם 502.
  4. אם נמצאו שגיאות 502 עם X-Apigee-fault-code שתואם לערך של protocol.http.TooBigBody, צריך לקבוע את הערך של X-Apigee-fault-source.

    דוגמה לשגיאה 502 מיומן הגישה של NGINX:

    בדוגמה שלמעלה מיומן הגישה של NGINX, הערכים של X-Apigee- fault-code ושל X-Apigee-fault-source: הם:

    כותרות תגובה ערך
    X-Apigee-fault-code protocol.http.TooBigBody
    X-Apigee-fault-source target

הסיבה: גודל המטען הייעודי (payload) של התגובה גדול מהמגבלה המותרת

אבחון

  1. כדי לקבוע את קוד השגיאה,את מקור השגיאה ואת גודל מטען הייעודי (payload) של התגובה עבור השגיאה שנצפתה, אפשר להשתמש בכלי 'מעקב אחר קריאות ל-API', בכלי 'מעקב' או ביומני הגישה של NGINX, כמו שמוסבר בשלבים הנפוצים לאבחון בתרחיש מספר 1.
  2. אם הערך של Fault Source הוא target, המשמעות היא שגודל מטען הייעודי (payload) של התגובה שנשלח משרת היעד או השרת העורפי אל Apigee גדול יותר מהמגבלה המותרת ב-Apigee Edge.
  3. מאמתים את גודל מטען הנתונים של התגובה כפי שנקבע בשלב 1.
    • אם גודל המטען הייעודי (payload) גדול מ-10 MB, זו הסיבה לשגיאה.
    • אם גודל המטען הייעודי (payload) הוא בערך 10 MB, שהוא הגודל המקסימלי המותר, יכול להיות שהמטען הייעודי של התגובה מועבר בפורמט דחוס. עוברים אל Cause: Response payload size exceeds allowed limit after decompression.
  4. כדי לוודא שגודל מטען הייעודי (payload) של התגובה אכן גדול מ-10 MB, שהוא המגבלה המותרת, בודקים את התגובה בפועל באמצעות השלבים הבאים:
    1. אם אין לכם גישה לבקשה בפועל שנשלחה לשרת היעד או לשרת העורפי, עברו אל פתרון.
    2. אם יש לכם גישה לבקשה בפועל שנשלחה לשרת היעד או לשרת העורפי, אתם יכולים לבצע את הפעולות הבאות:
      1. אם אתם משתמשים ב-Public Cloud או ב-Private Cloud, אתם יכולים לשלוח בקשה ישירות לשרת הקצה העורפי משרת הקצה העורפי עצמו או מכל מכונה אחרת שממנה מותר לכם לשלוח בקשה לשרת הקצה העורפי.
      2. אם אתם משתמשים ב-Private Cloud, אתם יכולים גם לשלוח את הבקשה לשרת הקצה העורפי מאחד ממעבדי ההודעות.
      3. בודקים את הגודל של ה-payload שמועבר בתשובה על ידי בדיקת הכותרת Content-Length.
      4. אם תגלו שגודל המטען הייעודי (payload) גדול מהמגבלה המותרת ב-Apigee Edge, זו הסיבה לבעיה.

    דוגמה לתגובה מהשרת העורפי:

    curl -v https://BACKENDSERVER-HOSTNAME/testfile
    
    * About to connect() to 10.14.0.10 port 9000 (#0)
    *   Trying 10.14.0.10...
    * Connected to 10.14.0.10 (10.148.0.10) port 9000 (#0)
    > GET /testfile HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: 10.14.0.10:9000
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < Accept-Ranges: bytes
    < Content-Length: 11534336
    < Content-Type: application/octet-stream
    < Last-Modified: Wed, 30 Jun 2021 08:18:02 GMT
    < Date: Wed, 30 Jun 2021 09:22:41 GMT
    <
    ----snipped----
    <Response Body>

    בדוגמה שלמעלה, אפשר לראות ש-Content-Length: 11534336 (which is ~11 MB) הוא הגורם לשגיאה הזו, כי הוא חורג מהמגבלה המותרת ב- Apigee Edge.

רזולוציה

מידע נוסף על האפשרויות לתגובה

הסיבה: גודל המטען הייעודי (payload) של התגובה חורג מהמגבלה המותרת אחרי ביטול הדחיסה

אם מטען הייעודי (payload) של התגובה נשלח בפורמט דחוס וכותרת התגובה Content-Encoding מוגדרת לערך gzip, , מערכת Apigee מבצעת דחיסה חוזרת של מטען הייעודי (payload) של התגובה. במהלך תהליך הפתיחה של הדחיסה, אם מערכת Apigee מזהה שהגודל של המטען הייעודי (payload) גדול יותר מ המגבלה המותרת ב-Apigee Edge, היא מפסיקה את המשך הפתיחה של הדחיסה ומגיבה באופן מיידי עם 502 Bad Gateway וקוד השגיאה protocol.http.TooBigBody.

אבחון

  1. כדי לקבוע את קוד השגיאה, מקור השגיאה וגודל מטען הייעודי (payload) של התגובה עבור השגיאה שנצפתה, אפשר להשתמש ב'מעקב אחר קריאות ל-API', בכלי Trace או ביומני הגישה של NGINX, כמו שמוסבר בשלבים הנפוצים לאבחון בתרחיש מספר 2.
  2. אם הערך של Fault Source הוא target, המשמעות היא שגודל מטען הייעודי (payload) של התגובה שנשלח על ידי אפליקציית היעד או ה-backend אל Apigee גדול מהמגבלה המותרת ב-Apigee Edge, שהיא .
  3. מאמתים את גודל מטען הנתונים של התגובה כפי שנקבע בשלב 1.
    • אם גודל המטען הייעודי (payload) גדול מהמגבלה המותרת של 10MB, זו הסיבה לשגיאה.
    • אם גודל המטען הייעודי (payload) הוא בערך 10MB, יכול להיות שהמטען הייעודי של התגובה מועבר בפורמט דחוס. במקרה כזה, צריך לבדוק את הגודל הלא דחוס של מטען התגובה הדחוס.
  4. אפשר לבדוק אם התשובה מהיעד או מהקצה העורפי נשלחה בפורמט דחוס, ואם הגודל הלא דחוס היה גדול מהמגבלה המותרת, באחת מהשיטות הבאות:

    מעקב

    שימוש בכלי Trace:

    1. אם צילמתם מעקב אחר הבקשה שנכשלה, תוכלו להיעזר בשלבים שמפורטים במאמרים בנושא מעקב ובנושא
      1. קביעת הערך של target.received.content.length
      2. בודקים אם הבקשה מהלקוח הכילה את הכותרת Content-Encoding: gzip
    2. אם הערך של target.received.content.length הוא בסביבות המגבלה המותרת של 10 MB, וכותרת התגובה היא Content-Encoding: gzip, אז זהו הגורם לשגיאה הזו.

    הבקשה בפועל

    שימוש בבקשה בפועל:

    1. אם אין לכם גישה לבקשה בפועל שנשלחה לשרת היעד או לשרת העורפי, עברו אל פתרון.
    2. אם יש לכם גישה לבקשה בפועל שנשלחה לשרת היעד או לשרת העורפי, אתם יכולים לבצע את הפעולות הבאות:
      1. בודקים את גודל המטען הייעודי (payload) שמועבר בתגובה, יחד עם הכותרת Content-Encoding שנשלחת בתגובה.
      2. אם אתם מגלים שכותרת התגובה Content-Encoding מוגדרת לערך gzip והגודל הלא דחוס של מטען הייעודי (payload) גדול יותר מהמגבלה המותרת ב-Apigee Edge, זו הסיבה לשגיאה הזו.

        דוגמה לתגובה שהתקבלה משרת הקצה העורפי:

        curl -v https://BACKENDSERVER-HOSTNAME/testzippedfile.gz
        
        * About to connect() to 10.1.0.10 port 9000 (#0)
        *   Trying 10.1.0.10...
        * Connected to 10.1.0.10 (10.1.0.10) port 9000 (#0)
        > GET /testzippedfile.gz HTTP/1.1
        > User-Agent: curl/7.29.0
        > Host: 10.1.0.10:9000
        > Accept: */*
        >
        < HTTP/1.1 200 OK
        < Accept-Ranges: bytes
        < Content-Encoding: gzip
        < Content-Type: application/x-gzip
        < Last-Modified: Wed, 30 Jun 2021 08:18:02 GMT
        < Testheader: test
        < Date: Wed, 07 Jul 2021 10:14:16 GMT
        < Transfer-Encoding: chunked
        <
        ----snipped----
        <Response Body>

        בדוגמה שלמעלה, הכותרת Content-Encoding: gzip נשלחת והגודל של הקובץ testzippedfile.gz בתגובה קטן מהמגבלה, אבל הגודל של הקובץ הלא דחוס testzippedfile היה בערך 15MB.

    יומנים של מעבד הודעות

    שימוש ביומנים של מעבד בקשות:

    1. אם אתם משתמשים ב-Private Cloud, אתם יכולים להשתמש ביומני מעבד בקשות כדי לקבוע את פרטי המפתח לגבי שגיאות HTTP 502.
    2. בדיקה של היומנים של מעבד ההודעות

      /opt/apigee/var/log/edge-message-processor/logs/system.log

    3. מחפשים כדי לראות אם יש 502 שגיאות במהלך פרק זמן מסוים (אם הבעיה התרחשה בעבר) או אם יש בקשות שעדיין נכשלות עם 502. אפשר להשתמש במחרוזות החיפוש הבאות:

      grep -ri "chunkCount"
      
      grep -ri "BadGateway: Body buffer overflow"
      
    4. תמצאו שורות מ-system.log שדומות לאלה שמוצגות בהמשך (יכול להיות שהערכים TotalRead ו-chunkCount יהיו שונים אצלכם):
      2021-07-07 09:40:47,012  NIOThread@7 ERROR HTTP.SERVICE -
      TrackingInputChannel.checkMessageBodyTooLarge() : Message is too large.
      TotalRead 10489856 chunkCount 2571
      
      2021-07-07 09:40:47,012  NIOThread@7 ERROR HTTP.CLIENT -
      HTTPClient$Context.onInputException() :
      ClientInputChannel(ClientChannel[Connected:
      Remote:10.148.0.10:9000 Local:10.148.0.9:42240]@9155
      useCount=1 bytesRead=0 bytesWritten=182 age=23ms  lastIO=0ms
      isOpen=true).onExceptionRead exception: {}
      com.apigee.errors.http.server.BadGateway: Body buffer overflow
      
      2021-07-07 09:40:47,012  NIOThread@7 ERROR
      ADAPTORS.HTTP.FLOW - AbstractResponseListener.onException() :
      AbstractResponseListener.onError(HTTPResponse@77cbd7c4,
      Body buffer overflow)
    5. במהלך תהליך הפתיחה, ברגע שמעבד ההודעות קובע שסך הבייטים לקריאה הוא > 10 MB, הוא מפסיק ומדפיס את השורה הבאה:

      Message is too large. TotalRead 10489856 chunkCount 2571

      המשמעות היא שגודל מטען הייעודי (payload) של התגובה גדול מ-10 MB, ו-Apigee מציג את השגיאה כשהגודל מתחיל לחרוג מהמגבלה של 10 MB עם קוד השגיאה protocol.http.TooBigBody

רזולוציה

תיקון המידה

אפשרות מספר 1 [מומלצת]: תיקון האפליקציה של שרת היעד כך שלא יישלח גודל מטען חורג מהמגבלה של Apigee

  1. תנתח את הסיבה לכך ששרת היעד הספציפי שולח תגובה או גודל מטען ייעודי (payload) שגדול מהמגבלה המותרת שמוגדרת ב מגבלות.
  2. אם זה לא רצוי, צריך לשנות את אפליקציית שרת היעד כך שתשלח תגובה או מטען ייעודי (payload) בגודל שקטן מהמגבלה המותרת.
  3. אם אתם רוצים לשלוח תגובה או מטען ייעודי (payload) מעבר למגבלה המותרת, אתם יכולים לעבור לאפשרויות הבאות.

תבנית של כתובת URL חתומה

אפשרות מספר 2 [מומלצת]: שימוש בתבנית של כתובות URL חתומות ב-JavaCallout של Apigee

במקרים של מטען ייעודי (payload) גדול מ-10 MB, מומלץ להשתמש בתבנית של כתובות URL חתומות בתוך Apigee JavaCallout. דוגמה לכך מופיעה ב-GitHub במאמר Edge Callout: Signed URL Generator.

סטרימינג

אפשרות 3: שימוש בסטרימינג

אם proxy ל-API צריך לטפל בבקשות או בתגובות גדולות מאוד, אפשר להפעיל סטרימינג ב-Apigee.

CwC

אפשרות 4: שימוש בנכס CwC כדי להגדיל את מגבלת המאגר

מומלץ להשתמש באפשרות הזו רק אם אי אפשר להשתמש באף אחת מהאפשרויות המומלצות, כי יכול להיות שיהיו בעיות בביצועים אם מגדילים את גודל ברירת המחדל.

‫Apigee מספק מאפיין CwC שמאפשר להגדיל את המגבלה של גודל המטען הייעודי (payload) של הבקשה והתגובה. פרטים נוספים מופיעים במאמר בנושא הגדרת הגודל המקסימלי של ההודעות בנתב או במעבד ההודעות.

מגבלות

ב-Apigee מצפים שאפליקציית הלקוח ושרת הקצה העורפי לא ישלחו גדלים של מטען ייעודי (payload) שגדולים מהמגבלה המותרת, כפי שמתואר ב Request/response size ב מגבלות של Apigee Edge.

  1. אם אתם משתמשי Public Cloud, המגבלה המקסימלית לגודל מטען ייעודי (payload) של בקשות ותגובות היא כפי שמפורט לגבי Request/response size ב מגבלות Apigee Edge.
  2. אם אתם משתמשים ב-Private Cloud, יכול להיות ששיניתם את מגבלת ברירת המחדל המקסימלית לגודל מטען הייעודי (payload) של בקשות ותשובות (למרות שזו לא שיטה מומלצת). כדי לדעת מהי המגבלה המקסימלית של גודל מטען ייעודי (payload) של בקשה, אפשר לפעול לפי ההוראות במאמר איך בודקים את המגבלה הנוכחית.

איך בודקים את המגבלה הנוכחית?

בקטע הזה מוסבר איך לוודא שהמאפיין HTTPResponse.body.buffer.limit עודכן עם ערך חדש במעבדי ההודעות.

  1. במחשב של מעבד ההודעות, מחפשים את המאפיין HTTPResponse.body.buffer.limit בספרייה /opt/apigee/edge-message- processor/conf ובודקים איזה ערך הוגדר, כמו שמוצג בהמשך:

    grep -ri "HTTPResponse.body.buffer.limit" /opt/apigee/edge-message-processor/conf
    
  2. התוצאה לדוגמה מהפקודה שלמעלה היא:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPResponse.body.buffer.limit=10m
  3. בדוגמת הפלט שלמעלה, אפשר לראות שהמאפיין HTTPResponse.body.buffer.limit הוגדר עם הערך 10m ב-http.properties.

    המשמעות היא שהמגבלה לגודל מטען הייעודי (payload) של הבקשה שהוגדרה ב-Apigee לענן פרטי היא 10 MB.

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

צריך לאסוף פרטי אבחון

אוספים את נתוני האבחון הבאים ופונים אל התמיכה של Apigee Edge:

אם אתם משתמשי ענן ציבורי, עליכם לספק את הפרטים הבאים:

  • שם הארגון
  • שם הסביבה
  • שם ה-proxy ל-API
  • פקודת curl מלאה שמשמשת לשחזור השגיאה 502
  • קובץ מעקב לבקשות ה-API
  • פלט מלא של התגובה משרת היעד או השרת העורפי, כולל גודל המטען הייעודי (payload)

אם אתם משתמשים ב-Private Cloud, עליכם לספק את הפרטים הבאים:

  • הודעת השגיאה המלאה שזוהתה בבקשות שנכשלו
  • שם הארגון
  • שם הסביבה
  • חבילת proxy ל-API
  • קובץ מעקב של בקשות ה-API שנכשלו
  • פקודת curl מלאה שמשמשת לשחזור השגיאה 502
  • פלט מלא של התגובה משרת היעד או השרת העורפי, כולל גודל המטען הייעודי (payload)
  • יומני גישה של NGINX /opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log

    הסבר: מחליפים את ORG, ‏ ENV ו-PORT# בערכים בפועל.

  • יומני מערכת של מעבד ההודעות /opt/apigee/var/log/edge-message-processor/logs/system.log