आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
वीडियो
503 गड़बड़ियों के बारे में ज़्यादा जानने के लिए, ये वीडियो देखें:
| वीडियो | ब्यौरा |
|---|---|
| 503 Service Unavailable - NoActiveTargets गड़बड़ी को ठीक करना और इसका समाधान करना | इनके बारे में जानें:
|
समस्या का ब्यौरा
क्लाइंट ऐप्लिकेशन को एपीआई प्रॉक्सी अनुरोधों के लिए, एचटीटीपी रिस्पॉन्स स्टेटस कोड 503 मिलता है. साथ ही, उसे सेवा उपलब्ध नहीं है मैसेज और गड़बड़ी कोड NoActiveTargets मिलता है.
गड़बड़ी का मैसेज
आपको गड़बड़ी का यह जवाब दिखेगा:
HTTP/1.1 503 Service Unavailable
आपको एचटीटीपी रिस्पॉन्स में गड़बड़ी का यह मैसेज दिखेगा:
{
"fault": {
"faultstring": "The Service is temporarily unavailable",
"detail": {
"errorcode": "messaging.adaptors.http.flow.NoActiveTargets"
}
}
}
संभावित कारण
आम तौर पर, NoActiveTargets गड़बड़ी कोड के साथ 503 Service Unavailable एचटीटीपी रिस्पॉन्स तब दिखता है, जब एपीआई प्रॉक्सी में टारगेट एंडपॉइंट कॉन्फ़िगरेशन में एक या उससे ज़्यादा टारगेट सर्वर का इस्तेमाल किया जाता है.
यहां दी गई टेबल में, गड़बड़ी कोड NoActiveTargets के साथ 503 सेवा उपलब्ध नहीं है गड़बड़ी का जवाब मिलने की संभावित वजहें बताई गई हैं:
| वजह | ब्यौरा | समस्या हल करने के तरीके कौन आज़मा सकता है |
|---|---|---|
| टारगेट सर्वर बंद है | टारगेट एंडपॉइंट कॉन्फ़िगरेशन में दिया गया टारगेट सर्वर बंद है. | Edge Public और Private Cloud के उपयोगकर्ताओं के लिए |
| डीएनएस रिज़ॉल्यूशन के गलत होने की वजह से कनेक्शन से जुड़ी गड़बड़ियां | टारगेट सर्वर के डीएनएस रिज़ॉल्यूशन से ऐसे आईपी पते मिले हैं जिनकी वजह से कनेक्शन की गड़बड़ियां हुई हैं. | Edge Private Cloud के उपयोगकर्ता |
| कनेक्शन से जुड़ी गड़बड़ियां | नेटवर्क या कनेक्टिविटी से जुड़ी समस्याओं की वजह से, क्लाइंट सर्वर से कनेक्ट नहीं हो पाता. | Edge Private Cloud के उपयोगकर्ता |
| टारगेट होस्ट का गलत उपनाम | टारगेट सर्वर का होस्टनेम गलत है या उसमें स्पेस जैसे अवांछित वर्ण मौजूद हैं. | Edge Public और Private Cloud के उपयोगकर्ताओं के लिए |
| एसएसएल हैंडशेक की गड़बड़ियां | क्लाइंट और सर्वर के बीच टीएलएस/एसएसएल हैंडशेक नहीं हो सका. | Edge Public और Private Cloud के उपयोगकर्ताओं के लिए |
| ऐप्लिकेशन की परफ़ॉर्मेंस की जांच करने में विफलताएं | टारगेट सर्वर की स्थिति की जांच करने के लिए कॉन्फ़िगर किए गए हेल्थ चेक, किसी वजह से काम नहीं कर सकते. | Edge Private Cloud के उपयोगकर्ता |
वजह: टारगेट सर्वर बंद है
अगर टारगेट एंडपॉइंट कॉन्फ़िगरेशन में बताए गए सभी टारगेट सर्वर बंद हैं, तो आपको गड़बड़ी के कोड NoActiveTargets के साथ 503 सेवा उपलब्ध नहीं है रिस्पॉन्स मिलता है.
संक्रमण की जांच
- नीचे दिए गए तरीकों में से किसी एक का इस्तेमाल करके, उस टारगेट सर्वर का नाम पता करें जिसका इस्तेमाल, एपीआई प्रॉक्सी के टारगेट एंडपॉइंट कॉन्फ़िगरेशन में किया जा रहा है:
- अगर सिर्फ़ एक टारगेट एंडपॉइंट है, तो उस टारगेट एंडपॉइंट की जांच करें.
- अगर एक से ज़्यादा टारगेट एंडपॉइंट हैं और आपको यह नहीं पता कि किस एंडपॉइंट ने टारगेट सर्वर को बंद किया है, तो यह तरीका अपनाएं:
- ट्रेस सेशन चालू करें, एपीआई कॉल करें, और समस्या को फिर से दोहराएं - 503 सेवा उपलब्ध नहीं है.
- ट्रेस से, Target Request Flow Started पर जाएं और टारगेट एंडपॉइंट का नाम पता करें. यह नाम यहां दिखाया गया है:
- टारगेट एंडपॉइंट की पहचान करने के बाद, टारगेट सर्वर का वह नाम पाएं जिसका इस्तेमाल टारगेट एंडपॉइंट कॉन्फ़िगरेशन से किया गया है. इसके लिए, यहां दिया गया उदाहरण देखें:
<TargetEndpoint name="default">> <HTTPTargetConnection> <LoadBalancer> <Server name="demo-target" /> </LoadBalancer> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>ऊपर दिए गए उदाहरण में, demo-target नाम का एक टारगेट सर्वर है.
- Edge UI या Edge API कॉल का इस्तेमाल करके, टारगेट एंडपॉइंट में इस्तेमाल किए गए हर टारगेट सर्वर की परिभाषा पाएं.
Edge यूज़र इंटरफ़ेस (यूआई)
Edge UI का इस्तेमाल करके परिभाषा पाने के लिए:
- एडमिन > एनवायरमेंट > टारगेट सर्वर पर जाएं.
- वह एनवायरमेंट चुनें जिसमें आपको गड़बड़ी दिख रही है.
- टारगेट सर्वर की परिभाषा पाने के लिए, टारगेट सर्वर का नाम खोजें.
उदाहरण के लिए, टारगेट सर्वर का नाम
demo-targetटाइप करें. इसके बाद, आपको इसकी परिभाषा दिखेगी. यह परिभाषा यहां दिखाई गई है:
यहां ध्यान दें कि टारगेट सर्वर demo-target में होस्ट का उपनाम, पोर्ट # मौजूद है. साथ ही, एसएसएल चालू है. हालांकि, टारगेट सर्वर बंद है. इसकी जानकारी, ENABLED एलिमेंट के धूसर होने से मिलती है.
Edge API
Edge API का इस्तेमाल करके परिभाषा पाने के लिए:
टारगेट सर्वर की परिभाषा पाने के लिए, 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 सेवा उपलब्ध नहीं है गड़बड़ी का मैसेज भेजेगा. इसमें गड़बड़ी का कोड NoActiveTargets होगा.

