आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
वीडियो
'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 | ब्यौरा | समस्या हल करने का तरीका कौन अपना सकता है |
|---|---|---|
| सर्वर पर ज़्यादा लोड होना | बैकएंड सर्वर पर बहुत ज़्यादा लोड है या वह अपनी क्षमता से ज़्यादा काम कर रहा है. इसलिए, वह क्लाइंट से मिले किसी भी नए अनुरोध को प्रोसेस नहीं कर सकता. | Edge Public और Private Cloud के उपयोगकर्ताओं के लिए |
| सर्वर का रखरखाव चल रहा है | ऐसा हो सकता है कि बैकएंड सर्वर पर कुछ समय के लिए रखरखाव का काम चल रहा हो. | Edge Public और Private Cloud के उपयोगकर्ताओं के लिए |
वजह: सर्वर पर ज़्यादा लोड होना/सर्वर का रखरखाव चल रहा होना
Apigee Edge में, बैकएंड सर्वर से 503 Service Unavailable Error तब मिल सकती है, जब इनमें से कोई एक स्थिति हो:
- बैकएंड सर्वर पर काफ़ी ज़्यादा लोड है/वह व्यस्त है. इसलिए, वह नए अनुरोधों को प्रोसेस नहीं कर सकता.
- रखरखाव की वजह से, बैकएंड सर्वर कुछ समय के लिए बंद है.
संक्रमण की जांच
गड़बड़ी का पता लगाने के लिए, इनमें से किसी भी तरीके का इस्तेमाल किया जा सकता है:
- ट्रेस टूल
- NGINX ऐक्सेस लॉग
- बैकएंड सर्वर को सीधे कॉल करना
हर तरीके के बारे में जानने के लिए, यहां दिए गए टैब पर क्लिक करें.
ट्रेस टूल
- ट्रेस सेशन चालू करें. इसके बाद, समस्या को फिर से दिखाने के लिए एपीआई कॉल करें - 503 सेवा उपलब्ध नहीं है.
- पूरे न हो पाने वाले किसी अनुरोध को चुनें और उसके ट्रेस की जांच करें.
- ट्रेस के अलग-अलग फ़ेज़ में नेविगेट करें और पता लगाएं कि गड़बड़ी कहां हुई.
- अगर आपको पता चलता है कि टारगेट सर्वर से 503 गड़बड़ी का मैसेज मिला है, तो इसका मतलब है कि टारगेट सर्वर में गड़बड़ी हुई है.
यहां टारगेट सर्वर से मिले 503 सेवा उपलब्ध नहीं है वाले रिस्पॉन्स को दिखाने वाला एक सैंपल ट्रेस स्क्रीनशॉट दिया गया है:
- टारगेट सर्वर से मिला जवाब फ़ेज़ पर क्लिक करें. इसके बाद, जवाब के हेडर और जवाब के कॉन्टेंट सेक्शन देखें. इससे पता चलेगा कि उनमें कोई काम की जानकारी है या नहीं:
- जवाब के हेडर में सर्वर हेडर शामिल हो सकता है. इससे पता चलता है कि गड़बड़ी का जवाब कहां से भेजा गया था.
- जवाब के कॉन्टेंट में यह जानकारी शामिल हो सकती है कि टारगेट सर्वर ने 503 रिस्पॉन्स कोड क्यों भेजा.
- पुष्टि करें कि 503 गड़बड़ी टारगेट सर्वर से आ रही है. इसके लिए, नीचे दिए गए तरीके का इस्तेमाल करके, ट्रेस में AX (Analytics Data Recorded) फ़ेज़ में X-Apigee-fault-source और X-Apigee-fault-code की वैल्यू देखें:
- नीचे दिए गए स्क्रीनशॉट में दिखाए गए AX (Analytics Data Recorded) फ़ेज़ पर क्लिक करें:

- नीचे की ओर स्क्रोल करके, फ़ेज़ की जानकारी में मौजूद रिस्पॉन्स हेडर सेक्शन पर जाएं. इसके बाद, X-Apigee-fault-code और X-Apigee-fault-source की वैल्यू का पता लगाएं. ये वैल्यू नीचे दिखाई गई हैं:

