503 सेवा उपलब्ध नहीं है - बैकएंड सर्वर

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

वीडियो

503 सेवा उपलब्ध नहीं होने से जुड़ी गड़बड़ियों को ठीक करने के बारे में ज़्यादा जानने के लिए, यह वीडियो देखें.

वीडियो ब्यौरा
बैकएंड सर्वर, 503 सेवा उपलब्ध न होने से जुड़ी गड़बड़ी इनके बारे में जानें:
  • Apigee Edge में, 503 सेवा उपलब्ध न होने से जुड़ी गड़बड़ी के बारे में जानकारी
  • बैकएंड सर्वर से, रीयल-टाइम 503 सेवा उपलब्ध न होने की समस्या का हल करना और उसे ठीक करना

समस्या का ब्यौरा

क्लाइंट ऐप्लिकेशन को एपीआई प्रॉक्सी कॉल के बाद, सेवा उपलब्ध नहीं है मैसेज के साथ, एचटीटीपी रिस्पॉन्स स्टेटस 503 मिलता है.

गड़बड़ी के मैसेज

आपको इनमें से गड़बड़ी का कोई एक मैसेज दिख सकता है:

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

आपको एचटीटीपी रिस्पॉन्स में गड़बड़ी का यह मैसेज भी दिख सकता है:

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

ध्यान दें: ऊपर दिया गया रिस्पॉन्स कोड और गड़बड़ी का मैसेज, सिर्फ़ उदाहरण के तौर पर दिया गया है. कुछ मामलों में, ऐसा हो सकता है कि आपको सिर्फ़ गड़बड़ी का रिस्पॉन्स कोड मिले, लेकिन गड़बड़ी का कोई मैसेज न दिखे. बैकएंड सर्वर को लागू करने के आधार पर, गड़बड़ी के रिस्पॉन्स कोड का फ़ॉर्मैट, कॉन्टेंट, और गड़बड़ी का मैसेज अलग-अलग हो सकता है.

समस्या की वजह

एचटीटीपी स्टेटस कोड 503 का मतलब है कि फ़िलहाल सर्वर, आने वाले अनुरोधों को मैनेज नहीं कर सकता. आम तौर पर, यह गड़बड़ी तब होती है, जब सर्वर बहुत व्यस्त होता है या रखरखाव के लिए कुछ समय के लिए बंद होता है.

503 सेवा उपलब्ध नहीं है जवाब की ये वजहें हो सकती हैं:

Cause Description समस्या हल करने वाले चरणों को कौन पूरा कर सकता है
ओवरलोडेड सर्वर बैकएंड सर्वर पर बहुत ज़्यादा लोड है या उसकी क्षमता से ज़्यादा है. इस सर्वर पर आने वाले किसी भी नए क्लाइंट के अनुरोध को हैंडल नहीं किया जा सकता. Edge के सार्वजनिक और निजी क्लाउड के उपयोगकर्ता
सर्वर में काम चल रहा है ऐसा हो सकता है कि बैकएंड सर्वर का कुछ समय के लिए रखरखाव किया जा रहा हो. Edge के सार्वजनिक और निजी क्लाउड के उपयोगकर्ता

वजह: सर्वर/सर्वर पर रखरखाव की प्रक्रिया चल रही है

Apigee Edge में, '503 सेवा उपलब्ध नहीं होने से जुड़ी गड़बड़ी' को बैकएंड सर्वर से, इनमें से किसी भी स्थिति में लौटाया जा सकता है:

  • बैकएंड सर्वर पर बहुत ज़्यादा काम या व्यस्त होने की वजह से, कोई नया अनुरोध स्वीकार नहीं किया जा सकता.
  • रखरखाव की वजह से, बैकएंड सर्वर कुछ समय के लिए काम नहीं कर रहा था.

संक्रमण की जांच