रिज़ॉल्यूशन
पक्का करें कि आपकी एपीआई प्रॉक्सी के टारगेट एंडपॉइंट कॉन्फ़िगरेशन में इस्तेमाल किए गए टारगेट सर्वर हमेशा चालू हों.
Edge यूज़र इंटरफ़ेस (यूआई)
- एडमिन > एनवायरमेंट > टारगेट सर्वर पर जाएं.
- वह एनवायरमेंट चुनें जिसमें आपको गड़बड़ी दिख रही है.
- डेफ़िनिशन पाने के लिए, टारगेट सर्वर का नाम खोजें.
- उस टारगेट सर्वर को चुनें जिसमें बदलाव करना है. इसके बाद, बदलाव करें पर क्लिक करें.
- चालू है चेकबॉक्स को चुनें.
- अपडेट करें पर क्लिक करें.
Edge API
टारगेट सर्वर की परिभाषा को अपडेट करने के लिए, 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 की सहायता टीम के साथ शेयर करें:
- अगर आप पब्लिक क्लाउड का इस्तेमाल करते हैं, तो यह जानकारी दें:
- संगठन का नाम
- एनवायरमेंट का नाम
- एपीआई प्रॉक्सी का नाम
- गड़बड़ी को फिर से बनाने के लिए, कर्ल कमांड को पूरा करें
- इस ट्रेस फ़ाइल में, NoActiveTargets गड़बड़ी कोड के साथ 503 Service Unavailable गड़बड़ी वाले अनुरोध शामिल हैं
- अगर आप Private Cloud के उपयोगकर्ता हैं, तो यह जानकारी दें:
- गड़बड़ी का पूरा मैसेज मिला
- एनवायरमेंट का नाम
- एपीआई प्रॉक्सी बंडल
- इस ट्रेस फ़ाइल में, NoActiveTargets गड़बड़ी कोड के साथ 503 Service Unavailable गड़बड़ी वाले अनुरोध शामिल हैं
- NGINX ऐक्सेस लॉग
(
/opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log) - मैसेज प्रोसेसर के लॉग
(
/opt/apigee/var/log/edge-message-processor/logs/system.log)