يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات
Apigee X. المعلومات
المشكلة
توضّح الصورة التالية أنّ طلبات البيانات من واجهة برمجة التطبيقات لا يتم التقاطها في واجهة مستخدم Edge عند بدء جلسة تتبُّع:
رسالة الخطأ
ولن يتم عرض أي رسائل خطأ في واجهة مستخدم Edge عند حدوث هذه المشكلة.
الأسباب المحتملة
يوضِّح الجدول التالي الأسباب المحتملة لتعذُّر التقاط طلبات واجهة برمجة التطبيقات في Edge UI Trace:
السبب | الوصف | تعليمات تحديد المشاكل وحلّها التي تنطبق على |
---|---|---|
الطلبات التي لا يعالجها معالج الرسائل | يجب معالجة طلبات واجهة برمجة التطبيقات بواسطة معالج الرسائل في مكوّن Edge للحصول على بيانات التتبّع. إذا تعذّر على طلب واجهة برمجة التطبيقات الوصول إلى Apigee Edge، سيتعذّر الوصول عند نقطة الدخول إلى Edge (أي جهاز التوجيه) أو يتعطل قبل معالجته بواسطة معالج الرسائل، فلا يمكن تسجيل التتبع. | مستخدمو Edge العام والخاص |
عدم العثور على الخادم الوكيل لواجهة برمجة التطبيقات في شجرة التصنيف | تستخدم معالِجات رسائل Apigee تعريف قاعدة توجيه يُسمى شجرة التصنيف لإرسال الطلبات استنادًا إلى اسم المضيف والمسار الأساسي والمراجعة والبيئة للطلب الوارد. في حال إزالة الخادم الوكيل لواجهة برمجة التطبيقات ذي الصلة من "شجرة التصنيف" لسبب ما، قد لا تتم تعبئة معاملات التتبُّع. | مستخدمو Edge الخاص على السحابة الإلكترونية |
السبب: عدم معالجة الطلبات من قِبل معالج الرسائل
التشخيص
لالتقاط طلب بيانات من واجهة برمجة التطبيقات في جلسة تتبُّع، يجب أن تتم معالجة طلب البيانات من واجهة برمجة التطبيقات بواسطة معالج الرسائل في مكوّن Edge. هناك عدة أسباب قد تؤدي إلى عدم تسجيل طلب بيانات من واجهة برمجة التطبيقات في معاملة تتبُّع.
على سبيل المثال، إذا فشل طلب واجهة برمجة التطبيقات في الوصول إلى Apigee Edge، ويتعذّر عند نقطة الدخول إلى Edge (أي جهاز التوجيه) أو يتعطل قبل أن يعالجه معالج الرسائل، فلا يمكن تسجيل بيانات التتبع. تم توضيح كل من هذه السيناريوهات بمزيد من التفصيل أدناه.
السيناريو 1: تعذُّر وصول الطلبات إلى Apigee Edge
السبب
في هذا السيناريو، قد يرجع سبب الخطأ إلى حدوث مشكلة في التحويل باستخدام نظام أسماء النطاقات (DNS) أو مشكلة في الاتصال بالشبكة. إذا كان الأمر كذلك، قد يظهر لك الخطأ التالي عند تشغيل هذا الأمر:
curl https://hostName:port/apiProxyBasePath/requestPath
curl: (6) Could not resolve host: hostName
درجة الدقّة
يمكنك التحقق من إعدادات نظام أسماء النطاقات باستخدام الأمر التالي:
dig hostName
يمكنك التحقق من اتصال الشبكة باستخدام الأمر التالي:
telnet hostName port
السيناريو 2: تعذُّر إرسال الطلبات إلى جهاز توجيه Apigee Edge
السبب
في هذا السيناريو، قد يكون السبب في الخطأ هو تعذُّر تأكيد اتصال بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL). إذا كان الأمر كذلك، قد يظهر لك أحد الأخطاء التالية:
Received fatal alert: handshake_failure
HTTP/1.1 400 Bad Request
قد يظهر لك أيضًا خطأ في شهادة طبقة المقابس الآمنة (SSL).
درجة الدقّة
يُرجى الرجوع إلى الأدلّة الإرشادية التالية لتحديد هذه المشاكل وحلّها:
تعذُّر تأكيد الاتصال ببروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة
السيناريو 3: تعذّر على معالج الرسائل معالجة الطلبات
السبب
في هذا السيناريو، لا يمكن لمعالج رسائل Apigee العثور على الخادم الوكيل لواجهة برمجة التطبيقات للمضيف والمسار الافتراضي المحدّدَين. ونتيجةً لذلك، قد يظهر لك أحد الأخطاء التالية:
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" } } }
درجة الدقّة
ارجع إلى هذا الدليل الإرشادي لتحديد هذه المشكلة وحلّها: 404 يتعذّر تحديد الخادم الوكيل للمضيف.
السبب: عدم العثور على الخادم الوكيل لواجهة برمجة التطبيقات في شجرة التصنيف
التشخيص
إذا لم يتمكن "معالج الرسائل" من العثور على خادم وكيل لواجهة برمجة التطبيقات في "شجرة التصنيف"، لن يتم عرض أي طلبات من واجهة برمجة التطبيقات إلى هذا الخادم الوكيل المحدد في جلسات التتبُّع في واجهة مستخدم Edge.
اتبع الخطوات التالية لتحديد ما إذا كان الأمر كذلك:
سجّل الدخول إلى كل من معالجات الرسائل وتحقق لمعرفة ما إذا كانت النسخة السابقة المحددة من واجهة برمجة التطبيقات المطلوبة قد تم نشرها في البيئة ذات الصلة بمعالج الرسائل باستخدام الأمر التالي:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
مثال على الناتج:
سيؤدي الأمر المذكور أعلاه إلى إخراج قائمة بالمراجعات المنشورة. على سبيل المثال، إذا تم نشر النسخة 12، فستظهر لك النتيجة التالية:
[ "12" ]
إذا لم تكن تواجه أخطاء HTTP 404 متقطّعة، من المحتمل أن تلاحظ أنّه تمّ نشر المراجعة المحدّدة.
اقرأ شجرة التصنيف وتحقق من وجود اسم الخادم الوكيل لواجهة برمجة التطبيقات باستخدام الأمر التالي:
curl -i http://localhost:8082/v1/classification/tree | grep apiName
كرِّر الخطوتين 1 و2 لكل معالج رسائل. إذا كان اسم الخادم الوكيل لواجهة برمجة التطبيقات المحدد غير موجود في شجرة التصنيف لأي من معالجات الرسائل، فاتبع الحل الموضح أدناه.
الحلّ
يُرجى اتّباع الخطوات أدناه لحل هذه المشكلة. احرِص على اتخاذ أي احتياطات ضرورية لتجنُّب انقطاع الخدمة في عملية الإنتاج التي قد تحدث بسبب إعادة تشغيل "معالجات الرسائل" أثناء مواجهة ارتفاع كبير في عدد الطلبات.
سجّل الدخول إلى كل مضيف من مضيفي "معالج الرسائل" ينقصهم الخادم الوكيل المحدد لواجهة برمجة التطبيقات في شجرة التصنيف واستخدم الأمر أدناه لإعادة تشغيل معالج الرسائل:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
بعد إعادة تشغيل الجهاز، استخدِم الأمر أدناه للانتظار إلى أن يتم تفعيله:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
عندما يصبح معالج الرسائل جاهزًا، تحقق من توفر الخادم الوكيل لواجهة برمجة التطبيقات باستخدام الأمر التالي:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
مثال على الناتج:
سيؤدي الأمر المذكور أعلاه إلى إخراج قائمة بالمراجعات المنشورة. على سبيل المثال، إذا تم نشر النسخة 12، فستظهر لك النتيجة التالية:
[ "12" ]
إذا لم تكن تواجه أخطاء HTTP 404 متقطّعة، من المحتمل أن تلاحظ أنّه تمّ نشر المراجعة المحدّدة.
اقرأ "شجرة التصنيف" وتحقَّق من وجود اسم الخادم الوكيل لواجهة برمجة التطبيقات باستخدام الأمر التالي:
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 |