गड़बड़ी का पता लगाने के लिए, इन तीन में से किसी भी तरीके का इस्तेमाल किया जा सकता है:

  • ट्रेस टूल
  • NGINX के ऐक्सेस लॉग
  • बैकएंड सर्वर पर डायरेक्ट कॉल

हर तरीके के बारे में जानने के लिए, नीचे दिए गए टैब पर क्लिक करें.

ट्रेस टूल

  1. ट्रेस सेशन चालू करें और समस्या को फिर से दिखाने के लिए एपीआई कॉल करें - 503 सेवा उपलब्ध नहीं है.
  2. सफल न होने वाले अनुरोधों में से किसी एक को चुनें और ट्रेस की जांच करें.
  3. ट्रेस के अलग-अलग चरणों में नेविगेट करें और पता लगाएं कि गड़बड़ी कहां हुई थी.
  4. अगर आपको लगता है कि 503 गड़बड़ी, टारगेट सर्वर से रिस्पॉन्स के तौर पर मिलती है, तो 503 गड़बड़ी की वजह टारगेट सर्वर है.

    यहां टारगेट सर्वर से मिला '503 सेवा उपलब्ध नहीं है' रिस्पॉन्स के तौर पर मिले 503 कोड का सैंपल दिखाया गया है:

  5. टारगेट सर्वर से मिला रिस्पॉन्स पर क्लिक करें. इसके बाद, रिस्पॉन्स हेडर और रिस्पॉन्स कॉन्टेंट सेक्शन देखें और देखें कि क्या उनमें कोई काम की जानकारी है:
    • रिस्पॉन्स हेडर में सर्वर हेडर हो सकता है, जिससे पता चलता है कि गड़बड़ी का रिस्पॉन्स कहां से भेजा गया था.
    • रिस्पॉन्स कॉन्टेंट में इस बारे में ज़्यादा जानकारी हो सकती है कि टारगेट सर्वर ने 503 रिस्पॉन्स कोड क्यों भेजा.
  6. नीचे दिए गए तरीके का इस्तेमाल करके, पुष्टि करें कि 503 गड़बड़ी टारगेट सर्वर से आ रही है. इसके लिए, AX (Analytics डेटा रिकॉर्ड किया गया) चरण में X-Apigee-fault-source और X-Apigee-fault-code की वैल्यू जांचकर देखें:
    1. नीचे दिए गए स्क्रीनशॉट में दिखाए गए तरीके के मुताबिक, AX (Analytics डेटा रिकॉर्ड किया गया) फ़ेज़ पर क्लिक करें:
    2. चरण की जानकारी को नीचे की ओर स्क्रोल करके, रिस्पॉन्स हेडर सेक्शन पर जाएं. इसके बाद, X-Apigee-fault-code और X-Apigee-fault-source की वैल्यू तय करें, जैसा कि यहां दिखाया गया है:
    3. अगर X-Apigee-fault-source और X-Apigee-fault-code की वैल्यू, यहां दी गई टेबल में दिखाई गई वैल्यू से मेल खाती हैं, तो यह पुष्टि की जा सकती है कि 503 गड़बड़ी, टारगेट सर्वर से आ रही है:
      रिस्पॉन्स हेडर वैल्यू
      X-Apigee-fault-source टारगेट
      X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode
  7. देखें कि प्रॉक्सी चेन का इस्तेमाल किया जा रहा है या नहीं. उदाहरण के लिए, अगर टारगेट सर्वर/टारगेट एंडपॉइंट Apigee में किसी अन्य प्रॉक्सी का इस्तेमाल कर रहा है. इसका पता लगाने के लिए:
    1. टारगेट सर्वर को अनुरोध भेजा गया फ़ेज़ पर वापस जाएं. इसके बाद, कर्ल दिखाएं बटन पर क्लिक करके, टारगेट सर्वर होस्ट का उपनाम तय करें.
    2. अगर टारगेट सर्वर होस्ट का उपनाम किसी वर्चुअल होस्ट के उपनाम से जुड़ा हुआ है, तो इसका मतलब है प्रॉक्सी चेन. ऐसे मामले में, आपको चेन वाली प्रॉक्सी के लिए ऊपर दिए गए सभी चरणों को तब तक दोहराना होगा, जब तक कि आपको यह पता नहीं चल जाता कि असल में 503 सेवा उपलब्ध न होने की गड़बड़ी की वजह क्या है. इन मामलों में, '503 सेवा उपलब्ध नहीं है' स्थिति, दूसरे चरणों पर एक-दूसरे से जुड़ी प्रॉक्सी में भी हो सकती है. इस प्लेबुक का इस्तेमाल करके, इस समस्या की जांच की जा सकती है.
    3. अगर टारगेट सर्वर होस्ट का उपनाम आपके बैकएंड सर्वर पर ले जाता है, तो रिज़ॉल्यूशन पर जाएं.

