503 الخدمة غير متوفرة - NoActiveTargets

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

الفيديوهات الطويلة

راجع مقاطع الفيديو التالية للحصول على مزيد من المعلومات حول أخطاء 503:

حملة فيديو الوصف
تحديد المشاكل وحلّها في خدمة 503 Service Unavailable - NoActiveTargets تعرَّف على ما يلي:
  • أهمية الخوادم المستهدفة وأدوات مراقبة السلامة
  • استكشاف الأخطاء وإصلاحها وحل مشكلة عدم توفر خدمة 503 في الوقت الفعلي - خطأ 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 الخدمة غير متوفرة مع رمز الخطأ NoActiveTargets عند استخدام خادم هدف واحد أو أكثر في إعداد نقطة النهاية الهدف في الخادم الوكيل لواجهة برمجة التطبيقات.

يسرد الجدول التالي الأسباب المحتملة للاستجابة 503 Service Unavailable مع رمز الخطأ NoActiveTargets:

السبب الوصف المستخدمون الذين يمكنهم تنفيذ خطوات تحديد المشاكل وحلّها
تم إيقاف الخادم المستهدف تم إيقاف الخادم الهدف المحدَّد في ضبط نقطة النهاية الهدف. مستخدمو Edge العام والخاص على السحابة الإلكترونية
أخطاء الاتصال بسبب التحويل غير الصحيح لنظام أسماء النطاقات (DNS) أدّى التحويل باستخدام نظام أسماء النطاقات (DNS) من الخادم الهدف إلى ظهور عناوين IP سيئة تؤدي إلى حدوث أخطاء في الاتصال. مستخدمو Edge Private Cloud
أخطاء الاتصال تحول مشكلات الشبكة أو الاتصال دون اتصال العميل بالخادم. مستخدمو Edge Private Cloud
العنوان البديل للبريد الإلكتروني المستهدف غير صحيح مضيف الخادم الهدف المحدّد غير صحيح أو يحتوي على أحرف غير مرغوب فيها (مثل المسافة). مستخدمو Edge العام والخاص على السحابة الإلكترونية
تعذُّر تأكيد الاتصال بطبقة المقابس الآمنة (SSL) تعذّرت تأكيد اتصال بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة بين العميل والخادم. مستخدمو Edge العام والخاص على السحابة الإلكترونية
حالات تعذُّر التحقّق من الصحة قد يتعذّر إجراء عمليات التحقّق من الصحة التي تم ضبطها للتحقّق من سلامة الخادم الهدف لسبب ما. مستخدمو Edge Private Cloud

السبب: تم إيقاف الخادم الهدف.

في حال إيقاف جميع الخوادم المستهدفة المحددة في إعدادات نقطة النهاية المستهدفة، ستحصل على الاستجابة 503 Service Unavailable مع رمز الخطأ NoActiveTargets.

