समय खत्म होने में गड़बड़ी

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

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

टाइम आउट की गड़बड़ी की वजह से, Edge यूज़र इंटरफ़ेस (यूआई) या मैनेजमेंट एपीआई की मदद से, एपीआई प्रॉक्सी रिविज़न को लागू नहीं किया जा सका.

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

Click to change deployment status. 
The revision is deployed and traffic can flow, but flow may be impaired. 
Error: Call timed out; either server is down or server is not reachable

संभावित वजहें

इस समस्या की सामान्य वजहें ये हैं:

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

नेटवर्क कनेक्टिविटी की समस्या

ध्यान दें: Edge Private Cloud का इस्तेमाल करने वाले लोग ही ये चरण पूरे कर सकते हैं. अगर आप Edge Public Cloud का इस्तेमाल कर रहे हैं, तो Apigee Edge सहायता से संपर्क करें.

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

  1. नीचे दिए गए मैनेजमेंट एपीआई कॉल का इस्तेमाल करके, गड़बड़ी दिखाने वाले खास एपीआई के लिए डिप्लॉयमेंट स्टेटस पाएं:
    curl -v http://<management-server-IPaddress>:<port#>/organizations/<orgname>/environments/<envname>/apis/<apiname>/deployments -u <username>
    

    गड़बड़ी दिखाने वाले सैंपल आउटपुट:

    { 
                    "error": "Call timed out; either server is down or server is not reachable", 
                    "status": "error", 
                    "type": [ 
                    "message-processor" 
                    ], 
                    "uUID": "ebbc1078-cbde-4a00-a7db-66a3c1b2b748" 
                    }, 
                    { 
                    "status": "deployed", 
                    "type": [ 
                    "message-processor" 
                    ], 
                    "uUID": "204e2b7e-52f7-46d9-b458-20f9bfb51e6d" 
                    }, 
                    { 
                    "status": "deployed", 
                    "type": [ 
                    "router" 
                    ], 
                    "uUID": "967e63c6-ee95-47c0-9608-f4a32638fb1e" 
                    }, 
                    { 
                    "status": "deployed", 
                    "type": [ 
                    "router" 
                    ], 
                    "state" : "error"
                    } 
    

    ऊपर दिए गए सैंपल आउटपुट से पता चलता है कि यह गड़बड़ी, UUID "ebbc1078-cbde-4a00-a7db-66a3c1b2b748" वाले मैसेज प्रोसेसर में से किसी एक में हुई थी.

  2. अपने एपीआई प्रॉक्सी के डिप्लॉयमेंट स्टेटस के आधार पर, गड़बड़ी दिखाने वाले यूयूआईडी से जुड़े हर मैसेज प्रोसेसर पर लॉगिन करें. इसके बाद, नीचे दिया गया तरीका अपनाएं:
    1. देखें कि क्या मैसेज प्रोसेसर, पोर्ट 4528 पर सुन रहा है:
      netstat -an | grep LISTEN | grep 4528
      

      अगर मैसेज प्रोसेसर, पोर्ट 4528 पर सुन नहीं रहा है, तो मैसेज प्रोसेसर को रीस्टार्ट करें:

      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
      
    2. ऊपर चरण #1 में दिखाए गए मैनेजमेंट एपीआई कॉल का इस्तेमाल करके, एपीआई प्रॉक्सी के डिप्लॉयमेंट स्टेटस की फिर से जांच करें. अगर कोई गड़बड़ी नहीं होती है, तो इसका मतलब है कि समस्या हल हो गई है.
  3. अगर समस्या बनी रहती है, तो पोर्ट 4528 पर मैनेजमेंट सर्वर से मैसेज प्रोसेसर तक कनेक्टिविटी की जांच करें. इसके लिए, यह तरीका अपनाएं:
    1. अगर टेलनेट उपलब्ध है, तो टेलनेट का इस्तेमाल करें:
      telnet <MessageProcessor_IP> 4528
      
    2. अगर टेलनेट उपलब्ध नहीं है, तो कनेक्टिविटी की जांच करने के लिए, netcat का इस्तेमाल इस तरह करें:
      nc -vz <MessageProcessor_IP> 4528
      
    3. अगर आपको "कनेक्शन से इनकार किया गया" या "कनेक्शन का समय खत्म हो गया" जवाब मिलता है, तो अपनी नेटवर्क ऑपरेशंस टीम से संपर्क करें.
  4. नीचे दिए गए तरीके का इस्तेमाल करके, पोर्ट 4526 पर मैसेज प्रोसेसर से मैनेजमेंट सर्वर तक कनेक्टिविटी की जांच करें:
    1. अगर टेलनेट उपलब्ध है, तो टेलनेट का इस्तेमाल करें:
      telnet <management-server-IP> 4526
      
    2. अगर टेलनेट उपलब्ध नहीं है, तो कनेक्टिविटी की जांच करने के लिए, netcat का इस्तेमाल इस तरह करें:
      nc -vz <management-server-IP> 4526 
      
    3. अगर आपको "कनेक्शन से इनकार किया गया" या "कनेक्शन का समय खत्म हो गया" जवाब मिलता है, तो अपनी नेटवर्क ऑपरेशन टीम से संपर्क करें.
  5. अपनी नेटवर्क ऑपरेशंस टीम के साथ काम करें और ये काम करें:
    1. पक्का करें कि मैनेजमेंट सर्वर और मैसेज प्रोसेसर, दोनों पर RPC प्रोटोकॉल की अनुमति हो.
    2. मैनेजमेंट सर्वर पर पोर्ट 4526 से कनेक्टिविटी और पोर्ट 4528 पर मैनेजमेंट सर्वर से मैसेज प्रोसेसर तक कनेक्टिविटी की अनुमति देने के लिए, मैनेजमेंट सर्वर और मैसेज प्रोसेसर के बीच फ़ायरवॉल की पाबंदियों या सुरक्षा के नियमों का सेटअप हटाएं.
  6. डिप्लॉयमेंट की स्थिति को फिर से देखें (ऊपर दिया गया चरण #1 देखें). अगर आपको कोई गड़बड़ी नहीं दिखती है, तो इसका मतलब है कि गड़बड़ी ठीक हो गई है.
  7. अगर समस्या बनी रहती है, तो देखें कि मैसेज प्रोसेसर में नेटवर्क की समस्या है या नहीं. अगर नेटवर्क की समस्या आ रही है, तो टाइम आउट की गड़बड़ी (डिप्लॉयमेंट स्टेटस आउटपुट के हिसाब से) दिखाने वाले मैसेज प्रोसेसर को रीस्टार्ट करने से यह समस्या हल हो सकती है:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  8. अगर समस्या अब भी बनी रहती है, तो यहां मैनेजमेंट सर्वर लॉग देखें: (/opt/apigee/var/log/edge-management-server/logs/system.log).

    मैनेजमेंट सर्वर लॉग से सैंपल कॉल का समय खत्म होने की गड़बड़ी

    2016-05-17 09:29:56,448 org:myorg env:prod qtp281969267-360792 ERROR DISTRIBUTION - RemoteServicesConfigEventHandler.configureServers() : exception for server with uuid e1381db7-d83b-4752-ae04-2de33f07e555 : cause = RPC Error 504: Call timed out communication error = true 
            com.apigee.rpc.RPCException: Call timed out 
            at com.apigee.rpc.impl.AbstractCallerImpl.handleTimeout(AbstractCallerImpl.java:64) ~[rpc-1.0.0.jar:na] 
            at com.apigee.rpc.impl.RPCMachineImpl$OutgoingCall.handleTimeout(RPCMachineImpl.java:483) ~[rpc-1.0.0.jar:na] 
            at com.apigee.rpc.impl.RPCMachineImpl$OutgoingCall.access$000(RPCMachineImpl.java:402) ~[rpc-1.0.0.jar:na] 
            at com.apigee.rpc.impl.RPCMachineImpl$OutgoingCall$1.run(RPCMachineImpl.java:437) ~[rpc-1.0.0.jar:na] 
            at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:532) ~[netty-all-4.0.0.CR1.jar:na] 
            at io.netty.util.HashedWheelTimer$Worker.notifyExpiredTimeouts(HashedWheelTimer.java:430) ~[netty-all-4.0.0.CR1.jar:na] 
            at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:371) ~[netty-all-4.0.0.CR1.jar:na] 
            at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_79] 
            
    

    अगर आपको ऊपर दिए गए उदाहरण में बताई गई मिलती-जुलती गड़बड़ी दिखती है, तो ऐसे में मैनेजमेंट सर्वर पर RPC टाइम आउट को बढ़ाएं, ताकि अगर नेटवर्क धीमा हो, तो मैनेजमेंट सर्वर को मैसेज प्रोसेसर से कनेक्ट होने का समय मिल जाना चाहिए.