NGINX के ऐक्सेस लॉग

यह पता लगाने के लिए कि बैकएंड सर्वर से 503 स्टेटस कोड भेजा गया था या नहीं, NGINX लैक्सेस लॉग भी देखे जा सकते हैं. यह सुविधा खास तौर पर तब मददगार होती है, जब समस्या पहले भी हुई हो या कभी-कभी समस्या आ रही हो और आपको यूज़र इंटरफ़ेस (यूआई) में ट्रेस कैप्चर नहीं हो पा रहे हों. 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-code की वैल्यू, नीचे दी गई टेबल में दिखाई गई वैल्यू से मेल खाती हैं, तो 503 गड़बड़ी, बैकएंड सर्वर से आ रही होगी:
    रिस्पॉन्स हेडर वैल्यू
    X-Apigee-fault-source टारगेट
    X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode

    टारगेट सर्वर की वजह से हुई 503 गड़बड़ी दिखाने वाली सैंपल एंट्री यहां दी गई है:

  4. उस एपीआई प्रॉक्सी की समीक्षा करें और पक्का करें कि आप प्रॉक्सी चेन का इस्तेमाल कर रहे हों यानी, अगर टारगेट सर्वर/टारगेट एंडपॉइंट, Apigee में कोई दूसरा प्रॉक्सी शुरू नहीं कर रहा है. अगर प्रॉक्सी चेन का इस्तेमाल किया जा रहा है, तो आपको जोड़े गए प्रॉक्सी के लिए ऊपर दिए गए सभी चरणों को तब तक दोहराना होगा, जब तक कि आपको यह पता न चल जाए कि 503 सेवा उपलब्ध न होने की गड़बड़ी की वजह क्या है. इन मामलों में, 503 सेवा उपलब्ध न होने की समस्या, दूसरे स्टेज पर भी दूसरे स्टेज पर मौजूद प्रॉक्सी हो सकती है. इस प्लेबुक का इस्तेमाल करके, इस समस्या की गड़बड़ी का पता लगाया जा सकता है.
  5. अगर यह पुष्टि की जाती है कि प्रॉक्सी चेन का इस्तेमाल नहीं किया जा रहा है और 503 गड़बड़ी आपके बैकएंड सर्वर से आ रही है, तो रिज़ॉल्यूशन पर जाएं.

बैकएंड सर्वर पर कॉल करें

