503 सेवा उपलब्ध नहीं है - NoActiveTarget

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

वीडियो

503 कोड वाली गड़बड़ियों के बारे में ज़्यादा जानकारी के लिए, नीचे दिए गए वीडियो देखें:

वीडियो ब्यौरा
समस्या हल करना और 503 सेवा उपलब्ध न होने की समस्या को हल करना - NoActiveTarget इनके बारे में जानें:
  • टारगेट सर्वर और हेल्थ मॉनिटर की अहमियत
  • रीयल-टाइम 503 सेवा उपलब्ध नहीं होने की समस्या का हल करना और उसे हल करना - NoActiveTarget गड़बड़ी

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

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

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

आपको गड़बड़ी के ये जवाब दिखेंगे:

HTTP/1.1 503 Service Unavailable
  

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

{
   "fault": {
      "faultstring": "The Service is temporarily unavailable",
      "detail": {
           "errorcode": "messaging.adaptors.http.flow.NoActiveTargets"
       }
    }
}
  

संभावित कारण

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

नीचे दी गई टेबल में गड़बड़ी कोड NoActiveGoal जवाब के साथ 503 सेवा उपलब्ध नहीं है के लिए संभावित वजहों की सूची दी गई है:

वजह ब्यौरा समस्या हल करने वाले चरणों को कौन पूरा कर सकता है
टारगेट सर्वर बंद है टारगेट एंडपॉइंट के कॉन्फ़िगरेशन में बताए गए टारगेट सर्वर को बंद कर दिया गया है. Edge के सार्वजनिक और निजी क्लाउड के उपयोगकर्ता
गलत डीएनएस रिज़ॉल्यूशन की वजह से कनेक्शन से जुड़ी गड़बड़ियां टारगेट सर्वर के डीएनएस रिज़ॉल्यूशन की वजह से, खराब आईपी पते मिले. इन आईपी पतों से कनेक्शन की गड़बड़ियां हो सकती हैं. Edge Private Cloud के उपयोगकर्ता
कनेक्शन से जुड़ी गड़बड़ियां नेटवर्क या कनेक्टिविटी की समस्याओं की वजह से क्लाइंट, सर्वर से कनेक्ट नहीं कर पाता. Edge Private Cloud के उपयोगकर्ता
टारगेट होस्ट का गलत उपनाम तय किया गया टारगेट सर्वर होस्ट गलत है या उसमें अनचाहे वर्ण हैं (जैसे कि कोई स्पेस). Edge के सार्वजनिक और निजी क्लाउड के उपयोगकर्ता
एसएसएल हैंडशेक से जुड़ी समस्याएं क्लाइंट और सर्वर के बीच TLS/एसएसएल हैंडशेक नहीं हो सका. Edge के सार्वजनिक और निजी क्लाउड के उपयोगकर्ता
स्वास्थ्य जांच में असफलियां टारगेट सर्वर की परफ़ॉर्मेंस का पता लगाने के लिए कॉन्फ़िगर किए गए हेल्थ चेक, किसी वजह से शायद काम न कर पाएं. Edge Private Cloud के उपयोगकर्ता

वजह: टारगेट सर्वर बंद है

