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

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

الفيديوهات

شاهد الفيديو التالي لمعرفة المزيد حول حل أخطاء 503 خدمة غير متوفرة.

فيديو الوصف
الخطأ 503 "عدم توفُّر الخدمة" من خادم الخلفية يمكنك الاطّلاع على ما يلي:
  • مقدّمة عن الخطأ "503 Service Unavailable" في Apigee Edge
  • تحديد المشاكل وحلّها في ما يخص خدمة 503 غير متوفرة في الوقت الفعلي من خادم الخلفية

المشكلة

تطبيق العميل يتلقى حالة استجابة HTTP 503 مع الرسالة الخدمة غير متاحة التالية استدعاء خادم وكيل لواجهة برمجة التطبيقات.

رسائل الخطأ

يمكنك رؤية إحدى رسائل الخطأ التالية:

HTTP/1.1 503 Service Unavailable
HTTP/1.1 503 Service Unavailable: Back-end server is at capacity

قد تظهر لك أيضًا رسالة خطأ كما يلي: في استجابة HTTP:

The server is temporarily unable to service your request due to
maintenance downtime or capacity problems. Please try again later.

ملاحظة: رمز الاستجابة ورسالة الخطأ أعلاه مجرد أمثلة. في بعض الحالات، قد تتلقى رمز الاستجابة للخطأ فقط بدون أي رسالة خطأ. قد يختلف تنسيق ومحتوى رمز استجابة الخطأ ورسالة الخطأ استنادًا إلى تنفيذ خادم الخلفية.

الأسباب

يعني رمز حالة HTTP 503 أن الخادم غير قادر حاليًا على معالجة الطلبات الواردة الطلبات. يحدث هذا الخطأ عادةً عندما يكون الخادم مشغولاً جدًا أو مؤقتًا للصيانة.

من الأسباب المحتملة للاستجابة 503 Service غير متوفرة ما يلي:

السبب الوصف مَن يمكنه تنفيذ خطوات تحديد المشاكل وحلّها
التحميل الزائد على الخادم هناك تحميل زائد على خادم الخلفية أو تجاوز قدرته، لذا لا يمكنه معالجة أي ملفات طلبات العملاء الواردة. مستخدمو Edge Public و Private Cloud
صيانة الخادم قد يكون الخادم الخلفي قيد الصيانة مؤقتًا. مستخدمو Edge Public و Private Cloud

السبب: تحميل الخادم/الخادم بشكل زائد أثناء الصيانة

في Apigee Edge، يمكن عرض الخطأ "503 Service Unavailable" من خادم خلفية. في أي من الحالتين التاليتين:

  • هناك خادم الخلفية محمّل بشكل زائد أو مشغول ولا يمكنه معالجة أي طلبات جديدة.
  • توقف خادم الخلفية لفترة مؤقتة بسبب الصيانة.

التشخيص

لتشخيص الخطأ، يمكنك اتّباع أي من الطرق الثلاث التالية:

  • أداة التتبُّع
  • سجلات وصول NGINX
  • الاتصال المباشر بخادم الخلفية

انقر على علامات التبويب أدناه للتعرف على كل طريقة.

