درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
نشانه
تصویر زیر نشان میدهد که وقتی جلسه ردیابی شروع میشود، درخواستهای API در «واسط کاربر Edge» ضبط نمیشود:

پیام خطا
وقتی این مشکل رخ میدهد، هیچ پیام خطایی در «میانای کاربری Edge» نمایش داده نمیشود.
علل احتمالی
جدول زیر دلایل احتمالی عدم ضبط درخواستهای API در «ردیابی میانای کاربری Edge» را نشان میدهد:
| علت | شرح | دستورالعملهای عیبیابی برای |
|---|---|---|
| درخواستهایی که «پردازشگر پیام» آنها را پردازش نکرده است | درخواستهای API باید توسط جزء «پردازشگر پیام» در Edge پردازش شوند تا ردگیری ضبط شود. اگر درخواست API به Apigee Edge نرسد، در نقطه ورود به Edge ناموفق است (یعنی روتر) یا قبلاز اینکه توسط «پردازشگر پیام» پردازش شود ناموفق باشد، ردیابی نمیتواند ضبط شود. | کاربران فضای ابری خصوصی و عمومی لبه |
| کارگزار API در درخت طبقهبندی پیدا نشد | «پردازشگرهای پیام Apigee» از تعریف «قانون مسیریابی» به نام «درخت طبقهبندی» برای توزیع درخواستها براساس نام میزبان، مسیر پایه، بازبینی، و محیط درخواست ورودی استفاده میکنند. اگر پراکسی API مربوطه به دلیلی از «درخت طبقهبندی» برداشته شود، ممکن است تراکنشهای «ردیابی» تکمیل نشود. | کاربران Edge Private Cloud |
علت: درخواستها توسط «پردازشگر پیام» پردازش نشده است
تشخیص
برای ضبط درخواست «میانای برنامهسازی کاربردی» در جلسه «پیگیری»، درخواست «میانای برنامهسازی کاربردی» باید توسط عنصر «پردازشگر پیام» Edge پردازش شود. چند دلیل وجود دارد که چرا درخواست API ممکن است در تراکنش «ردیابی» ضبط نشود.
برای مثال، اگر درخواست API به Apigee Edge نرسد، در نقطه ورود به Edge ناموفق باشد (یعنی روتر) یا قبلاز پردازش توسط «پردازشگر پیام» با مشکل مواجه شود، ردیابی نمیتواند ضبط شود. هریک از این سناریوها در زیر با جزئیات بیشتری شرح داده شده است.
سناریو ۱: درخواستها به Apigee Edge نمیرسند
علت
در این سناریو، خطا ممکن است ناشی از مشکل اتصال شبکه یا تفکیک ساناد باشد. در این صورت، ممکن است هنگام اجرای این فرمان با خطای زیر مواجه شوید:
curl https://hostName:port/apiProxyBasePath/requestPath
curl: (6) Could not resolve host: hostName
وضوح
با دستور زیر میتوانید پیکربندی ساناد را درستیسنجی کنید:
dig hostName
با دستور زیر میتوانید اتصالپذیری شبکه را درستیسنجی کنید:
telnet hostName port
سناریو ۲: درخواستها در Apigee Edge Router ناموفق است
علت
در این سناریو، خطا ممکن است ناشی از عدم موفقیت در دست دادن TLS/SSL باشد. در این صورت، ممکن است یکی از خطاهای زیر را مشاهده کنید:
Received fatal alert: handshake_failureHTTP/1.1 400 Bad Requestهمچنین ممکن است خطای گواهینامه SSL را مشاهده کنید.
وضوح
برای عیبیابی و حل این مشکلات، به دفترچههای زیر مراجعه کنید:
سناریو ۳: درخواستها توسط «پردازشگر پیام» پردازش نمیشوند
علت
در این سناریو، «پردازشگر پیام Apigee» نمیتواند «پراکسی API» را برای مسیر و میزبان مجازی مشخصشده پیدا کند. درنتیجه، ممکن است یکی از خطاهای زیر را ببینید:
HTTP/1.1 404 Not Found{ "fault":{ "faultstring":"Unable to identify proxy for host: default and url: \/apiProxyBasePath/requestPath", "detail":{ "errorcode":"messaging.adaptors.http.flow.ApplicationNotFound" } } }وضوح
برای عیبیابی و رفع این مشکل، به این دفترچه مراجعه کنید: ۴۰۴ نمیتوان کارگزار میزبان را شناسایی کرد.
دلیل: «پراکسی میانای برنامهسازی کاربردی» در درخت طبقهبندی پیدا نشد
تشخیص
اگر «پردازشگر پیام» نتواند کارگزار نیابتی API را در «درخت طبقهبندی» خود پیدا کند، درخواستهای API به آن کارگزار نیابتی خاص در جلسههای «ردیابی» در «واسط کاربر Edge» نشان داده نخواهد شد.
برای تعیین اینکه آیا این مورد است یا خیر، مراحل زیر را دنبال کنید:
بااستفاده از دستور زیر، به هریک از «پردازشگرهای پیام» وارد شوید و بررسی کنید که آیا نسخه اصلاحشده خاص میانای برنامهسازی کاربردی درخواستشده در محیط مربوطه «پردازشگر پیام» مستقر شده است یا نه:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
برونداد نمونه:
فرمان بالا فهرستی از نسخههای پیادهشده را برونداد میکند. برای مثال، اگر نسخه بازبینی ۱۲ مستقر شود، برونداد زیر را خواهید دید:
[ "12" ]مگر اینکه با خطاهای HTTP 404 متناوب مواجه شوید، احتمالاً خواهید دید که نسخه اصلاحشده خاصی مستقر شده است.
«درخت طبقهبندی» را بخوانید و بااستفاده از فرمان زیر، وجود نام پراکسی API را بررسی کنید:
curl -i http://localhost:8082/v1/classification/tree | grep apiName
مراحل ۱ و ۲ را برای هر «پردازشگر پیام» تکرار کنید. اگر نام کارگزار نیابتی API ارائهشده در «درخت طبقهبندی» هیچیک از «پردازشگرهای پیام» وجود ندارد، راهحل ارائهشده در زیر را دنبال کنید.
وضوح
لطفاً برای حل کردن این مشکل، مراحل زیر را دنبال کنید. حتماً اقدامات احتیاطی لازم را برای جلوگیری از قطعیهای تولید که ممکن است در اثر راهاندازی مجدد «پردازشگرهای پیام» درحین تجربه بار درخواست بالا رخ دهد، انجام دهید.
به هریک از میزبانهای «پردازشگر پیام» که کارگزار میانای برنامهسازی کاربردی خاص در «درخت طبقهبندی» را ندارد وارد شوید و از دستور زیر برای بازراهاندازی «پردازشگر پیام» استفاده کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
پساز بازراهاندازی، از فرمان زیر استفاده کنید تا زمانی که فعال شود:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
پساز آماده شدن «پردازشگر پیام»، دردسترس بودن پراکسی API را بااستفاده از دستور زیر درستیسنجی کنید:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
برونداد نمونه:
فرمان بالا فهرستی از نسخههای پیادهشده را برونداد میکند. برای مثال، اگر نسخه بازبینی ۱۲ مستقر شود، برونداد زیر را خواهید دید:
[ "12" ]مگر اینکه با خطاهای HTTP 404 متناوب مواجه شوید، احتمالاً خواهید دید که نسخه اصلاحشده خاصی مستقر شده است.
«درخت طبقهبندی» را بخوانید و وجود نام پراکسی API را بااستفاده از فرمان زیر تأیید کنید:
curl -i http://localhost:8082/v1/classification/tree | grep apiName
اگر مشکل همچنان ادامه داشت، به اطلاعات تشخیصی ضروری بروید.
باید اطلاعات تشخیص خرابی را جمعآوری کند
اگر مشکل پساز دنبال کردن دستورالعملهای بالا برطرف نشد، لطفاً اطلاعات تشخیصی زیر را جمعآوری کنید و آن را با پشتیبانی Apigee Edge همرسانی کنید:
| نوع اطلاعات تشخیصی | فرمان |
|---|---|
| برونداد فرمان جلسه پیگیری | curl -v management-server-host:8080/v1/runtime/organizations/orgName/environments/envName/apis/apiProxyName/revisions/revisionNumber/debugsessions -u user |
| گزارش سرور مدیریت | /opt/apigee/var/log/edge-management-server/logs/system.log |
| گزارشهای «پردازشگر پیام» | /opt/apigee/var/log/edge-message-processor/logs/system.log |
برونداد telnet/netcat فرمان از «سرور مدیریت» به «پردازشگر پیام» |
telnet MessageProcessor_IP 8082 nc -vz MessageProcessor_IP 8082 |
| برونداد فرمان netstat در «پردازشگر(های) پیام» | netstat -an > netstat.txt |
| فهرست بروندادهای اصلاحات پیادهسازیشده برای «پراکسی میانای برنامهسازی کاربردی» خاص در همه «پردازشگرهای پیام» | curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions |
| برونداد «درخت طبقهبندی» در همه «پردازشگر(های) پیام» | curl -i http://localhost:8082/v1/classification/tree |