- अगर X-Apigee-fault-source और X-Apigee-fault-code की वैल्यू, यहां दी गई टेबल में दिखाई गई वैल्यू से मेल खाती हैं, तो पुष्टि की जा सकती है कि 503 गड़बड़ी टारगेट सर्वर से आ रही है:
रिस्पॉन्स हेडर वैल्यू X-Apigee-fault-source टारगेट X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode
- नीचे दिए गए स्क्रीनशॉट में दिखाए गए AX (Analytics Data Recorded) फ़ेज़ पर क्लिक करें:
- देखें कि क्या प्रॉक्सी चेनिंग का इस्तेमाल किया जा रहा है. इसका मतलब है कि क्या टारगेट सर्वर/टारगेट एंडपॉइंट, Apigee में किसी दूसरी प्रॉक्सी को चालू कर रहा है. यह पता लगाने के लिए:
- टारगेट सर्वर को भेजा गया अनुरोध फ़ेज़ पर वापस जाएं. इसके बाद, Curl दिखाएं बटन पर क्लिक करें और टारगेट सर्वर के होस्ट एलियास का पता लगाएं.
- अगर टारगेट सर्वर होस्ट का उपनाम, वर्चुअल होस्ट के उपनाम की ओर इशारा कर रहा है, तो यह प्रॉक्सी चेनिंग है. इस मामले में, आपको चेन्ड प्रॉक्सी के लिए ऊपर दिए गए सभी चरणों को तब तक दोहराना होगा, जब तक आपको यह पता न चल जाए कि 503 Service Unavailable गड़बड़ी किस वजह से हो रही है. इन मामलों में, अन्य चेन प्रॉक्सी में भी अन्य चरणों में 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 टारगेट X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode यहां टारगेट सर्वर की वजह से हुई 503 गड़बड़ी को दिखाने वाली एक सैंपल एंट्री दी गई है:
- एपीआई प्रॉक्सी की समीक्षा करें और पक्का करें कि प्रॉक्सी चेनिंग का इस्तेमाल किया जा रहा हो. इसका मतलब है कि अगर Apigee में टारगेट सर्वर/टारगेट एंडपॉइंट, किसी दूसरी प्रॉक्सी को चालू नहीं कर रहा है. अगर प्रॉक्सी चेनिंग का इस्तेमाल किया जा रहा है, तो आपको चेन्ड प्रॉक्सी के लिए ऊपर दिए गए सभी चरणों को दोहराना होगा. ऐसा तब तक करें, जब तक आपको यह पता न चल जाए कि 503 Service Unavailable गड़बड़ी की वजह क्या है. इन मामलों में, अन्य चेन प्रॉक्सी में अन्य चरणों में भी 503 सेवा उपलब्ध नहीं है गड़बड़ी हो सकती है. इस प्लेबुक का इस्तेमाल करके, इसका पता लगाया जा सकता है.
- अगर आपने पुष्टि कर दी है कि प्रॉक्सी चेनिंग का इस्तेमाल नहीं किया जा रहा है और 503 गड़बड़ी आपके बैकएंड सर्वर से आ रही है, तो समस्या हल करना पर जाएं.
बैकएंड सर्वर को कॉल करना
बैकएंड सर्वर को सीधे तौर पर कॉल किया जा सकता है. साथ ही, यह पुष्टि की जा सकती है कि आपको वही 503 Service Unavailable रिस्पॉन्स मिल रहा है जो Apigee Edge के ज़रिए अनुरोध करने पर मिला था.
- पक्का करें कि आपके पास सभी ज़रूरी हेडर, क्वेरी पैरामीटर, और क्रेडेंशियल हों. इन्हें अनुरोध के हिस्से के तौर पर, बैकएंड सर्वर को पास करना होता है.
- अगर बैकएंड सेवा को सार्वजनिक तौर पर ऐक्सेस किया जा सकता है, तो curl कमांड, Postman या किसी अन्य REST क्लाइंट का इस्तेमाल करके, बैकएंड सर्वर एपीआई को सीधे तौर पर चालू किया जा सकता है.
- अगर बैकएंड सर्वर को सिर्फ़ मैसेज प्रोसेसर से ऐक्सेस किया जा सकता है, तो curl कमांड, Postman या किसी अन्य REST क्लाइंट का इस्तेमाल किया जा सकता है. साथ ही, मैसेज प्रोसेसर से सीधे बैकएंड सर्वर एपीआई को शुरू किया जा सकता है.
- पुष्टि करें कि बैकएंड सेवा, 503 Service Unavailable गड़बड़ी दिखा रही हो.
रिज़ॉल्यूशन
अगर आपको पता चलता है कि 503 गड़बड़ी बैकएंड सर्वर की वजह से आ रही है, तो इस समस्या को हल करने के लिए ये काम करें:
- अगर बैकएंड सर्वर के रखरखाव की वजह से समस्या आ रही है, तो रखरखाव की अवधि खत्म होने के बाद बैकएंड सर्वर को ऑनलाइन किया जा सकता है.
- अगर बैकएंड सर्वर पर ज़्यादा लोड होने की वजह से समस्या आ रही है, तो अगर आपके पास बैकएंड सर्वर का ऐक्सेस है, तो समस्या ठीक करें. अगर ऐसा नहीं है, तो समस्या को ठीक करने के लिए, आपको अपनी बैकएंड सर्वर टीम के साथ मिलकर काम करना पड़ सकता है.
एपीआई मॉनिटरिंग का इस्तेमाल करके समस्याओं का पता लगाना
एपीआई मॉनिटरिंग की मदद से, समस्या वाले क्षेत्रों का तुरंत पता लगाया जा सकता है. इससे गड़बड़ी, परफ़ॉर्मेंस, और लोड होने में लगने वाले समय से जुड़ी समस्याओं का पता लगाया जा सकता है. साथ ही, यह भी पता लगाया जा सकता है कि ये समस्याएं कहां से आ रही हैं. जैसे, डेवलपर ऐप्लिकेशन, एपीआई प्रॉक्सी, बैकएंड टारगेट या एपीआई प्लैटफ़ॉर्म.
एक सैंपल सिनारियो देखें, जिसमें एपीआई मॉनिटरिंग का इस्तेमाल करके, अपने एपीआई से जुड़ी 5xx समस्याओं को हल करने का तरीका बताया गया है. उदाहरण के लिए, ऐसा हो सकता है कि आपको किसी खास थ्रेशोल्ड से ज़्यादा messaging.adaptors.http.flow.ErrorResponseCode फ़ॉल्ट होने पर सूचना पाने के लिए, सूचना सेट अप करनी हो.
डाइग्नोस्टिक जानकारी इकट्ठा करना ज़रूरी है
अगर ऊपर दिए गए निर्देशों का पालन करने के बाद भी समस्या बनी रहती है, तो कृपया डाइग्नोस्टिक से जुड़ी यह जानकारी इकट्ठा करें. इसके बाद, Apigee की सहायता टीम से संपर्क करें.
अगर आप पब्लिक क्लाउड का इस्तेमाल करते हैं, तो यह जानकारी दें:
- संगठन का नाम
- एनवायरमेंट का नाम
- एपीआई प्रॉक्सी का नाम
- 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 गड़बड़ियां हुईं.