अगर टारगेट एंडपॉइंट कॉन्फ़िगरेशन में दिए गए सभी टारगेट सर्वर बंद कर दिए गए हैं, तो आपको गड़बड़ी कोड NoActiveTarget के साथ 503 सेवा उपलब्ध नहीं है रिस्पॉन्स मिलता है.

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

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

  2. टारगेट एंडपॉइंट की पहचान करने के बाद, टारगेट एंडपॉइंट के कॉन्फ़िगरेशन से इस्तेमाल किए गए टारगेट सर्वर का नाम पाएं, जैसा कि यहां दिए गए उदाहरण में दिखाया गया है:
    <TargetEndpoint name="default">>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="demo-target" />
        </LoadBalancer>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
          

    ऊपर दिए गए उदाहरण में, डेमो-टारगेट नाम का सिर्फ़ एक टारगेट सर्वर है.

  3. Edge यूज़र इंटरफ़ेस (यूआई) या Edge API कॉल का इस्तेमाल करके टारगेट एंडपॉइंट में इस्तेमाल किए गए हर टारगेट सर्वर की परिभाषा पाएं.

    Edge यूज़र इंटरफ़ेस (यूआई)

    Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके परिभाषा जानने के लिए:

    1. एडमिन > एनवायरमेंट > टारगेट सर्वर पर जाएं.
    2. वह एनवायरमेंट चुनें जिसमें आपको गड़बड़ी दिख रही है.
    3. टारगेट सर्वर की परिभाषा जानने के लिए, टारगेट सर्वर का नाम खोजें.

      उदाहरण के लिए, टारगेट सर्वर का नाम demo-target टाइप करें. आपको इसकी परिभाषा नीचे दिखाई गई है:

      टारगेट सर्वर का नाम और चालू/बंद की गई स्थिति

      यहां ध्यान दें कि टारगेट सर्वर डेमो-टारगेट का एक होस्ट उपनाम है, पोर्ट # और एसएसएल चालू है. हालांकि, टारगेट सर्वर खुद बंद है , जो चालू है एलिमेंट से धूसर किया जाता है.

    Edge API

    Edge API का इस्तेमाल करके परिभाषा जानने के लिए:

    टारगेट सर्वर की परिभाषा जानने के लिए, 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 के आउटपुट से पता चलता है कि टारगेट सर्वर का डेमो-टारगेट बंद है, क्योंकि एलिमेंट IsEnabled को 'गलत' पर सेट किया गया है.

    टारगेट सर्वर बंद है, इसलिए मैसेज प्रोसेसर क्लाइंट को जवाब के तौर पर तुरंत गड़बड़ी कोड NoActiveTarget के साथ 503 Service उपलब्ध नहीं है भेज देगा.

रिज़ॉल्यूशन

पक्का करें कि आपके एपीआई प्रॉक्सी के टारगेट एंडपॉइंट कॉन्फ़िगरेशन में इस्तेमाल किए गए खास टारगेट सर्वर हमेशा चालू रहें.

Edge यूज़र इंटरफ़ेस (यूआई)

  1. एडमिन > एनवायरमेंट > टारगेट सर्वर पर जाएं.
  2. वह एनवायरमेंट चुनें जिसमें आपको गड़बड़ी दिख रही है.
  3. टारगेट सर्वर के किसी खास नाम को खोजकर उसकी परिभाषा जानें.
  4. खास टारगेट सर्वर चुनें. इसके बाद, बदलाव करें पर क्लिक करें.
  5. चालू किया गया चेकबॉक्स चुनें.
  6. अपडेट करें पर क्लिक करें.

Edge 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 सहायता से संपर्क करें और उन्हें शेयर करें:

  1. अगर आप Public Cloud के उपयोगकर्ता हैं, तो यह जानकारी दें:
    1. संगठन का नाम
    2. एनवायरमेंट का नाम
    3. एपीआई प्रॉक्सी का नाम
    4. गड़बड़ी को फिर से सामने लाने के लिए कर्ल कमांड पूरा करें
    5. 503 सेवा के अनुरोधों वाली ट्रेस फ़ाइल, गड़बड़ी कोड NoActiveTarget के साथ उपलब्ध नहीं है
  2. अगर आप Private Cloud के उपयोगकर्ता हैं, तो यह जानकारी दें:
    1. पूरा गड़बड़ी का मैसेज देखा गया
    2. एनवायरमेंट का नाम
    3. एपीआई प्रॉक्सी बंडल
    4. 503 सेवा के अनुरोधों वाली ट्रेस फ़ाइल, गड़बड़ी कोड NoActiveTarget के साथ उपलब्ध नहीं है
    5. NGINX ऐक्सेस लॉग

      (/opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log)

    6. मैसेज प्रोसेसर के लॉग

      (/opt/apigee/var/log/edge-message-processor/logs/system.log)