आपके पास सीधे बैकएंड सर्वर पर कॉल करने का विकल्प है. साथ ही, यह पुष्टि की जा सकती है कि आपको वही रिस्पॉन्स मिल रहा है जो Apigee Edge से अनुरोध करने पर, 503 सेवा उपलब्ध नहीं है.

  1. पक्का करें कि आपके पास सभी ज़रूरी हेडर, क्वेरी पैरामीटर, और वे सभी क्रेडेंशियल हों जिन्हें अनुरोध के तौर पर बैकएंड सर्वर पर भेजना है.
  2. अगर बैकएंड सेवा सार्वजनिक तौर पर उपलब्ध है, तो कर्ल कमांड, पोस्टमैन या कोई दूसरा REST क्लाइंट इस्तेमाल किया जा सकता है. साथ ही, सीधे बैकएंड सर्वर एपीआई को शुरू किया जा सकता है.
  3. अगर बैकएंड सर्वर को सिर्फ़ मैसेज प्रोसेसर से ऐक्सेस किया जा सकता है, तो कर्ल कमांड, पोस्टमैन या किसी अन्य REST क्लाइंट का इस्तेमाल किया जा सकता है. साथ ही, सीधे मैसेज प्रोसेसर से बैकएंड सर्वर एपीआई शुरू किया जा सकता है.
  4. पुष्टि करें कि बैकएंड सेवा, वाकई '503 सेवा उपलब्ध नहीं है' गड़बड़ी दिखा रही है.

रिज़ॉल्यूशन

अगर आपको पता चलता है कि 503 गड़बड़ी, बैकएंड सर्वर से आ रही है, तो इस समस्या को हल करने के लिए ये तरीके आज़माएं:

  • अगर यह समस्या तब होती है, जब बैकएंड सर्वर रखरखाव के लिए काम नहीं करता, तो रखरखाव की अवधि खत्म होने के बाद बैकएंड सर्वर को ऑनलाइन लाया जा सकता है.
  • अगर यह समस्या बैकएंड सर्वर के ओवरलोड होने की वजह से हुई है, तो अगर आपके पास बैकएंड सर्वर का ऐक्सेस है, तो समस्या को ठीक करें. अगर ऐसा नहीं है, तो इस समस्या को ठीक करने के लिए, आपको अपनी बैकएंड सर्वर टीम के साथ मिलकर काम करना पड़ सकता है.

एपीआई मॉनिटरिंग का इस्तेमाल करके समस्याओं का पता लगाना

एपीआई मॉनिटरिंग की मदद से, समस्या वाले हिस्सों को तुरंत अलग-अलग करके देखा जा सकता है. इससे गड़बड़ियों, परफ़ॉर्मेंस, और इंतज़ार के समय से जुड़ी समस्याओं और उनके सोर्स, जैसे कि डेवलपर ऐप्लिकेशन, एपीआई प्रॉक्सी, बैकएंड टारगेट या एपीआई प्लैटफ़ॉर्म का पता लगाने में मदद मिलती है.

उदाहरण के लिए, मामले की जांच करें. इसमें, एपीआई मॉनिटरिंग का इस्तेमाल करके, अपने एपीआई की 5xx समस्याओं को हल करने का तरीका बताया गया है. उदाहरण के लिए, ऐसा हो सकता है कि आप एक ऐसा अलर्ट सेट अप करना चाहें जिसके ज़रिए, message.adaptors.http.flow.ErrorResponseCode में गड़बड़ी की संख्या किसी खास थ्रेशोल्ड से ज़्यादा हो.

ऐप्लिकेशन की परफ़ॉर्मेंस से जुड़ी जानकारी इकट्ठा करनी होगी

अगर ऊपर दिए गए निर्देशों का पालन करने के बाद भी समस्या बनी रहती है, तो कृपया गड़बड़ी से जुड़ी यह जानकारी इकट्ठा करें और फिर Apigee की सहायता टीम से संपर्क करें.

अगर आप सार्वजनिक क्लाउड उपयोगकर्ता हैं, तो यह जानकारी दें:

  • संगठन का नाम
  • एनवायरमेंट का नाम
  • एपीआई प्रॉक्सी का नाम
  • 503 गड़बड़ी को फिर से दिखाने के लिए कर्ल कमांड पूरा करें
  • 503 Service अनुपलब्ध गड़बड़ी वाले अनुरोधों वाली ट्रेस फ़ाइल
  • अगर फ़िलहाल 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 गड़बड़ियां होने के समय, टाइमज़ोन की जानकारी वाली समयावधि.