रिज़ॉल्यूशन

ध्यान दें: Edge Private Cloud का इस्तेमाल करने वाले लोग ही ये चरण पूरे कर सकते हैं. अगर आप Edge Public Cloud का इस्तेमाल कर रहे हैं, तो Apigee Edge सहायता से संपर्क करें.

  1. RPC का टाइम आउट बढ़ाने के लिए, यह तरीका अपनाएं:
    1. अगर /opt/apigee/customer/application/management-server.properties फ़ाइल पहले से मौजूद नहीं है, तो मैनेजमेंट सर्वर मशीन का इस्तेमाल करें.
    2. इस फ़ाइल में यह लाइन जोड़ें:
      conf_cluster_rpc.connect.timeout=<time in seconds>
      

      RPC की डिफ़ॉल्ट टाइम आउट वैल्यू 10 है. हमारा सुझाव है कि आप इसे 40 सेकंड तक बढ़ाएं. इसे इस तरह सेट करें:

      conf_cluster_rpc.connect.timeout=40
      
    3. पक्का करें कि इस फ़ाइल का मालिकाना हक एपीआईजी के पास हो:
      chown apigee:apigee /opt/apigee/customer/application/management-server.properties
      
    4. मैनेजमेंट सर्वर रीस्टार्ट करें:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
      
    5. अगर आपके पास एक से ज़्यादा मैनेजमेंट सर्वर हैं, तो ऊपर बताया गया तरीका सभी मैनेजमेंट सर्वर पर दोहराएं.
    6. Edge यूज़र इंटरफ़ेस (यूआई) में या Edge मैनेजमेंट एपीआई कॉल का इस्तेमाल करके, एपीआई प्रॉक्सी को डिप्लॉय करें. अगर एपीआई प्रॉक्सी को बिना किसी समस्या के डिप्लॉय किया जाता है, तो इसका मतलब है कि समस्या हल हो गई है.
  2. अगर समस्या बनी रहती है, तो मैनेजमेंट सर्वर और मैसेज प्रोसेसर से tcpdump कमांड इकट्ठा करें. हर सर्वर पर tcpdump कमांड चालू करें. इसके बाद, यूज़र इंटरफ़ेस (यूआई) से या मैनेजमेंट एपीआई का इस्तेमाल करके, एपीआई प्रॉक्सी को डिप्लॉय करना शुरू करें:
    1. मैनेजमेंट सर्वर से नीचे दिया गया tcpdump कमांड चलाएं:
      tcpdump -i any -s 0 host <message-processor-IP address> -w <File name>
      
    2. मैसेज प्रोसेसर से, नीचे दिया गया tcpdump कमांड चलाएं:
      tcpdump -i any -s 0 host <management-server-IP address> -w <File name>
      
    3. tcpdump का विश्लेषण करने और समस्या को हल करने में मदद पाने के लिए, Apigee Edge की सहायता टीम से संपर्क करें.

