شما در حال مشاهده مستندات 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"
}
}
}علل احتمالی
این خطا زمانی رخ میدهد که اندازهی بار دادهای که توسط سرور هدف/بکاند به عنوان بخشی از پاسخ HTTP به Apigee Edge ارسال میشود، بیشتر از حد مجاز در Apigee Edge باشد.
در اینجا علل احتمالی خطا آورده شده است:
| علت | توضیحات | دستورالعملهای عیبیابی قابل اجرا برای |
|---|---|---|
| اندازه بار پاسخ بیشتر از حد مجاز است | اندازهی بار دادهای که توسط سرور هدف/بکاند به عنوان بخشی از پاسخ HTTP به Apigee ارسال میشود، بیشتر از حد مجاز در Apigee است. | کاربران فضای ابری عمومی و خصوصی Edge |
| اندازه بار داده پاسخ پس از رفع فشار از حد مجاز فراتر میرود | حجم بار دادهای که توسط سرور هدف/پشتیبان به عنوان بخشی از پاسخ HTTP به Apigee در قالب فشرده ارسال میشود، هنگام از حالت فشرده خارج کردن توسط Apigee، بیشتر از حد مجاز است. | کاربران فضای ابری عمومی و خصوصی Edge |
مراحل تشخیص مشترک
برای تشخیص این خطا از یکی از ابزارها/تکنیکهای زیر استفاده کنید:
نظارت بر API
برای تشخیص خطا با استفاده از مانیتورینگ API:
- به عنوان کاربری با نقش کاربری مناسب، وارد Apigee Edge UI شوید .
به سازمانی که میخواهید مشکل را در آن بررسی کنید، مراجعه کنید.

- به صفحه Analyze > API Monitoring > Investigate بروید.
- بازه زمانی خاصی را که در آن خطاها را مشاهده کردهاید، انتخاب کنید.
- شما میتوانید فیلتر پروکسی را برای محدود کردن کد خطا انتخاب کنید.
- رسم کد خطا در مقابل زمان .
سلولی را انتخاب کنید که کد خطا
protocol.http.TooBigBodyمانند تصویر زیر داشته باشد:
اطلاعات مربوط به کد خطا
protocol.http.TooBigBodyرا مطابق شکل زیر مشاهده خواهید کرد:
روی «مشاهده گزارشها» کلیک کنید و ردیف مربوط به درخواست ناموفق را باز کنید.

- از پنجره Logs، جزئیات زیر را یادداشت کنید:
- کد وضعیت:
502 - منبع خطا:
target - کد خطا:
protocol.http.TooBigBody.
- کد وضعیت:
- اگر منبع خطا مقدار
targetو کد خطا مقدارprotocol.http.TooBigBodyداشته باشد، نشان میدهد که پاسخ HTTP از سرور target/backend دارای اندازه بار داده پاسخ بزرگتر از حد مجاز در Apigee Edge است.
ردیابی
برای تشخیص خطا با استفاده از ابزار Trace:
- جلسه ردیابی را فعال کنید و یکی از موارد زیر را انجام دهید:
- منتظر بمانید تا خطای
502 Bad Gatewayرخ دهد، یا - اگر میتوانید مشکل را دوباره ایجاد کنید، فراخوانی API را انجام دهید و خطای
502 Bad Gatewayرا دوباره ایجاد کنید.
- منتظر بمانید تا خطای
- یکی از درخواستهای ناموفق را انتخاب کنید و مسیر پیگیری را بررسی کنید.
- مراحل مختلف ردیابی را طی کنید و محل وقوع خرابی را پیدا کنید.
همانطور که در زیر نشان داده شده است، درست پس از مرحله پاسخ دریافتی از سرور هدف، به مرحله خطا بروید:

به مقادیر خطا از ردیابی توجه کنید:
- خطا:
Body buffer overflow - کلاس خطا :
com.apigee.errors.http.server.BadGateway
این نشان میدهد که Apigee Edge (مؤلفه پردازنده پیام) به محض دریافت پاسخ از سرور backend به دلیل تجاوز اندازه payload از حد مجاز، خطا را ارسال میکند.
- خطا:
همانطور که در زیر نشان داده شده است، در مرحله پاسخ ارسال شده به کلاینت، با شکست مواجه خواهید شد:

- به مقادیر خطا از مسیر ردیابی توجه کنید. مسیر نمونه بالا نشان میدهد:
- خطا:
502 Bad Gateway - محتوای خطا:
{"fault":{"faultstring":"Body buffer overflow","detail":{"errorcode":"protocol.http.TooBigBody"}}}
- خطا:
برای سناریوهای مختلف، مطابق شکل زیر به مرحله پاسخ دریافتی از سرور هدف بروید:
فشرده نشده
سناریوی شماره ۱: ارسال محموله پاسخ به صورت غیرفشرده

به مقادیر خطا از ردیابی توجه کنید:
- پاسخ دریافتی از سرور هدف :
200 OK - طول محتوا (از بخش هدرهای پاسخ ): حدود ۱۱ مگابایت
فشرده
سناریوی شماره ۲: درخواست ارسال بار داده به صورت فشرده

به مقادیر خطا از ردیابی توجه کنید:
- پاسخ دریافتی از سرور هدف :
200 OK - کدگذاری محتوا : اگر این هدر را در بخش هدرهای پاسخ مشاهده کردید، مقدار آن را یادداشت کنید. برای مثال، در این مثال مقدار
gzipاست.
- پاسخ دریافتی از سرور هدف :
به بدنه (Body) در بخش محتوای پاسخ (Response Content) توجه کنید:
{"fault":{"faultstring":"Body buffer overflow","detail":{"errorcode":"protocol.http.TooBigBody"}}}در مسیر ردیابی به مرحله AX (دادههای تحلیلی ثبتشده) بروید و برای مشاهده جزئیات مربوطه روی آن کلیک کنید.

- در بخش جزئیات فاز به پایین اسکرول کنید تا به بخش متغیرها برسید و مقادیر
target.received.content.lengthرا تعیین کنید که نشان میدهد:- اندازه واقعی بار داده پاسخ هنگامی که در قالب غیر فشرده ارسال میشود و
- اندازهی بار دادهی پاسخ پس از رفع فشردهسازی توسط Apigee، زمانی که بار داده در قالب فشرده ارسال میشود. در این سناریو، این مقدار همیشه برابر با مقدار مجاز (۱۰ مگابایت) خواهد بود.
فشرده نشده
سناریوی شماره ۱: ارسال محموله پاسخ به صورت غیرفشرده

به مقدار target.received.content.length توجه کنید:
درخواست سربرگها ارزش طول.محتوای.دریافتی.هدف حدود ۱۱ مگابایت فشرده
سناریوی شماره ۲: درخواست ارسال بار داده به صورت فشرده

به مقدار target.received.content.length توجه کنید:
سربرگهای درخواست ارزش طول.محتوای.دریافتی.هدف حدود ۱۰ مگابایت جدول زیر توضیح میدهد که چرا خطای
502توسط Apigee تحت دو سناریو بر اساس مقدار target.received.content.length برگردانده میشود:سناریو مقدار target.received.content.length دلیل شکست بار مفید پاسخ در قالب غیرفشرده حدود ۱۱ مگابایت حجم > محدودیت مجاز ۱۰ مگابایت بار پاسخ در قالب فشرده حدود ۱۰ مگابایت محدودیت حجم پس از رفع فشار از حد مجاز فراتر رفت
انجینکس
برای تشخیص خطا با استفاده از گزارشهای دسترسی 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 را تعیین کنید.نمونه خطای ۵۰۲ از لاگ دسترسی NGINX:

ورودی نمونه بالا از لاگ دسترسی NGINX دارای مقادیر زیر برای X-Apigee- fault-code و X-Apigee-fault-source است:
هدرهای پاسخ ارزش کد خطای X-Apigee protocol.http.TooBigBodyمنبع گسل X-Apigee target
علت: اندازه بار پاسخ بیشتر از حد مجاز است
تشخیص
- کد خطا ، منبع خطا و اندازه بار پاسخ را برای خطای مشاهده شده با استفاده از API Monitoring، ابزار Trace یا گزارشهای دسترسی NGINX همانطور که در مراحل تشخیص مشترک با سناریوی شماره ۱ توضیح داده شده است، تعیین کنید.
- اگر منبع خطا مقدار
targetداشته باشد، نشان میدهد که اندازه بار داده پاسخ ارسال شده توسط سرور target/backend به Apigee بیشتر از حد مجاز در Apigee Edge است. - اندازه بار پاسخ را همانطور که از مرحله 1 تعیین شده است، تأیید کنید.
- اگر اندازهی بار داده (payload size) بیش از ۱۰ مگابایت باشد، پس دلیل خطا همین است.
- اگر اندازهی بار داده حدود ۱۰ مگابایت باشد، ممکن است بار دادهی پاسخ به صورت فشرده ارسال شده باشد. به «علت: اندازهی بار دادهی پاسخ پس از رفع فشار از حد مجاز فراتر رفته است» بروید.
- با بررسی پاسخ واقعی با استفاده از مراحل زیر، تأیید کنید که اندازه بار داده پاسخ واقعاً بالای 10 مگابایت است:
- اگر به درخواست واقعی ارسال شده به سرور هدف/بکاند دسترسی ندارید، به Resolution بروید.
- اگر به درخواست واقعی ارسال شده به سرور هدف/backend دسترسی دارید، مراحل زیر را انجام دهید:
- اگر شما یک کاربر ابر عمومی/ابر خصوصی هستید، مستقیماً از خود سرور بکاند یا هر دستگاه دیگری که از آنجا مجاز به ارسال درخواست به سرور بکاند هستید، درخواستی به سرور بکاند ارسال کنید.
- اگر شما یک کاربر ابر خصوصی هستید، میتوانید درخواست را از طریق یکی از پردازندههای پیام به سرور backend نیز ارسال کنید.
- با بررسی هدر Content-Length، اندازهی payload ارسالی در پاسخ را تأیید کنید.
- اگر متوجه شدید که اندازهی payload بیشتر از حد مجاز در Apigee Edge است، پس مشکل از همینجا ناشی میشود.
نمونه پاسخ از سرور backend:
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 فراتر رفته است.
وضوح تصویر
به قطعنامه مراجعه کنید.
علت: حجم بار پاسخ پس از رفع فشار از حد مجاز فراتر میرود.
اگر بار داده پاسخ در قالب فشرده ارسال شود و Content-Encoding هدر پاسخ روی gzip , Apigee بار داده پاسخ را از حالت فشرده خارج میکند. در طول فرآیند خارج کردن از حالت فشرده، اگر Apigee متوجه شود که اندازه بار داده بیشتر از حد مجاز در Apigee Edge است، خارج کردن بیشتر از حالت فشرده را متوقف کرده و بلافاصله با خطای 502 Bad Gateway و کد خطای protocol.http.TooBigBody پاسخ میدهد.
تشخیص
- کد خطا، منبع خطا و اندازه بار پاسخ را برای خطای مشاهده شده با استفاده از گزارشهای API Monitoring، Trace Tool یا NGINX Access همانطور که در مراحل تشخیص مشترک با سناریوی شماره ۲ توضیح داده شده است، تعیین کنید.
- اگر منبع خطا مقدار
targetداشته باشد، نشان میدهد که اندازه بار پاسخ ارسال شده توسط برنامه target/backend به Apigee بیشتر از حد مجاز در Apigee Edge است. - اندازه بار پاسخ را همانطور که از مرحله 1 تعیین شده است، تأیید کنید.
- اگر اندازهی بار داده (payload size) بیش از ۱۰ مگابایت باشد، پس دلیل خطا همین است.
- اگر اندازهی payload حدود ۱۰ مگابایت باشد، ممکن است payload پاسخ به صورت فشرده ارسال شده باشد. در این صورت، اندازهی فشردهنشدهی payload پاسخ فشردهشده را بررسی کنید.
- شما میتوانید با استفاده از یکی از روشهای زیر، اعتبارسنجی کنید که آیا پاسخ از مقصد/بکاند در قالب فشرده ارسال شده است و اندازه فشرده نشده آن بزرگتر از حد مجاز است یا خیر:
ردیابی
استفاده از ابزار ردیابی:
- اگر ردی از درخواست ناموفق گرفتهاید، به مراحل تفصیلی در بخش ردگیری و
- مقدار target.received.content.length را تعیین کنید.
- بررسی کنید که آیا درخواست کلاینت حاوی هدر Content-Encoding:
gzipبوده است یا خیر.
- اگر مقدار target.received.content.length حدود ۱۰ مگابایت باشد و هدر پاسخ Content-Encoding:
gzipباشد، دلیل این خطا همین است.
درخواست واقعی
استفاده از درخواست واقعی:
- اگر به درخواست واقعی ارسال شده به سرور هدف/بکاند دسترسی ندارید، به Resolution بروید.
- اگر به درخواست واقعی ارسال شده به سرور هدف/backend دسترسی دارید، مراحل زیر را انجام دهید:
- اندازهی payload ارسالی در پاسخ را به همراه هدر
Content-Encodingارسالی در پاسخ، تأیید کنید. - اگر متوجه شدید که
Content-Encodingهدر پاسخ رویgzipتنظیم شده است و اندازه غیرفشردهشدهی payload بیشتر از حد مجاز در Apigee Edge است، پس دلیل این خطا همین است.نمونه پاسخ دریافتی از سرور backend:
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حدود ۱۵ مگابایت بود.
- اندازهی payload ارسالی در پاسخ را به همراه هدر
گزارشهای پردازنده پیام
استفاده از گزارشهای پردازشگر پیام:
- اگر شما یک کاربر ابر خصوصی هستید، میتوانید از گزارشهای پردازشگر پیام برای تعیین اطلاعات کلیدی در مورد خطاهای 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 مگابایت است، متوقف شده و خط زیر را چاپ میکند:
Message is too large. TotalRead 10489856 chunkCount 2571این نشان میدهد که اندازه بار مفید پاسخ بیش از ۱۰ مگابایت است و Apigee وقتی اندازه شروع به فراتر رفتن از حد مجاز ۱۰ مگابایت میکند، خطایی با کد خطا به صورت
protocol.http.TooBigBodyارسال میکند.
- اگر ردی از درخواست ناموفق گرفتهاید، به مراحل تفصیلی در بخش ردگیری و
وضوح تصویر
اندازه را ثابت کنید
گزینه شماره ۱ [توصیه شده]: برنامه سرور هدف را طوری تنظیم کنید که اندازه بار داده (payload) بیش از حد مجاز Apigee ارسال نکند.
- دلیل ارسال حجم پاسخ/بار داده بیشتر از حد مجاز تعریف شده در Limits توسط سرور هدف خاص را تجزیه و تحلیل کنید.
- اگر مطلوب نیست، برنامه سرور هدف خود را طوری تغییر دهید که اندازه پاسخ/حجم بار ارسالی کمتر از حد مجاز باشد.
- اگر مطلوب است و میخواهید پاسخ/حجم دادهای بیش از حد مجاز ارسال کنید، به گزینههای بعدی بروید.
الگوی URL امضا شده
گزینه شماره ۲ [توصیه میشود]: استفاده از الگوی URLهای امضا شده در Apigee JavaCallout
برای بارهای داده بزرگتر از ۱۰ مگابایت، Apigee استفاده از الگوی URLهای امضا شده در Apigee JavaCallout را توصیه میکند، که توسط مثال Edge Callout: Signed URL Generator در GitHub نشان داده شده است.
پخش جریانی
گزینه شماره ۳: استفاده از استریمینگ
اگر پروکسی API شما نیاز به مدیریت درخواستها و/یا پاسخهای بسیار بزرگ دارد، میتوانید پخش جریانی را در Apigee فعال کنید.
سی دبلیو سی
گزینه شماره ۴: استفاده از ویژگی CwC برای افزایش محدودیت بافر
این گزینه فقط زمانی باید استفاده شود که نمیتوانید از هیچ یک از گزینههای توصیهشده استفاده کنید، زیرا در صورت افزایش اندازه پیشفرض، ممکن است مشکلات عملکردی ایجاد شود.
Apigee یک ویژگی CwC ارائه میدهد که به آن اجازه میدهد محدودیت اندازه بار درخواست و پاسخ را افزایش دهد. برای جزئیات بیشتر، به تنظیم محدودیت اندازه پیام در روتر یا پردازنده پیام مراجعه کنید.
محدودیتها
شرکت Apigee انتظار دارد که برنامهی کلاینت و سرور backend، اندازهی بار داده (payload) بزرگتر از حد مجاز، همانطور که برای Request/response size در Apigee Edge Limits مستند شده است، ارسال نکنند.
- اگر شما یک کاربر ابر عمومی هستید، حداکثر محدودیت برای اندازه بار درخواست و پاسخ، همانطور که برای
Request/response sizeدر Apigee Edge Limits مستند شده است، میباشد. - اگر شما یک کاربر Private Cloud هستید، ممکن است حداکثر محدودیت پیشفرض برای اندازه بار درخواست و پاسخ را تغییر داده باشید (هرچند که این یک روش توصیه شده نیست). میتوانید حداکثر محدودیت اندازه بار درخواست را با دنبال کردن دستورالعملهای موجود در بخش «نحوه بررسی محدودیت فعلی» تعیین کنید.
چگونه حد فعلی را بررسی کنیم؟
این بخش توضیح میدهد که چگونه میتوان تأیید کرد که ویژگی HTTPResponse.body.buffer.limit با مقدار جدیدی در پردازندههای پیام بهروزرسانی شده است.
در دستگاه پردازشگر پیام، در دایرکتوری
/opt/apigee/edge-message- processor/confبه دنبال ویژگیHTTPResponse.body.buffer.limitبگردید و بررسی کنید که چه مقداری مطابق شکل زیر تنظیم شده است: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تنظیم شده است.این نشان میدهد که محدودیت اندازه بار درخواست پیکربندیشده در Apigee برای Private Cloud، 10 مگابایت است.
اگر هنوز به هرگونه کمکی از پشتیبانی Apigee نیاز دارید، به بخش «باید اطلاعات تشخیصی را جمعآوری کنید» بروید.
باید اطلاعات تشخیصی جمعآوری کند
اطلاعات تشخیصی زیر را جمعآوری کنید و سپس با پشتیبانی Apigee Edge تماس بگیرید:
اگر کاربر فضای ابری عمومی هستید، اطلاعات زیر را ارائه دهید:
- نام سازمان
- نام محیط
- نام پروکسی API
- دستور curl کامل که برای بازتولید خطای
502استفاده میشود - فایل ردیابی برای درخواستهای API
- خروجی کامل پاسخ از سرور هدف/بکاند به همراه اندازهی بار داده
اگر کاربر Private Cloud هستید، اطلاعات زیر را ارائه دهید:
- پیام خطای کامل مشاهده شده برای درخواستهای ناموفق
- نام سازمان
- نام محیط
- بسته پروکسی API
- فایل ردیابی برای درخواستهای ناموفق API
- دستور curl کامل که برای بازتولید خطای
502استفاده میشود - خروجی کامل پاسخ از سرور هدف/بکاند به همراه اندازهی بار داده
گزارشهای دسترسی 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