אתם צופים במסמכי התיעוד של 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':
- נכנסים לממשק המשתמש של Apigee Edge בתור משתמש עם תפקיד מתאים.
עוברים לארגון שבו רוצים לבדוק את הבעיה.
- עוברים לדף Analyze > API Monitoring > Investigate.
- בוחרים את מסגרת הזמן הספציפית שבה נתקלת בשגיאות.
- אפשר לבחור במסנן Proxy כדי לצמצם את קוד השגיאה.
- משרטטים את קוד התקלה מול הזמן.
בוחרים תא עם קוד השגיאה
protocol.http.TooBigBodyכמו בדוגמה הבאה:
יוצג מידע על קוד התקלה
protocol.http.TooBigBodyכמו בדוגמה הבאה:
לוחצים על הצגת יומנים ומרחיבים את השורה של הבקשה שנכשלה.
- בחלון Logs (יומנים), רושמים את הפרטים הבאים:
- קוד סטטוס:
502 - מקור התקלה:
target - קוד שגיאה:
protocol.http.TooBigBody.
- קוד סטטוס:
- אם הערך של Fault Source הוא
targetוהערך של Fault Code הואprotocol.http.TooBigBody, זה מצביע על כך שגודל מטען הייעודי (payload) של תגובת ה-HTTP מהשרת של היעד או מהקצה העורפי גדול יותר מהמגבלה המותרת ב-Apigee Edge.
מעקב
כדי לאבחן את השגיאה באמצעות הכלי Trace:
- מפעילים את trace session ואחת מהאפשרויות הבאות:
- ממתינים להתרחשות השגיאה
502 Bad Gateway, או - אם אתם מצליחים לשחזר את הבעיה, מבצעים את קריאת ה-API ומשחזרים את השגיאה
502 Bad Gateway.
- ממתינים להתרחשות השגיאה
- בוחרים אחת מהבקשות שנכשלו ובודקים את המעקב.
- עוברים בין השלבים השונים של ה-trace ומאתרים את המקום שבו התרחשה הכשל.
עוברים לשלב Error (שגיאה) מיד אחרי השלב Response received from target server (התקבלה תגובה משרת היעד), כמו שמוצג בהמשך:
שימו לב לערכי השגיאה מהמעקב:
- שגיאה:
Body buffer overflow - error.class:
com.apigee.errors.http.server.BadGateway
השגיאה הזו מציינת ש-Apigee Edge (רכיב Message Processor) מחזיר את השגיאה ברגע שהוא מקבל את התגובה משרת הקצה העורפי, כי גודל המטען הייעודי חורג מהמגבלה המותרת.
- שגיאה:
השגיאה תופיע בשלב Response Sent to Client (התגובה נשלחה ללקוח), כמו שמוצג בהמשך:
- שימו לב לערכי השגיאה מהמעקב. בדוגמה שלמעלה של נתוני מעקב מוצג:
- שגיאה:
502 Bad Gateway - תוכן השגיאה:
{"fault":{"faultstring":"Body buffer overflow","detail":{"errorcode":"protocol.http.TooBigBody"}}}
- שגיאה:
עוברים לשלב Response Received from target server (התקבלה תשובה משרת היעד) כמו שמוצג בהמשך לתרחישים שונים:
לא דחוס
תרחיש מספר 1: מטען ייעודי (payload) של תגובה שנשלח בצורה לא דחוסה
שימו לב לערכי השגיאה מהמעקב:
- התקבלה תגובה משרת היעד:
200 OK - Content-Length (מהקטע Response Headers): ~11MB
הקובץ נדחס
תרחיש מספר 2: מטען ייעודי (payload) של בקשה שנשלח בצורה דחוסה
שימו לב לערכי השגיאה מהמעקב:
- התקבלה תגובה משרת היעד:
200 OK - Content-Encoding: אם הכותרת הזו מופיעה בקטע Response Headers, צריך לשים לב לערך שלה. לדוגמה, בדוגמה הזו הערך הוא
gzip.
- התקבלה תגובה משרת היעד:
שימו לב לגוף ההודעה בקטע תוכן התגובה:
{"fault":{"faultstring":"Body buffer overflow","detail":{"errorcode":"protocol.http.TooBigBody"}}}עוברים לשלב AX (נתוני Analytics שתועדו) במעקב ולוחצים עליו כדי לראות את הפרטים שקשורים אליו.
- גוללים למטה בפרטי השלב לקטע משתנים שנקראו ומזהים את הערכים של
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 בטבלה הבאה מוסבר למה Apigee מחזיר את השגיאה
502בשני התרחישים על סמך הערך של target.received.content.length:תרחיש הערך של target.received.content.length הסיבה לכשל מטען ייעודי (payload) של התגובה בפורמט לא דחוס כ-11 MB הגודל גדול מהמגבלה המותרת של 10 MB מטען ייעודי (payload) של תגובה בפורמט דחוס כ-10 MB חריגה ממגבלת הגודל לאחר ביטול הדחיסה
NGINX
כדי לאבחן את השגיאה באמצעות יומני הגישה של NGINX:
- אם אתם משתמשי Private Cloud, אתם יכולים להשתמש ביומני הגישה של NGINX כדי לקבוע את פרטי המפתח לגבי שגיאות HTTP
502. בודקים את יומני הגישה של NGINX:
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log
איפה: הערכים ORG, ENV ו-PORT# מוחלפים בערכים בפועל.
- מחפשים
502שגיאות במהלך פרק זמן מסוים (אם הבעיה התרחשה בעבר) או אם יש בקשות שעדיין נכשלות עם502. - אם נמצאו שגיאות
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.TooBigBodyX-Apigee-fault-source target
הסיבה: גודל המטען הייעודי (payload) של התגובה גדול מהמגבלה המותרת
אבחון
- כדי לקבוע את קוד השגיאה,את מקור השגיאה ואת גודל מטען הייעודי (payload) של התגובה עבור השגיאה שנצפתה, אפשר להשתמש בכלי 'מעקב אחר קריאות ל-API', בכלי 'מעקב' או ביומני הגישה של NGINX, כמו שמוסבר בשלבים הנפוצים לאבחון בתרחיש מספר 1.
- אם הערך של Fault Source הוא
target, המשמעות היא שגודל מטען הייעודי (payload) של התגובה שנשלח משרת היעד או השרת העורפי אל Apigee גדול יותר מהמגבלה המותרת ב-Apigee Edge. - מאמתים את גודל מטען הנתונים של התגובה כפי שנקבע בשלב 1.
- אם גודל המטען הייעודי (payload) גדול מ-10 MB, זו הסיבה לשגיאה.
- אם גודל המטען הייעודי (payload) הוא בערך 10 MB, שהוא הגודל המקסימלי המותר, יכול להיות שהמטען הייעודי של התגובה מועבר בפורמט דחוס. עוברים אל Cause: Response payload size exceeds allowed limit after decompression.
- כדי לוודא שגודל מטען הייעודי (payload) של התגובה אכן גדול מ-10 MB, שהוא המגבלה המותרת, בודקים את התגובה בפועל באמצעות השלבים הבאים:
- אם אין לכם גישה לבקשה בפועל שנשלחה לשרת היעד או לשרת העורפי, עברו אל פתרון.
- אם יש לכם גישה לבקשה בפועל שנשלחה לשרת היעד או לשרת העורפי, אתם יכולים לבצע את הפעולות הבאות:
- אם אתם משתמשים ב-Public Cloud או ב-Private Cloud, אתם יכולים לשלוח בקשה ישירות לשרת הקצה העורפי משרת הקצה העורפי עצמו או מכל מכונה אחרת שממנה מותר לכם לשלוח בקשה לשרת הקצה העורפי.
- אם אתם משתמשים ב-Private Cloud, אתם יכולים גם לשלוח את הבקשה לשרת הקצה העורפי מאחד ממעבדי ההודעות.
- בודקים את הגודל של ה-payload שמועבר בתשובה על ידי בדיקת הכותרת Content-Length.
- אם תגלו שגודל המטען הייעודי (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.
אבחון
- כדי לקבוע את קוד השגיאה, מקור השגיאה וגודל מטען הייעודי (payload) של התגובה עבור השגיאה שנצפתה, אפשר להשתמש ב'מעקב אחר קריאות ל-API', בכלי Trace או ביומני הגישה של NGINX, כמו שמוסבר בשלבים הנפוצים לאבחון בתרחיש מספר 2.
- אם הערך של Fault Source הוא
target, המשמעות היא שגודל מטען הייעודי (payload) של התגובה שנשלח על ידי אפליקציית היעד או ה-backend אל Apigee גדול מהמגבלה המותרת ב-Apigee Edge, שהיא . - מאמתים את גודל מטען הנתונים של התגובה כפי שנקבע בשלב 1.
- אם גודל המטען הייעודי (payload) גדול מהמגבלה המותרת של 10MB, זו הסיבה לשגיאה.
- אם גודל המטען הייעודי (payload) הוא בערך 10MB, יכול להיות שהמטען הייעודי של התגובה מועבר בפורמט דחוס. במקרה כזה, צריך לבדוק את הגודל הלא דחוס של מטען התגובה הדחוס.
- אפשר לבדוק אם התשובה מהיעד או מהקצה העורפי נשלחה בפורמט דחוס, ואם הגודל הלא דחוס היה גדול מהמגבלה המותרת, באחת מהשיטות הבאות:
מעקב
שימוש בכלי Trace:
- אם צילמתם מעקב אחר הבקשה שנכשלה, תוכלו להיעזר בשלבים שמפורטים במאמרים בנושא מעקב ובנושא
- קביעת הערך של target.received.content.length
- בודקים אם הבקשה מהלקוח הכילה את הכותרת Content-Encoding:
gzip
- אם הערך של target.received.content.length הוא בסביבות המגבלה המותרת של 10 MB, וכותרת התגובה היא Content-Encoding:
gzip, אז זהו הגורם לשגיאה הזו.
הבקשה בפועל
שימוש בבקשה בפועל:
- אם אין לכם גישה לבקשה בפועל שנשלחה לשרת היעד או לשרת העורפי, עברו אל פתרון.
- אם יש לכם גישה לבקשה בפועל שנשלחה לשרת היעד או לשרת העורפי, אתם יכולים לבצע את הפעולות הבאות:
- בודקים את גודל המטען הייעודי (payload) שמועבר בתגובה, יחד עם הכותרת
Content-Encodingשנשלחת בתגובה. - אם אתם מגלים שכותרת התגובה
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.
- בודקים את גודל המטען הייעודי (payload) שמועבר בתגובה, יחד עם הכותרת
יומנים של מעבד הודעות
שימוש ביומנים של מעבד בקשות:
- אם אתם משתמשים ב-Private Cloud, אתם יכולים להשתמש ביומני מעבד בקשות כדי לקבוע את פרטי המפתח לגבי שגיאות HTTP
502. בדיקה של היומנים של מעבד ההודעות
/opt/apigee/var/log/edge-message-processor/logs/system.logמחפשים כדי לראות אם יש
502שגיאות במהלך פרק זמן מסוים (אם הבעיה התרחשה בעבר) או אם יש בקשות שעדיין נכשלות עם502. אפשר להשתמש במחרוזות החיפוש הבאות:grep -ri "chunkCount"
grep -ri "BadGateway: Body buffer overflow"
- תמצאו שורות מ-
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)
במהלך תהליך הפתיחה, ברגע שמעבד ההודעות קובע שסך הבייטים לקריאה הוא > 10 MB, הוא מפסיק ומדפיס את השורה הבאה:
Message is too large. TotalRead 10489856 chunkCount 2571המשמעות היא שגודל מטען הייעודי (payload) של התגובה גדול מ-10 MB, ו-Apigee מציג את השגיאה כשהגודל מתחיל לחרוג מהמגבלה של 10 MB עם קוד השגיאה
protocol.http.TooBigBody
- אם צילמתם מעקב אחר הבקשה שנכשלה, תוכלו להיעזר בשלבים שמפורטים במאמרים בנושא מעקב ובנושא
רזולוציה
תיקון המידה
אפשרות מספר 1 [מומלצת]: תיקון האפליקציה של שרת היעד כך שלא יישלח גודל מטען חורג מהמגבלה של Apigee
- תנתח את הסיבה לכך ששרת היעד הספציפי שולח תגובה או גודל מטען ייעודי (payload) שגדול מהמגבלה המותרת שמוגדרת ב מגבלות.
- אם זה לא רצוי, צריך לשנות את אפליקציית שרת היעד כך שתשלח תגובה או מטען ייעודי (payload) בגודל שקטן מהמגבלה המותרת.
- אם אתם רוצים לשלוח תגובה או מטען ייעודי (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.
- אם אתם משתמשי Public Cloud, המגבלה המקסימלית לגודל מטען ייעודי (payload) של בקשות ותגובות היא כפי שמפורט לגבי
Request/response sizeב מגבלות Apigee Edge. - אם אתם משתמשים ב-Private Cloud, יכול להיות ששיניתם את מגבלת ברירת המחדל המקסימלית לגודל מטען הייעודי (payload) של בקשות ותשובות (למרות שזו לא שיטה מומלצת). כדי לדעת מהי המגבלה המקסימלית של גודל מטען ייעודי (payload) של בקשה, אפשר לפעול לפי ההוראות במאמר איך בודקים את המגבלה הנוכחית.
איך בודקים את המגבלה הנוכחית?
בקטע הזה מוסבר איך לוודא שהמאפיין HTTPResponse.body.buffer.limit עודכן עם ערך חדש במעבדי ההודעות.
במחשב של מעבד ההודעות, מחפשים את המאפיין
HTTPResponse.body.buffer.limitבספרייה/opt/apigee/edge-message- processor/confובודקים איזה ערך הוגדר, כמו שמוצג בהמשך:grep -ri "HTTPResponse.body.buffer.limit" /opt/apigee/edge-message-processor/conf
התוצאה לדוגמה מהפקודה שלמעלה היא:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPResponse.body.buffer.limit=10m
בדוגמת הפלט שלמעלה, אפשר לראות שהמאפיין
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