أداة التتبُّع

  1. فعِّل جلسة التتبُّع. وإجراء طلب بيانات من واجهة برمجة التطبيقات لإعادة إنتاج المشكلة - 503 Service Unavailable.
  2. اختَر أحد الطلبات التي تعذّر تنفيذها وافحص عملية التتبُّع.
  3. يمكنك التنقّل خلال مراحل عملية التتبُّع المختلفة وتحديد مكان حدوث الفشل.
  4. إذا وجدت أنه تم إرجاع الخطأ 503 كاستجابة من الخادم الهدف، فإن سبب الخطأ 503 هو الخادم الهدف.

    في ما يلي لقطة شاشة لنموذج التتبُّع تظهر فيها رسالة الخطأ 503 التي تتضمّن الردّ "عدم توفّر الخدمة" من الخادم الهدف:

  5. انقر على مرحلة الردّ الذي تلقّيته من الخادم المستهدَف وانتقِل إلى أقسام عناوين الردود و"محتوى الرد" لمعرفة ما إذا كانت تحتوي على أي معلومات مفيدة:
    • قد تحتوي عناوين الاستجابة على عنوان الخادم، والذي يشير إلى الذي تم إرسال استجابة الخطأ منه.
    • قد يتضمّن "محتوى الردّ" معلومات إضافية عن السبب أرسل الخادم الهدف رمز الاستجابة 503.
  6. تأكَّد من أنّ رسالة الخطأ 503 واردة من الخادم الهدف، وذلك من خلال التحقّق. قيم X-Apigee-fault-source وX-Apigee-fault-source في X-Apigee-fault-source (بيانات مسجَّلة في "إحصاءات Google") في التتبُّع باستخدام الخطوات التالية:
    1. انقر على المرحلة AX (بيانات "إحصاءات Google المسجَّلة") كما هو موضّح في لقطة الشاشة أدناه:
    2. مرر لأسفل من "تفاصيل المرحلة" إلى قسم "عناوين الاستجابة" وحدِّد القيم من X-Apigee-fault-code وX-Apigee-fault-code كما هو موضح أدناه:
    3. إذا تطابقت قيمتا X-Apigee-fault-source وX-Apigee-fault-source مع القيمتين. في الجدول أدناه، يمكنك التأكد من أن الخطأ 503 يأتي من الخادم الهدف:
      عناوين الردود القيمة
      X-Apigee-fault-source الاستهداف
      X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode
  7. التحقق مما إذا كنت تستخدم تسلسل الخادم الوكيل، بمعنى ما إذا كان الخادم الهدف/نقطة النهاية المستهدفة استدعاء خادم وكيل آخر في Apigee. لتحديد ذلك:
    1. انتقِل مرة أخرى إلى مرحلة تم إرسال الطلب إلى الخادم الهدف و انقر على زر إظهار Curl وحدد الاسم المستعار لمضيف الخادم المستهدف.
    2. فإذا كان الاسم المستعار لمضيف الخادم المستهدف يشير إلى اسم مستعار لمضيف افتراضي، فإنه تسلسل الخادم الوكيل. في هذه الحالة، تحتاج إلى تكرار جميع الخطوات المذكورة أعلاه للسلسلة حتى تحدد السبب الفعلي لخطأ "503 الخدمة غير متوفرة". في هذه الحالات، قد يحدث الخطأ 503 Service Unavailable في الخوادم الوكيلة الأخرى المتسلسلة في حسابات أخرى المراحل المختلفة أيضًا والتي يمكن تشخيصها باستخدام هذا الدليل الإرشادي.
    3. إذا كان الاسم المستعار لمضيف الخادم المستهدف يشير إلى خادم الخلفية، فانتقل إلى الحلّ:

سجلات وصول NGINX

ويمكنك أيضًا الرجوع إلى سجلّات NGINX lccie لتحديد ما إذا تم إرسال رمز الحالة 503 أم لا. بواسطة خادم الخلفية. يكون ذلك مفيدًا بشكل خاص إذا كانت المشكلة قد حدثت في الماضي أو إذا كانت المشكلة تحدث بشكل متقطع ولا يمكنك تسجيل آثار الأنشطة في واجهة المستخدم. اتّبِع الخطوات التالية لتحديد هذه المعلومات من سجلات وصول NGINX:

  1. تحقَّق من سجلات وصول NGINX.
    /opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log
  2. البحث عن أي أخطاء 503 للخادم الوكيل المحدد لواجهة برمجة التطبيقات خلال مدة محددة (إذا حدثت المشكلة في الماضي) أو لأي طلبات تستمر في الفشل مع 503.
  3. إذا كان هناك أي أخطاء 503، فتحقّق مما إذا كان الخطأ صادرًا من خادم الخلفية. إذا كانت قيمتا X-Apigee-fault-source وX-Apigee-fault-source تتطابق مع القيم المعروضة في الجدول أدناه، يأتي الخطأ 503 من خادم الخلفية:
    عناوين الردود القيمة
    X-Apigee-fault-source الاستهداف
    X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode

    في ما يلي نموذج إدخال يعرض الخطأ 503 الذي تسبب فيه الخادم الهدف:

  4. راجِع الخادم الوكيل لواجهة برمجة التطبيقات المعنيَّين وتأكَّد من أنّك تستخدم سلاسل الخادم الوكيل إذا كانت الخادم الهدف/نقطة النهاية المستهدفة لا يستدعي خادمًا وكيلاً آخر في Apigee. في حال استخدام الخادم الوكيل، تحتاج إلى تكرار جميع الخطوات المذكورة أعلاه للوكيل المتسلسل حتى تحدد سبب الخطأ "503 الخدمة غير متوفرة". في هذه الحالات، قد يحدث الخطأ 503 Service Unavailable في الخوادم الوكيلة الأخرى المتسلسلة في مراحل أخرى أيضًا، التي يمكنك تشخيصها باستخدام هذا الدليل الإرشادي.
  5. إذا تأكدت من عدم استخدام تسلسل الخادم الوكيل، وكان الخطأ 503 واردًا من خادم الخلفية، ثم انتقِل إلى الحلّ.

