طلبات البيانات من واجهة برمجة التطبيقات التي لم يتم تسجيلها في واجهة مستخدم Edge

يتم الآن عرض مستندات 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

السيناريو 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.

اتبع الخطوات التالية لتحديد ما إذا كان الأمر كذلك:

  1. سجّل الدخول إلى كل من معالجات الرسائل وتحقق لمعرفة ما إذا كانت النسخة السابقة المحددة من واجهة برمجة التطبيقات المطلوبة قد تم نشرها في البيئة ذات الصلة بمعالج الرسائل باستخدام الأمر التالي:

    curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
    

    مثال على الناتج:

    سيؤدي الأمر المذكور أعلاه إلى إخراج قائمة بالمراجعات المنشورة. على سبيل المثال، إذا تم نشر النسخة 12، فستظهر لك النتيجة التالية:

    [ "12" ]
    

    إذا لم تكن تواجه أخطاء HTTP 404 متقطّعة، من المحتمل أن تلاحظ أنّه تمّ نشر المراجعة المحدّدة.

  2. اقرأ شجرة التصنيف وتحقق من وجود اسم الخادم الوكيل لواجهة برمجة التطبيقات باستخدام الأمر التالي:

    curl -i http://localhost:8082/v1/classification/tree | grep apiName
    
  3. كرِّر الخطوتين 1 و2 لكل معالج رسائل. إذا كان اسم الخادم الوكيل لواجهة برمجة التطبيقات المحدد غير موجود في شجرة التصنيف لأي من معالجات الرسائل، فاتبع الحل الموضح أدناه.

الحلّ

يُرجى اتّباع الخطوات أدناه لحل هذه المشكلة. احرِص على اتخاذ أي احتياطات ضرورية لتجنُّب انقطاع الخدمة في عملية الإنتاج التي قد تحدث بسبب إعادة تشغيل "معالجات الرسائل" أثناء مواجهة ارتفاع كبير في عدد الطلبات.

  1. سجّل الدخول إلى كل مضيف من مضيفي "معالج الرسائل" ينقصهم الخادم الوكيل المحدد لواجهة برمجة التطبيقات في شجرة التصنيف واستخدم الأمر أدناه لإعادة تشغيل معالج الرسائل:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  2. بعد إعادة تشغيل الجهاز، استخدِم الأمر أدناه للانتظار إلى أن يتم تفعيله:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
    
  3. عندما يصبح معالج الرسائل جاهزًا، تحقق من توفر الخادم الوكيل لواجهة برمجة التطبيقات باستخدام الأمر التالي:

    curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
    

    مثال على الناتج:

    سيؤدي الأمر المذكور أعلاه إلى إخراج قائمة بالمراجعات المنشورة. على سبيل المثال، إذا تم نشر النسخة 12، فستظهر لك النتيجة التالية:

    [ "12" ]
    

    إذا لم تكن تواجه أخطاء HTTP 404 متقطّعة، من المحتمل أن تلاحظ أنّه تمّ نشر المراجعة المحدّدة.

  4. اقرأ "شجرة التصنيف" وتحقَّق من وجود اسم الخادم الوكيل لواجهة برمجة التطبيقات باستخدام الأمر التالي:

    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