التشخيص

  1. يمكنك تحديد اسم الخادم المستهدف المستخدَم في عملية ضبط نقطة النهاية المستهدفة المحددة للخادم الوكيل لواجهة برمجة التطبيقات الذي يتعذّر تطبيقه باستخدام إحدى الطريقتَين التاليتَين:
    1. إذا كانت هناك نقطة نهاية مستهدفة واحدة، عليك التحقق من نقطة النهاية المستهدفة هذه تحديدًا.
    2. إذا كانت هناك نقاط نهاية مستهدفة متعددة ولم تكن متأكدًا من النقطة التي أوقفت الخادم الهدف، اتّبِع الخطوات التالية:
      1. فعِّل جلسة التتبُّع، ونفِّذ طلب بيانات من واجهة برمجة التطبيقات وأعِد إظهار المشكلة - خدمة 503 غير متاحة.
      2. من صفحة التتبُّع، انتقِل إلى بدء تدفق الطلب وحدِّد اسم نقطة النهاية المستهدَفة كما هو موضّح أدناه:
      3. تحديد اسم نقطة النهاية الهدف من التتبع

  2. بعد تحديد نقطة النهاية المستهدفة، احصل على اسم الخادم الهدف المستخدَم من عملية ضبط نقطة النهاية المستهدفة كما هو موضّح في المثال أدناه:
    <TargetEndpoint name="default">>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="demo-target" />
        </LoadBalancer>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
          

    في المثال أعلاه، يوجد خادم مستهدف واحد يسمى demo-target.

  3. احصل على التعريف لكل خادم من الخوادم الهدف المستخدَمة في نقطة النهاية الهدف باستخدام واجهة مستخدم Edge أو طلب بيانات من واجهة برمجة تطبيقات Edge.

    واجهة مستخدم Edge

    للحصول على التعريف باستخدام واجهة مستخدم Edge:

    1. انتقِل إلى المشرف > البيئات > الخوادم المستهدفة.
    2. اختَر البيئة المحدّدة التي ترى فيها الفشل.
    3. ابحث عن اسم الخادم الهدف المحدد للحصول على تعريف الخادم الهدف.

      على سبيل المثال، اكتب اسم الخادم الهدف demo-target وسيظهر لك تعريفه كما هو موضّح أدناه:

      اسم الخادم المستهدف والحالة المفعّلة/المتوقفة

      لاحظ هنا أن الخادم الهدف demo-target يحتوي على اسم مستعار للمضيف ورقم المنفذ وطبقة المقابس الآمنة (SSL) مفعّلة. ومع ذلك، يكون الخادم الهدف نفسه غير مفعّل ، ويُشار إليه من خلال العنصر تفعيل غير مفعّل.

    واجهة برمجة تطبيقات Edge

    وللحصول على التعريف باستخدام واجهة برمجة تطبيقات Edge:

    استخدِم Get 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 API أنّ الخادم الهدف demo-target هو غير مفعَّل بسبب ضبط العنصر IsEnabled على "خطأ".

    نظرًا لإيقاف الخادم المستهدف، سيرسل معالج الرسائل 503 Service Unavailable مع رمز الخطأ NoActiveTargets على الفور كاستجابة للعميل.

درجة الدقّة

تأكّد من أنّ الخوادم الهدف المحدّدة المستخدَمة في ضبط نقطة النهاية المستهدفة للخادم الوكيل لواجهة برمجة التطبيقات تكون دائمًا مفعَّلة.

واجهة مستخدم Edge

  1. انتقِل إلى المشرف > البيئات > الخوادم المستهدفة.
  2. اختَر البيئة المحدّدة التي ترى فيها الفشل.
  3. ابحث عن اسم الخادم الهدف المحدّد للحصول على تعريفه.
  4. اختر الخادم الهدف المحدد، ثم انقر على تعديل.
  5. اختر مربع الاختيار مفعّل.
  6. انقر على تعديل.

واجهة برمجة تطبيقات Edge

استخدِم Update a 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 ومشاركته:

  1. إذا كنت من مستخدمي السحابة الإلكترونية العامة، يُرجى تقديم المعلومات التالية:
    1. اسم المؤسسة
    2. اسم البيئة
    3. اسم الخادم الوكيل لواجهة برمجة التطبيقات
    4. إكمال أمر curl لإعادة إظهار الخطأ
    5. تتبع ملف يحتوي على الطلبات التي بها خدمة 503 غير متاحة مع رمز الخطأ NoActiveTargets
  2. إذا كنت أحد مستخدمي Private Cloud، يُرجى تقديم المعلومات التالية:
    1. تم رصد رسالة خطأ مكتملة.
    2. اسم البيئة
    3. حزمة الخادم الوكيل لواجهة برمجة التطبيقات
    4. تتبع ملف يحتوي على الطلبات التي بها خدمة 503 غير متاحة مع رمز الخطأ NoActiveTargets
    5. سجلات الوصول إلى NGINX

      (/opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log)

    6. سجلات معالج الرسائل

      (/opt/apigee/var/log/edge-message-processor/logs/system.log)