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

आपको 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 प्राइवेट क्लाउड इस्तेमाल करने वाले लोग ही यह तरीका अपना सकते हैं. अगर आपको अगर उपयोगकर्ता 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"
                    } 
    

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

  2. आपके एपीआई प्रॉक्सी के डिप्लॉयमेंट स्टेटस के आउटपुट के आधार पर, हर मैसेज में लॉगिन करें ऐसे प्रोसेसर जिनके UUID होते हैं और जो गड़बड़ी दिखाते हैं और ये चरण पूरे करते हैं:
    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 प्राइवेट क्लाउड इस्तेमाल करने वाले लोग ही यह तरीका अपना सकते हैं. अगर आपको अगर उपयोगकर्ता 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. पक्का करें कि इस फ़ाइल का मालिकाना हक apigee के पास है:
      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. मदद पाने के लिए, Apigee Edge की सहायता टीम से संपर्क करें tcpdump का विश्लेषण करें और समस्या को हल करने के लिए आगे बढ़ें.

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

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

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

रिज़ॉल्यूशन

ध्यान दें: सिर्फ़ Edge प्राइवेट क्लाउड इस्तेमाल करने वाले लोग ही यह तरीका अपना सकते हैं. अगर आपको अगर उपयोगकर्ता Edge Public Cloud का इस्तेमाल करते हैं, तो Apigee Edge की सहायता टीम से संपर्क करें.

मैनेजमेंट सर्वर पर RPC टाइम आउट बढ़ाएं, ताकि मैसेज प्रोसेसर को बड़े API प्रॉक्सी बंडल चालू करना. 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. पक्का करें कि इस फ़ाइल का मालिकाना हक apigee के पास है:
    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 की सहायता टीम से संपर्क करें अतिरिक्त सहायता मिल सके.