شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
در Apigee، روترها بهطور پیشفرض پیکربندی شدهاند تا فقط پیامهای خطا را در فایلهای گزارش خطا ثبت کنند. با این حال، ممکن است موقعیتهای زیادی وجود داشته باشد که ممکن است نیاز به جمعآوری اطلاعات بیشتر برای تعیین علت وقوع یک خطای خاص داشته باشید. یکی از راههای انجام این کار این است که روتر را برای عملکرد در حالت اشکالزدایی پیکربندی کنید تا بتوانید گزارشهای اشکال زدایی را دریافت کنید، که میتواند به شما کمک کند اطلاعات بیشتری در مورد خطا به دست آورید و سریعتر آن را برطرف کنید.
این سند نحوه فعال کردن گزارشهای اشکالزدایی در روتر Apigee Edge را برای درخواستهای یک میزبان مجازی خاص توضیح میدهد. هنگامی که مشکلاتی مانند درخواست نادرست، 400 درخواست بد - خطای گواهی SSL در Northbound (بین برنامه مشتری و روتر) وجود دارد، ثبت اشکال زدایی را می توان فعال کرد تا اطلاعات بیشتری را دریافت کند.
قبل از شروع
- اگر با گزارشهای خطای NGINX و سطوح گزارشگیری آشنایی ندارید، لطفاً به مستندات گزارش خطای NGINX مراجعه کنید.
- سازمان، محیط و نام میزبان مجازی درخواستهای API را که برای جمعآوری اطلاعات اشکالزدایی نیاز دارید، جمعآوری کنید.
فعال کردن گزارش اشکال زدایی NGINX در روترها
این بخش نحوه فعال کردن گزارشهای اشکال زدایی در مسیریابهای Edge را توضیح میدهد.
شناسایی فایل پیکربندی میزبان مجازی مرتبط
مراحل زیر نحوه یافتن فایل پیکربندی میزبان مجازی مربوطه در روتر را شرح می دهد:
- اگر نام سازمان، نام محیط و میزبان مجازی درخواست API خاصی را که میخواهید اشکالزدایی کنید، میدانید، فایل conf میزبان مجازی را به صورت زیر تعیین کنید:
- به دایرکتوری
/opt/nginx/conf.d/
بروید. - با استفاده از دستور زیر فایل ORG_NAME _ ENV_NAME _ VIRTUALHOST
.conf
را در فهرستconf.d
جستجو کنید:ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
- به دایرکتوری
اگر نام سازمان را نمیدانید، میتوانید فایل پیکربندی میزبان مجازی را با استفاده از نام مستعار میزبان که در درخواست API به شرح زیر استفاده میشود شناسایی کنید:
به دایرکتوری
/opt/nginx/conf.d/
بروید و با استفاده از دستور زیر،hostalias
را که درخواست با آنها انجام شده است جستجو کنید:ls -ltrh | grep -r 'HOST_ALIAS_NAME'
خروجی نمونه:
فرض کنید نام مستعار میزبان
opdk.cert-test.com
است. هنگامی که دستورls -ltrh
را اجرا می کنید، خروجی را مطابق شکل زیر مشاهده خواهید کرد:
فعال کردن ثبت اشکال زدایی برای یک میزبان مجازی خاص در روتر
مراحل زیر نحوه فعال کردن گزارشهای اشکالزدایی در روترهای Apigee را برای یک میزبان مجازی خاص توضیح میدهد.
- فایل زیر را در دستگاه روتر در یک ویرایشگر باز کنید:
/opt/nginx/conf.d/ ORG_NAME _ ENV_NAME _ VIRTUALHOST_NAME .conf
. به عنوان مثال:vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
- خط زیر را تغییر دهید:
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;
- تغییرات خود را ذخیره کنید.
- دستور NGINX reload را اجرا کنید. به عنوان مثال:
sudo /opt/nginx/scripts/apigee-nginx reload
- فایل زیر اکنون گزارش های اشکال زدایی را ضبط می کند:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- اگر می خواهید گزارش های اشکال زدایی را در بیش از یک روتر ضبط کنید، این مراحل را در هر یک از روترها تکرار کنید.
تأیید اطلاعات اشکال زدایی در فایل گزارش خطای NGINX ثبت شده است
هنگامی که مشتریان درخواستهای API را روی نام مستعار میزبان و پورت مرتبط با پیکربندی میزبان مجازی انجام دهند، گزارشهای اشکالزدایی در فایل زیر ثبت میشوند:
/opt/apigee/var/log/edge-router/nginx/ ORG_NAME ~ ENV_NAME . PORT _error_log
بررسی کنید که اطلاعات اشکال زدایی درخواست های 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
با بار بزرگ ارسال می کند، ضبط می شود. این گزارش تنها زمانی نشان داده می شود که ثبت اشکال زدایی فعال باشد.- اگر اطلاعات اشکال زدایی اضافی را نمی بینید، بررسی کنید که تمام مراحل ذکر شده در فعال کردن گزارش اشکال زدایی برای یک میزبان مجازی خاص در روتر را به درستی دنبال کرده اید. اگر هر مرحله ای را از دست داده اید، تمام مراحل را دوباره به درستی تکرار کنید.
- اگر هنوز نمی توانید اطلاعات اشکال زدایی را دریافت کنید، لطفاً با پشتیبانی Apigee Edge تماس بگیرید.
غیرفعال کردن گزارش های اشکال زدایی برای یک میزبان مجازی خاص در روتر
این بخش نحوه غیرفعال کردن گزارش های اشکال زدایی در روتر را برای یک میزبان مجازی خاص توضیح می دهد.
- فایل زیر را در دستگاه روتر در یک ویرایشگر باز کنید:
/opt/nginx/conf.d/ ORG_NAME _ ENV_NAME _ VIRTUALHOST_NAME .conf
برای مثال:vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
خط زیر را تغییر دهید:
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;
- تغییرات خود را ذخیره کنید.
- دستور NGINX reload را اجرا کنید. به عنوان مثال:
/opt/nginx/scripts/apigee-nginx reload
- فایل زیر اکنون فقط گزارش های خطا را ضبط می کند:
/opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
- اگر می خواهید گزارش های اشکال زدایی را در بیش از یک روتر متوقف کنید، این مراحل را در هر یک از روترها تکرار کنید.
فقط تأیید اطلاعات خطا در فایل گزارش خطای NGINX ثبت شده است
- برخی از درخواستهای API را روی نام مستعار میزبان و پورت مرتبط با پیکربندی میزبان مجازی خاص انجام دهید یا منتظر بمانید تا مشتریان درخواستها را انجام دهند.
- فایل زیر را بررسی کنید:
/opt/apigee/var/log/edge-router/nginx/ ORG_NAME ~ ENV_NAME . PORT _error_log
- بررسی کنید که فقط اطلاعات خطا را میبینید و اطلاعات اشکالزدایی دیگر برای درخواستها ثبت نشده است.
- اگر همچنان میبینید که اطلاعات اشکالزدایی اضافی ثبت میشود، بررسی کنید که تمام مراحل ذکر شده در غیرفعال کردن گزارشهای اشکالزدایی را برای یک میزبان مجازی خاص در روتر به درستی دنبال کردهاید. اگر هر مرحله ای را از دست داده اید، تمام مراحل را دوباره به درستی تکرار کنید.
- اگر هنوز نمی توانید اطلاعات اشکال زدایی را دریافت کنید، لطفاً با پشتیبانی Apigee Edge تماس بگیرید.