الاتصال بخادم الخلفية

يمكنك إجراء اتصال مباشر بخادم الخلفية والتأكّد من أنّه يتم الحصول على الإعدادات نفسها استجابة 503 Service Unavailable كما تم استلامه عند تقديم الطلب من خلال Apigee Edge.

  1. تأكّد من توفّر جميع الرؤوس ومعلَمات طلب البحث وأي بيانات اعتماد يجب تمريرهما إلى خادم الخلفية كجزء من الطلب.
  2. إذا كانت خدمة الخلفية متاحة للجميع، يمكنك استخدام الأمر curl، Postman أو أي برنامج REST آخر واستدعاء واجهة برمجة تطبيقات خادم الخلفية مباشرةً
  3. إذا كان الوصول إلى الخادم الخلفي متاحًا فقط من خلال "معالجات الرسائل"، يمكنك استخدام أو Postman أو أي برنامج REST آخر واستدعاء واجهة برمجة تطبيقات خادم الخلفية مباشرةً من معالج الرسائل.
  4. تحقق من أن الخدمة الخلفية تعرض بالفعل الخطأ 503 الخدمة غير متوفرة.

الدقة

إذا كنت متأكدًا من أن الخطأ 503 وارد من خادم الخلفية، فيمكنك إجراء التالية لحل المشكلة:

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

تشخيص المشاكل باستخدام مراقبة واجهة برمجة التطبيقات

تتيح لك مراقبة واجهة برمجة التطبيقات عزل مجالات المشكلات بسرعة لتشخيص الخطأ والأداء ومشاكل وقت الاستجابة ومصدرها، مثل تطبيقات المطوّرين، والخوادم الوكيلة لواجهة برمجة التطبيقات، وأهداف الخلفية أو منصة واجهة برمجة التطبيقات.

الاطّلاع على نموذج سيناريو يوضّح كيفية تحديد مشاكل 5xx وحلّها في واجهات برمجة التطبيقات. باستخدام مراقبة واجهة برمجة التطبيقات. على سبيل المثال، قد ترغب في إعداد تنبيه ليتم إعلامك عندما يزيد رقم من أخطاء report.adaptors.http.flow.ErrorResponseCode تتجاوز حدًا أقصى معيَّنًا.

يجب جمع معلومات التشخيص

في حالة استمرار المشكلة حتى بعد اتباع الإرشادات أعلاه، يرجى جمع واتباع معلومات التشخيص، ثم الاتصال دعم Apigee:

إذا كنت من مستخدمي السحابة الإلكترونية المتاحة للجميع، يُرجى تقديم المعلومات التالية:

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

إذا كنت مستخدمًا خاصًا على السحابة الإلكترونية، يُرجى تقديم المعلومات التالية:

  • رسالة خطأ كاملة تمت ملاحظتها للطلبات التي تعذّر تنفيذها.
  • المؤسسة واسم البيئة واسم الخادم الوكيل لواجهة برمجة التطبيقات التي تلاحظ أخطاء 503 بها.
  • حزمة الخادم الوكيل لواجهة برمجة التطبيقات.
  • تتبع ملف يحتوي على الطلبات مع الخطأ 503 الخدمة غير متوفرة.
  • سجلات وصول NGINX.
    /opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log
  • سجلّات معالج الرسائل
    /opt/apigee/var/log/edge-message-processor/logs/system.log
  • الفترة الزمنية التي تتضمن معلومات المنطقة الزمنية عند حدوث أخطاء 503.