يتم الآن عرض مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X. info
الفيديوهات
شاهد الفيديو التالي لمعرفة المزيد عن حلّ أخطاء "503: الخدمة غير متاحة".
| فيديو | الوصف |
|---|---|
| خطأ "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: الخدمة غير متاحة:
| السبب | الوصف | المستخدمون الذين يمكنهم اتّباع خطوات تحديد المشاكل وحلّها |
|---|---|---|
| الخادم الذي تم تحميله بشكلٍ زائد | تم تحميل خادم الخلفية بشكلٍ زائد أو تجاوز سعته ولا يمكنه معالجة أي طلبات جديدة واردة من العملاء. | مستخدمو السحابة الإلكترونية العامة والخاصة في Edge |
| الخادم قيد الصيانة | قد يكون خادم الخلفية قيد الصيانة مؤقتًا. | مستخدمو السحابة الإلكترونية العامة والخاصة في Edge |
السبب: الخادم الذي تم تحميله بشكلٍ زائد/الخادم قيد الصيانة
في Apigee Edge، يمكن أن يعرض خادم الخلفية خطأ "503: الخدمة غير متاحة" في أي من الحالتَين التاليتَين:
- يكون خادم الخلفية محمّلاً بشكلٍ زائد أو مشغولاً ولا يمكنه معالجة أي طلبات جديدة.
- يكون خادم الخلفية متوقفًا لفترة مؤقتة بسبب الصيانة.
التشخيص
لتشخيص الخطأ، يمكنك استخدام أي من الطرق الثلاث التالية:
- أداة التتبُّع
- سجلّات الوصول إلى NGINX
- طلب مباشر إلى خادم الخلفية
انقر على علامات التبويب أدناه للتعرّف على كل طريقة.
أداة التتبُّع
- فعِّل جلسة التتبُّع، ونفِّذ طلب بيانات من واجهة برمجة التطبيقات لإعادة إظهار المشكلة - "503: الخدمة غير متاحة".
- اختَر أحد الطلبات التي تعذّر تنفيذها وافحص التتبُّع.
- انتقِل خلال المراحل المختلفة للتتبُّع وحدِّد مكان حدوث الخطأ.
- إذا تبيّن لك أنّ الخطأ 503 يتم عرضه كاستجابة من الخادم الوجهة،
يكون الخادم الوجهة هو سبب الخطأ 503.
في ما يلي لقطة شاشة نموذجية للتتبُّع تعرض استجابة "503: الخدمة غير متاحة" التي تم تلقّيها من الخادم الوجهة:
- انقر على مرحلة الاستجابة التي تم تلقّيها من الخادم الوجهة واطّلِع على قسمَي
عناوين الاستجابة ومحتوى الاستجابة لمعرفة ما إذا كانا يحتويان على أي معلومات مفيدة:
- قد تحتوي "عناوين الاستجابة" على عنوان الخادم الذي يشير إلى مكان إرسال استجابة الخطأ منه.
- قد يحتوي "محتوى الاستجابة" على معلومات إضافية حول سبب إرسال الخادم الوجهة لرمز الاستجابة 503.
- أكِّد أنّ الخطأ 503 صادر من الخادم الوجهة من خلال التحقّق
من قيمتَي X-Apigee-fault-source وX-Apigee-fault-code في مرحلة AX
(تم تسجيل بيانات الإحصاءات) في التتبُّع باستخدام الخطوات الموضّحة أدناه:
- انقر على مرحلة AX (تم تسجيل بيانات الإحصاءات) كما هو موضّح في لقطة الشاشة أدناه:

- انتقِل للأسفل في "تفاصيل المرحلة" إلى قسم "عناوين الاستجابة" وحدِّد القيمتَين
التاليتَين: X-Apigee-fault-code وX-Apigee-fault-source كما هو موضّح أدناه:

- إذا كانت قيمتا X-Apigee-fault-source وX-Apigee-fault-code تطابقان القيمتَين الموضّحتَين في الجدول أدناه، يمكنك التأكّد من أنّ الخطأ 503 صادر من الخادم الوجهة:
عناوين الاستجابة القيمة X-Apigee-fault-source target X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode
- انقر على مرحلة AX (تم تسجيل بيانات الإحصاءات) كما هو موضّح في لقطة الشاشة أدناه:
- تحقَّق مما إذا كنت تستخدم تسلسل الخوادم الوكيلة، أي إذا كان الخادم الوجهة أو نقطة النهاية الوجهة يستدعيان خادمًا وكيلاً آخر في Apigee.
لتحديد ذلك:
- ارجِع إلى مرحلة الطلب الذي تم إرساله إلى الخادم الوجهة و انقر على الزر عرض طلب curl وحدِّد الاسم المستعار لمضيف الخادم الوجهة.
- إذا كان الاسم المستعار لمضيف الخادم الوجهة يشير إلى اسم مستعار لمضيف افتراضي، يكون ذلك تسلسلاً للخوادم الوكيلة. في هذه الحالة، عليك تكرار جميع الخطوات أعلاه للخادم الوكيل المتسلسل إلى أن تحدِّد سبب ظهور الخطأ "503: الخدمة غير متاحة". في هذه الحالات، قد يظهر الخطأ "503: الخدمة غير متاحة" في خوادم وكيلة أخرى متسلسلة في مراحل أخرى أيضًا، ويمكن تشخيص ذلك باستخدام دليل تحديد المشاكل وحلّها هذا.
- إذا كان الاسم المستعار لمضيف الخادم الوجهة يشير إلى خادم الخلفية، انتقِل إلى قسم "الحلّ".
سجلّات الوصول إلى NGINX
يمكنك أيضًا الرجوع إلى سجلّات الوصول إلى NGINX لتحديد ما إذا كان خادم الخلفية قد أرسل رمز الحالة 503. يكون ذلك مفيدًا بشكلٍ خاص إذا حدثت المشكلة في الماضي أو إذا كانت متقطّعة ولم تتمكّن من تسجيل التتبُّع في واجهة المستخدم. اتّبِع الخطوات التالية لتحديد هذه المعلومات من سجلّات الوصول إلى NGINX:
- اطّلِع على سجلّات الوصول إلى NGINX.
/opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log
- ابحث عن أي أخطاء 503 للخادم الوكيل لواجهة برمجة التطبيقات المحدّدة خلال مدة معيّنة (إذا حدثت المشكلة في الماضي) أو عن أي طلبات لا تزال تظهر لها رسالة الخطأ 503.
- إذا ظهرت أي أخطاء 503، تحقَّق مما إذا كان الخطأ صادرًا من خادم الخلفية.
إذا كانت قيمتا X-Apigee-fault-source وX-Apigee-fault-code تطابقان القيمتَين الموضّحتَين في الجدول أدناه، يكون الخطأ 503 صادرًا من خادم الخلفية:
عناوين الاستجابة القيمة X-Apigee-fault-source target X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode في ما يلي نموذج إدخال يعرض الخطأ 503 الناتج عن الخادم الوجهة:
- راجِع الخادم الوكيل لواجهة برمجة التطبيقات المحدّدة وتأكَّد من أنّك تستخدم تسلسل الخوادم الوكيلة، أي إذا كان الخادم الوجهة أو نقطة النهاية الوجهة لا يستدعيان خادمًا وكيلاً آخر في Apigee. إذا كنت تستخدم تسلسل الخوادم الوكيلة، عليك تكرار جميع الخطوات أعلاه للخادم الوكيل المتسلسل إلى أن تحدِّد سبب ظهور الخطأ "503: الخدمة غير متاحة". في هذه الحالات، قد يظهر الخطأ "503: الخدمة غير متاحة" في خوادم وكيلة أخرى متسلسلة في مراحل أخرى أيضًا، ويمكن تشخيص ذلك باستخدام دليل تحديد المشاكل وحلّها هذا.
- إذا تأكّدت من أنّك لا تستخدم تسلسل الخوادم الوكيلة وأنّ الخطأ 503 صادر من خادم الخلفية، انتقِل إلى قسم "الحلّ".
طلب إلى خادم الخلفية
يمكنك إجراء طلب مباشر إلى خادم الخلفية والتأكّد من أنّك تتلقّى استجابة "503: الخدمة غير متاحة" نفسها التي تم تلقّيها عند إجراء الطلب من خلال Apigee Edge.
- تأكَّد من أنّ لديك جميع العناوين المطلوبة ومَعلمات طلب البحث وأي بيانات اعتماد يجب تمريرها إلى خادم الخلفية كجزء من الطلب.
- إذا كانت خدمة الخلفية متاحة للجميع، يمكنك استخدام أمر curl أو Postman أو أي عميل REST آخر واستدعاء واجهة برمجة تطبيقات خادم الخلفية مباشرةً.
- إذا كان خادم الخلفية لا يمكن الوصول إليه إلا من "معالجات الرسائل"، يمكنك استخدام الـ أمر curl أو Postman أو أي عميل REST آخر واستدعاء واجهة برمجة تطبيقات خادم الخلفية مباشرةً من "معالج الرسائل".
- تأكَّد من أنّ خدمة الخلفية تعرض بالفعل الخطأ "503: الخدمة غير متاحة".
الحلّ
إذا تأكّدت من أنّ الخطأ 503 صادر من خادم الخلفية، يمكنك اتّباع الخطوات التالية لحلّ المشكلة:
- إذا كانت المشكلة ناتجة عن توقّف خادم الخلفية للصيانة، يمكنك إعادة خادم الخلفية إلى الإنترنت بعد فترة الصيانة.
- إذا كانت المشكلة ناتجة عن تحميل خادم الخلفية بشكلٍ زائد، يمكنك حلّ المشكلة إذا كان بإمكانك الوصول إلى خادم الخلفية. وإلا، قد تحتاج إلى العمل مع فريق خادم الخلفية لحلّ المشكلة.
تشخيص المشاكل باستخدام "مراقبة واجهة برمجة التطبيقات"
تتيح لك ميزة "مراقبة واجهة برمجة التطبيقات" تحديد مناطق المشاكل بسرعة لتشخيص الأخطاء ومشاكل الأداء ووقت الاستجابة ومصدرها، مثل تطبيقات المطوّرين أو الخوادم الوكيلة لواجهة برمجة التطبيقات أو الوجهات الخلفية أو منصة واجهة برمجة التطبيقات.
اتّبِع سيناريو نموذجًا يوضّح كيفية تحديد مشاكل 5xx في واجهات برمجة التطبيقات وحلّهاباستخدام ميزة "مراقبة واجهة برمجة التطبيقات". على سبيل المثال، قد تحتاج إلى إعداد تنبيه ليتم إعلامك عندما يتجاوز عدد الأخطاء messaging.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