बड़ा एपीआई प्रॉक्सी बंडल

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

  1. उस एपीआई प्रॉक्सी बंडल का साइज़ देखें जिसके लिए डिप्लॉयमेंट की गड़बड़ी देखी जा रही है.
  2. अगर साइज़ काफ़ी बड़ा (10एमबी या उससे ज़्यादा) है, तो हो सकता है कि मैसेज प्रोसेसर को एपीआई प्रॉक्सी चालू करने में ज़्यादा समय लगे.
  3. अगर एपीआई प्रॉक्सी बंडल का साइज़ 15 एमबी से ज़्यादा है, तो 15 एमबी से ज़्यादा बड़े एपीआई प्रॉक्सी बंडल पर जाएं.

रिज़ॉल्यूशन

ध्यान दें: Edge Private Cloud का इस्तेमाल करने वाले लोग ही ये चरण पूरे कर सकते हैं. अगर आप Edge Public Cloud का इस्तेमाल कर रहे हैं, तो Apigee Edge सहायता से संपर्क करें.

मैनेजमेंट सर्वर पर RPC का टाइम आउट बढ़ाएं, ताकि मैसेज प्रोसेसर के पास बड़े एपीआई प्रॉक्सी बंडल को चालू करने के लिए ज़रूरी समय हो. RPC टाइम आउट की वैल्यू बढ़ाने के लिए, यह तरीका अपनाएं:

  1. अगर यह पहले से मौजूद नहीं है, तो मैनेजमेंट सर्वर मशीन पर /opt/apigee/customer/application/management-server.properties फ़ाइल बनाएं.
  2. इस फ़ाइल में यह लाइन जोड़ें:
    conf_cluster_rpc.connect.timeout=<time in seconds>
    

    RPC की डिफ़ॉल्ट टाइम आउट वैल्यू 10 है. हमारा सुझाव है कि आप इसे 40 सेकंड तक बढ़ाएं. इसे इस तरह सेट करें:

    conf_cluster_rpc.connect.timeout=40
    
  3. पक्का करें कि इस फ़ाइल का मालिकाना हक एपीआईजी के पास हो:
    chown apigee:apigee /opt/apigee/customer/application/management-server.properties
    
  4. मैनेजमेंट सर्वर रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    
  5. अगर आपके पास एक से ज़्यादा मैनेजमेंट सर्वर हैं, तो ऊपर दिए गए तरीके को सभी मैनेजमेंट सर्वर पर दोहराएं.

अगर समस्या बनी रहती है, तो मदद पाने के लिए Apigee Edge की सहायता टीम से संपर्क करें.