شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
در Apigee، روترها به طور پیشفرض طوری پیکربندی شدهاند که فقط پیامهای خطا را در فایلهای گزارش خطا ثبت کنند. با این حال، ممکن است موقعیتهای زیادی وجود داشته باشد که در آنها نیاز به جمعآوری اطلاعات بیشتری برای تعیین دلیل وقوع یک خطای خاص داشته باشید. یکی از راههای انجام این کار، پیکربندی روتر برای کار در حالت اشکالزدایی است تا بتوانید گزارشهای اشکالزدایی را دریافت کنید که میتواند به شما کمک کند اطلاعات بیشتری در مورد خطا به دست آورید و سریعتر آن را حل کنید.
این سند نحوه فعال کردن گزارشهای اشکالزدایی در روتر Apigee Edge برای درخواستهای روی یک میزبان مجازی خاص را توضیح میدهد. گزارش اشکالزدایی را میتوان برای ثبت اطلاعات بیشتر در صورت وجود هرگونه مشکلی مانند درخواست ناقص، درخواست بد ۴۰۰ - خطای گواهی SSL ، در مسیر شمالی (بین برنامه کلاینت و روتر) فعال کرد.
قبل از اینکه شروع کنی
- اگر با گزارشهای خطای NGINX و سطوح گزارشگیری آن آشنا نیستید، لطفاً به مستندات گزارش خطای NGINX مراجعه کنید.
- نامهای سازمان، محیط و میزبان مجازی درخواستهای API که برای آنها نیاز به جمعآوری اطلاعات اشکالزدایی دارید را جمعآوری کنید.
فعال کردن گزارشهای اشکالزدایی NGINX روی روترها
این بخش نحوه فعال کردن گزارشهای اشکالزدایی در روترهای لبه (Edge Routers) را توضیح میدهد.
شناسایی فایل پیکربندی میزبان مجازی مربوطه
مراحل زیر نحوه یافتن فایل پیکربندی میزبان مجازی مربوطه را در روتر شرح میدهد:
- اگر نام سازمان، نام محیط و میزبان مجازی را برای درخواست API خاصی که میخواهید اشکالزدایی کنید میدانید، فایل پیکربندی میزبان مجازی را به شرح زیر تعیین کنید:
- به دایرکتوری
/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 را اجرا کنید. برای مثال:
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 را اجرا کنید. برای مثال:
/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 تماس بگیرید.