أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
الفيديوهات
يمكنك الاطّلاع على الفيديوهات التالية للحصول على مزيد من المعلومات حول أخطاء 503:
فيديو | الوصف |
---|---|
تحديد المشاكل وحلّها وحل مشكلة 503 Service Unavailable - NoActiveTargets | يمكنك الاطّلاع على ما يلي:
|
المشكلة
يتلقّى تطبيق العميل رمز حالة استجابة HTTP 503 مع الرسالة الخدمة غير متوفرة ورمز الخطأ NoActiveTargets لطلبات الخادم الوكيل لواجهة برمجة التطبيقات.
رسالة الخطأ
سترى استجابة الخطأ التالية:
HTTP/1.1 503 Service Unavailable
ستظهر لك رسالة الخطأ التالية في استجابة HTTP:
{ "fault": { "faultstring": "The Service is temporarily unavailable", "detail": { "errorcode": "messaging.adaptors.http.flow.NoActiveTargets" } } }
الأسباب المحتملة
تتم عادةً ملاحظة رسالة استجابة HTTP 503 Service Unavailable ورمز الخطأ NoActiveTargets عند استخدام خادم مستهدف واحد أو أكثر في إعداد نقطة النهاية المستهدفة في الخادم الوكيل لواجهة برمجة التطبيقات.
يسرد الجدول التالي الأسباب المحتملة للاستجابة 503 Service Unavailable مع رمز الخطأ NoActiveTargets:
السبب | الوصف | الأشخاص الذين يمكنهم تنفيذ خطوات تحديد المشاكل وحلّها |
---|---|---|
الخادم الهدف غير مفعّل | تم إيقاف الخادم الهدف المحدّد في إعدادات نقطة النهاية المستهدفة. | مستخدمو Edge Public و Private Cloud |
أخطاء الاتصال بسبب التحويل غير الصحيح لنظام أسماء النطاقات | أدى تحليل نظام أسماء النطاقات للخادم المستهدف إلى عناوين IP سيئة تؤدي إلى حدوث أخطاء في الاتصال. | مستخدمو Edge Private Cloud |
أخطاء الاتصال | تمنع مشكلات الشبكة أو الاتصال العميل من الاتصال بالخادم. | مستخدمو Edge Private Cloud |
الاسم المستعار للمضيف المستهدف غير صحيح | مضيف الخادم الهدف المحدّد غير صحيح أو يحتوي على أحرف غير مرغوب فيها (مثل مسافة). | مستخدمو Edge Public و Private Cloud |
تعذّرت تأكيد اتصال طبقة المقابس الآمنة (SSL) | تعذّر تأكيد اتصال بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) بين العميل والخادم. | مستخدمو Edge Public و Private Cloud |
تعذُّر التحقّق من الصحة | قد يتعذّر إجراء عمليات التحقّق من الصحة التي تم ضبطها للتحقّق من سلامة الخادم المستهدَف لسبب ما. | مستخدمو Edge Private Cloud |
السبب: تم إيقاف الخادم الهدف
وإذا تم إيقاف جميع الخوادم المستهدفة المحددة في إعداد نقطة النهاية المستهدفة، فحينئذٍ الحصول على استجابة 503 Service Unavailable مع رمز الخطأ NoActiveTargets.
التشخيص
- يمكنك تحديد اسم الخادم الهدف المُستخدَم في نقطة النهاية المستهدَفة المحدّدة. ضبط خادم وكيل واجهة برمجة التطبيقات الذي أخفق باستخدام إحدى الطرق التالية:
- إذا كانت هناك نقطة نهاية هدف واحدة، تحقَّق من نقطة النهاية المستهدَفة المحدّدة هذه.
- في حال وجود نقاط نهاية مستهدفة متعددة وإذا لم تكن متأكدًا من الخادم الذي أوقف الخادم الهدف، يُرجى اتّباع الخطوات التالية:
- تفعيل جلسة التتبع، وإجراء طلب بيانات من واجهة برمجة التطبيقات وإعادة إظهار المشكلة - خدمة 503 غير متوفرة.
- من التتبع، انتقِل إلى تدفق الطلب المستهدف الذي تم بدءه وحدِّد اسم نقطة النهاية الهدف كما هو موضّح أدناه:
- بعد تحديد نقطة النهاية المستهدفة، احصل على اسم الخادم الهدف المستخدم من إعدادات نقطة النهاية المستهدفة كما هو موضح في المثال أدناه:
<TargetEndpoint name="default">> <HTTPTargetConnection> <LoadBalancer> <Server name="demo-target" /> </LoadBalancer> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
في المثال أعلاه، يتوفّر خادم مستهدَف واحد باسم demo-target.
- احصل على تعريف لكل خادم من الخوادم المستهدفة المستخدمة في نقطة النهاية المستهدفة باستخدام واجهة مستخدم Edge أو طلب بيانات من واجهة برمجة التطبيقات Edge.
واجهة مستخدم Edge
للحصول على التعريف باستخدام واجهة مستخدم Edge:
- انتقِل إلى المشرف >. البيئات > الخوادم المستهدفة.
- اختَر البيئة المحدّدة التي يظهر فيها الخطأ.
- ابحث عن اسم الخادم الهدف المحدّد للحصول على تعريف الخادم الهدف.
على سبيل المثال، اكتب اسم الخادم الهدف
demo-target
وسيظهر تعريفه على النحو الموضّح أدناه:لاحظ هنا أنّ الخادم المستهدف demo-target له اسم مستعار للمضيف، وهو المنفذ رقم وتم تفعيل طبقة المقابس الآمنة (SSL). ومع ذلك، يكون الخادم الهدف نفسه غير مفعَّل ، ويُشار إليه من خلال العنصر enabled الذي يكون غير مفعّل.
واجهة برمجة تطبيقات Edge
للحصول على التعريف باستخدام واجهة برمجة تطبيقات Edge:
استخدم الحصول على TargetServer API للحصول على تعريف الخادم الهدف.
مخرجات تعريف الخادم المستهدَف
<TargetServer name="demo-target"> <Host>demo-target.apigee.net</Host> <Port>443</Port> <IsEnabled>false</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer>
تُظهِر نتائج واجهة برمجة التطبيقات في Apigee أنّ الاستهداف التجريبي للخادم المستهدَف تم إيقافه. حيث تم تعيين العنصر IsEnabled على "خطأ".
نظرًا لإيقاف الخادم الهدف، سيرسل معالج الرسائل خدمة 503. غير متاح مع ظهور رمز الخطأ NoActiveTargets على الفور والاستجابة للعميل.
الدقة
يُرجى التأكّد من أنّ الخوادم المستهدفة المحددة المستخدمة في إعدادات نقطة النهاية المستهدفة في واجهة برمجة التطبيقات. يتم تفعيل الخادم الوكيل دائمًا.
واجهة مستخدم Edge
- انتقِل إلى المشرف >. البيئات > الخوادم المستهدفة.
- اختَر البيئة المحدّدة التي يظهر فيها الخطأ.
- ابحث عن اسم الخادم المستهدف المحدّد للحصول على تعريفه.
- اختَر الخادم الهدف المحدَّد، ثم انقر على تعديل.
- ضَع علامة في مربّع الاختيار مفعّل.
- انقر على تعديل.
واجهة برمجة تطبيقات Edge
استخدم حدِّث واجهة برمجة تطبيقات Target Server API لتعديل تعريف الخادم الهدف والتأكّد من تم ضبط IsEnabled على true في حمولة الطلب في واجهة برمجة التطبيقات كما هو موضّح أدناه:
<TargetServer name="demo-target"> <Host>demo-target.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer>
في حال استمرار المشكلة، انتقِل إلى يجب جمع معلومات التشخيص.
تشخيص المشاكل باستخدام ميزة "مراقبة واجهة برمجة التطبيقات"
تتيح لك مراقبة واجهة برمجة التطبيقات عزل المشاكل بسرعة لتشخيص مشكلات الخطأ والأداء ووقت الاستجابة ومصدرها، مثل مشكلات حساب التطبيقات أو الخوادم الوكيلة لواجهة برمجة التطبيقات أو الأهداف الخلفية أو النظام الأساسي لواجهة برمجة التطبيقات.
الاطّلاع على نموذج سيناريو
يشرح كيفية تحديد مشاكل 5xx وحلّها في واجهات برمجة التطبيقات باستخدام "مراقبة واجهة برمجة التطبيقات". على سبيل المثال:
يمكنك إعداد تنبيه ليتم إعلامك عند بلوغ عدد messaging.adaptors.http.flow.NoActiveTargets
تتجاوز الأخطاء حدًّا معيّنًا.
يجب جمع معلومات التشخيص
في حال استمرار المشكلة حتى بعد اتّباع التعليمات أعلاه، يُرجى جمع ما يلي البيانات التشخيصية. يمكنك التواصل مع فريق Apigee Support ومشاركته مع:
- إذا كنت من مستخدمي Public Cloud، يُرجى تقديم المعلومات التالية:
- اسم المؤسسة
- اسم البيئة
- اسم الخادم الوكيل لواجهة برمجة التطبيقات
- أكمِل أمر curl لإعادة إنتاج الخطأ.
- ملف تتبُّع يحتوي على الطلبات ذات الحالة 503 Service غير متوفرة مع رمز الخطأ NoActiveTargets
- إذا كنت من مستخدمي سحابة خاصة، قدِّم المعلومات التالية:
- تم ملاحظة رسالة خطأ كاملة
- اسم البيئة
- حزمة الخادم الوكيل لواجهة برمجة التطبيقات
- ملف تتبُّع يحتوي على الطلبات ذات الحالة 503 Service غير متوفرة مع رمز الخطأ NoActiveTargets
- سجلات وصول NGINX
(
/opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log
) - سجلات معالج الرسائل
(
/opt/apigee/var/log/edge-message-processor/logs/system.log
)