ट्रेस सेशन नहीं बनाया जा सका

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

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

उपयोगकर्ता Edge यूज़र इंटरफ़ेस (यूआई) में ट्रेस सेशन नहीं बना पा रहा है.

गड़बड़ी संदेश

आपको Edge यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी का मैसेज मिलेगा, जैसा कि नीचे दिखाया गया है:

Error creating trace session for API proxy <api proxy name>, revision <revision number>, environment <environment name>.
Failed to create DebugSession <session number> 

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

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

इस गड़बड़ी की कुछ संभावित वजहें नीचे बताई गई हैं:

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

डायग्नोसिस के सामान्य चरण

  1. इस मैनेजमेंट एपीआई को एक्ज़ीक्यूट करें:

    curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/debugsessions -u <user>
    
  2. अगर आपको कोई गड़बड़ी दिखती है, तो उसे नोट करें. नेटवर्क कनेक्टिविटी की समस्या पर जाएं.

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

वजह: नेटवर्क कनेक्टिविटी से जुड़ी समस्या

डायग्नोसिस

  1. मैनेजमेंट सर्वर के लॉग /opt/apigee/var/log/edge-management-server/logs/system.log में जाकर देखें कि ट्रेस/डीबग सेशन बनाने के दौरान कोई गड़बड़ी हुई है या नहीं.

    मैनेजमेंट सर्वर लॉग से सैंपल की गड़बड़ी

    2018-02-08 09:08:21,310 org:myorg env:uat  qtp1073741635-1074 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : createDebugSession : Unable to connect to the server with UUID cedeabd2-e4d1-40bb-8f18-d6afc8835e5b
    org.apache.http.conn.HttpHostConnectException: Connect to 10.84.75.92:8082 [/10.84.75.92] failed: Connection refused
        at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:140) ~[httpclient-4.3.5.jar:4.3.5]
        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) ~[httpclient-4.3.5.jar:4.3.5]
        at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[httpclient-4.3.5.jar:4.3.5]
    ...<snipped>
    Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_65]
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_65]
    ...<snipped>
    
  2. ऊपर दी गई गड़बड़ी के उदाहरण से पता चलता है कि जब मैनेजमेंट सर्वर पोर्ट # 8082 पर मैसेज प्रोसेसर से कनेक्ट करने की कोशिश करता है, तो हमें "कनेक्शन अस्वीकार कर दिया गया" गड़बड़ियां मिल रही हैं. इस वजह से, मैनेजमेंट सर्वर ट्रेस सेशन नहीं बना सका.

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

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

  5. पोर्ट 8082 पर मैनेजमेंट सर्वर से मैसेज प्रोसेसर तक कनेक्टिविटी की जांच करने के लिए नीचे दिया गया तरीका अपनाएं:

    1. अगर टेलनेट उपलब्ध है, तो टेलनेट का इस्तेमाल करें:

      telnet <MessageProcessor_IP> 8082
      
    2. अगर टेलनेट उपलब्ध नहीं है, तो कनेक्टिविटी की जांच करने के लिए इस तरह से netcat का इस्तेमाल करें:

      nc -vz <MessageProcessor_IP> 8082
      
    3. अगर आपको "कनेक्शन अस्वीकार किया गया" जवाब मिलता है या "कनेक्शन का समय खत्म हो गया है" दिखेगा, तो अगले चरण पर जाएँ.

  6. हर उस आईपी पते के साथ मैसेज प्रोसेसर में लॉगिन करें जिसमें गड़बड़ी दिखाई गई थी. इसके बाद, यह तरीका अपनाएं:

    1. देखें कि पोर्ट 8082 पर मैसेज प्रोसेसर सुन रहा है या नहीं:

      netstat -an | grep LISTEN | grep 8082
      
    2. अगर मैसेज प्रोसेसर, पोर्ट 8082 पर सुन रहा है, तो चरण #7 पर जाएं.

    3. अगर मैसेज प्रोसेसर, पोर्ट 8082 पर नहीं चल रहा है, तो इस निर्देश का इस्तेमाल करके मैसेज प्रोसेसर को रीस्टार्ट करें:

      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
      
    4. मैसेज प्रोसेसर के इस निर्देश का इस्तेमाल करना शुरू किए जाने तक इंतज़ार करें:

      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
      
    5. मैसेज प्रोसेसर चालू होने के बाद, दोबारा देखें कि क्या मैसेज प्रोसेसर, पोर्ट 8082 पर सुन रहा है.

    6. अगर मैसेज प्रोसेसर, पोर्ट 8082 पर सुन रहा है, तो चरण #7 पर जाएं.

  7. देखें कि अब यूज़र इंटरफ़ेस (यूआई) में ट्रेस करने का सेशन शुरू हो पा रहा है या नहीं. अगर समस्या अब नहीं दिख रही है, तो नीचे दिया गया तरीका अपनाएं.

  8. अगर मैसेज प्रोसेसर चल रहा है और पोर्ट 8082 पर सुन रहा है, लेकिन फिर भी आप मैनेजमेंट सर्वर जैसे दूसरे सर्वर से कनेक्ट नहीं कर पा रहे हैं, तो हो सकता है कि कोई फ़ायरवॉल, बाहरी कनेक्शन को ब्लॉक कर रहा हो.

  9. फ़ायरवॉल के नियमों को देखने के लिए, सही निर्देश का इस्तेमाल करें. उदाहरण के लिए, अपने सिस्टम पर तय किए गए फ़ायरवॉल के सभी नियमों की सूची बनाने के लिए, iptables कमांड को एक्ज़ीक्यूट करें:

    iptables -L -n
    
  10. अगर पोर्ट 8082 के लिए, फ़ायरवॉल का कोई नियम सेट नहीं किया गया है, तो हाई रिसोर्स यूटिलाइज़ेशन समस्या पर जाएं.

  11. अगर पोर्ट 8082 पर फ़ायरवॉल के नियम सेट अप किए गए हैं, तो नीचे दिए गए रिज़ॉल्यूशन सेक्शन में जाएं.

रिज़ॉल्यूशन

  1. बाहरी सर्वर से पोर्ट 8082 पर इनबाउंड/आउटबाउंड ट्रैफ़िक की अनुमति देने के लिए अपने नेटवर्क एडमिन के साथ काम करें.

अगर इसके बाद भी समस्या बनी रहती है, तो गड़बड़ी की जानकारी ज़रूर इकट्ठा करें पर जाएं.

वजह: मैसेज प्रोसेसर पर एनवायरमेंट लोड नहीं है

डायग्नोसिस

  1. मैनेजमेंट सर्वर के लॉग /opt/apigee/var/log/edge-management-server/logs/system.log देखें और देखें कि ट्रेस/डीबग सेशन बनाने के दौरान कोई गड़बड़ी हुई है या नहीं.
  2. आपको गड़बड़ी का मैसेज दिख सकता है. जैसे, "एमपी से कोई मान्य जवाब नहीं मिला" ट्रेस/डीबग सेशन बनाने के दौरान:

    2018-01-30 08:28:09,721 org:mynonprod env:uat  qtp2007599722-712162 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : no valid responses from MP(s), throwing error
    2018-01-30 08:28:09,723 org:mynonprod env:uat  qtp2007599722-712162 ERROR REST - CustomJAXRSInvoker.performInvocation() : CustomJAXRSInvoker.performInvocation : Method com.apigee.distribution.DebugSessionAPI.createDebugSession threw an exception.
    2018-01-30 08:28:09,724 org:mynonprod env:uat  qtp2007599722-712162 ERROR REST - ExceptionMapper.toResponse() : Error occurred : Failed to create DebugSession 1517297564678
    2018-01-30 08:28:09,724 org:mynonprod env:uat  qtp2007599722-712162 ERROR REST - ExceptionMapper.toResponse() : Returning error response : ErrorResponse{errorCode = distribution.CreateDebugSessionFailed, errorMessage = Failed to create DebugSession 1517297564678}
    

    यह गड़बड़ी बताती है कि मैसेज प्रोसेसर किसी वजह से मैनेजमेंट सर्वर को जवाब नहीं दे रहा है.

  3. अगर आपको ऊपर दिए गए उदाहरण से मिलती-जुलती गड़बड़ी नहीं दिखती है, तो पुराने मैसेज प्रोसेसर एंट्री पर जाएं.

  4. अगर आपको ऊपर दिए गए उदाहरण से मिलती-जुलती कोई गड़बड़ी दिखती है, तो यह तरीका अपनाएं.

  5. इस गड़बड़ी की सबसे संभावित वजह यह हो सकती है कि जिस एनवायरमेंट में ट्रेस सेशन बनाने की कोशिश की जा रही है वह मैसेज प्रोसेसर पर लोड न हो.

  6. हर मैसेज प्रोसेसर में लॉगिन करें और देखें कि जिस एनवायरमेंट में ट्रेस सेशन बनाने की कोशिश की जा रही है वह नीचे दिए गए कमांड का इस्तेमाल करके मैसेज प्रोसेसर पर लोड हो गया है या नहीं:

    curl -s http://localhost:8082/v1/runtime/organizations/<org-name>/environments
    

    आउटपुट का उदाहरण:

    आपको ऊपर दिए गए निर्देश के आउटपुट में मैसेज प्रोसेसर पर लोड किए गए खास संगठन के एनवायरमेंट की सूची दिखेगी. उदाहरण के लिए, अगर मैसेज प्रोसेसर पर प्रीप्रोड और टेस्ट एनवायरमेंट लोड होते हैं, तो आपको आउटपुट इस तरह दिखेगा:

    [ "preprod", "test" ]

  7. अगर किसी खास एनवायरमेंट, जैसे कि "dev" में आपको ट्रेस सेशन बनाने की कोशिश करनी है, तो उसे ऊपर दिए गए निर्देश के हिस्से के तौर पर शामिल करें. इसके बाद, पुराने मैसेज प्रोसेसर की एंट्री पर जाएं.

  8. अगर किसी खास एनवायरमेंट को मान लें कि "dev", ऊपर दिए गए निर्देश के तौर पर सूची में नहीं है, तो मैसेज प्रोसेसर पर /opt/apigee/var/log/edge-message-processor/logs/system.log और /opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log की जांच करें. इससे आपको एनवायरमेंट लोड होने के दौरान होने वाली किसी भी गड़बड़ी का पता चलेगा.

  9. इसमें कई तरह की गड़बड़ियां हो सकती हैं. इनकी वजह से, मैसेज प्रोसेसर पर एनवायरमेंट लोड नहीं हो पाएगा. समस्या का समाधान, गड़बड़ी के हिसाब से होता है.

रिज़ॉल्यूशन

ऐसा हो सकता है कि मैसेज प्रोसेसर पर एनवायरमेंट के लोड न होने की कई वजहें हों. इस सेक्शन में ऐसी कुछ संभावित वजहों के बारे में बताया गया है जिनकी वजह से यह समस्या हो सकती है. साथ ही, इस समस्या को हल करने का तरीका भी बताया गया है.

  1. अगर आपको मैसेज प्रोसेसर लॉग में, इनमें से कोई एक गड़बड़ी दिखती है, तो यह समस्या खास एनवायरमेंट में, बताए गए कीस्टोर/ट्रस्टस्टोर में जोड़े गए सर्टिफ़िकेट/बटन में किसी समस्या की वजह से हुई है.

    गड़बड़ी #1: java.security.KeyStoreexcept: खुद के सर्टिफ़िकेट को ओवरराइट नहीं किया जा सकता

    2018-01-30 12:04:38,248 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator 
    com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mycert in key store : mytruststore in environment : test
    at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] 
    at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] 
    at com.apigee.entities.AbstractConfigurator.propagateEvent(AbstractConfigurator.java:85) ~[config-entities-1.0.0.jar:na] 
    at com.apigee.messaging.runtime.Environment.handleUpdate(Environment.java:238) [message-processor-1.0.0.jar:na] 
     
    Caused by: java.security.KeyStoreException: Cannot overwrite own certificate 
    at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:355) ~[sunjce_provider.jar:1.8.0_151] 
    at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_151] 
    at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na]
    ... 20 common frames omitted
    2018-01-30 12:04:38,250 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert
    

    गड़बड़ी #2: java.security.KeyStoreexcept: सीक्रेट कुंजी को ओवरराइट नहीं किया जा सकता

    2017-11-01 03:28:47,560 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator 
    com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mstore in key store : myTruststore in environment : dev 
    at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] 
    at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] 
    ... 
    Caused by: java.security.KeyStoreException: Cannot overwrite secret key 
    at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:354) ~[sunjce_provider.jar:1.8.0_144] 
    at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_144] 
    at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na] 
    ... 20 common frames omitted 
    
    2017-11-01 03:28:47,562 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert 
    
  2. नीचे दिए गए मैनेजमेंट एपीआई कॉल का इस्तेमाल करके, पिछले चरण में गड़बड़ी के मैसेज में बताए गए कीस्टोर/ट्रस्टस्टोर की जानकारी पाएं:

    curl -v "http://<management-IPaddress>:8080/v1/organizations/<org-name>/environments/<env-name>/keystores/myTruststore" -u <user>
    

    आउटपुट का उदाहरण:

    { 
    "certs": [ 
    "mycert", 
    "mycert-new" 
    ], 
    "keys": [ 
    "mycert" 
    ], 
    "name": "myTruststore" 
    }
    
  3. आउटपुट के उदाहरण से पता चलता है कि Truststore myTruststore में दो सर्टिफ़िकेट और एक कुंजी है. आम तौर पर, Truststore में कोई कुंजी नहीं होती है. अगर ऐसा होता है, तो एक ही सर्टिफ़िकेट और एक कुंजी का इस्तेमाल करना बेहतर होगा.

  4. नीचे दिए गए एपीआई का इस्तेमाल करके दो सर्टिफ़िकेट के बारे में जानकारी पाएं:

    curl -s http://<management-IPaddress>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/keystores/<keystore-name>/certs/<cert-name>
    
  5. हर सर्टिफ़िकेट की समयसीमा खत्म होने की तारीख देखें. साथ ही, उस सर्टिफ़िकेट का पता लगाएं जिसकी समयसीमा खत्म हो चुकी है या पुराना है.

  6. Truststore "myTruststore" से ऐसे सर्टिफ़िकेट को मिटाएं जिसकी समयसीमा खत्म हो चुकी है या जो अनचाही है.

अगर समस्या अब भी बनी रहती है या ऊपर चरण #1 में बताई गई गड़बड़ियों के अलावा कोई और गड़बड़ी दिखती है, तो गड़बड़ी की जानकारी इकट्ठा करना ज़रूरी है पर जाएं.

वजह: पुरानी मैसेज प्रोसेसर एंट्री या मैसेज प्रोसेसर ऐक्सेस नहीं किए जा सकते

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

  1. अगर Edge के यूज़र इंटरफ़ेस (यूआई) को बनाने में ज़्यादा समय लगता है और वह ट्रेस सेशन नहीं बना पाता है, तो इसकी ये वजहें हो सकती हैं:
    1. मैनेजमेंट सर्वर शायद ऐसे मैसेज प्रोसेसर से जुड़ा हो जो मौजूद नहीं हैं (पुराने) मैसेज प्रोसेसर
    2. मैसेज प्रोसेसर को रोक दिया गया है या उसे ऐक्सेस नहीं किया जा सकता
    3. मैसेज प्रोसेसर का मेमोरी/सीपीयू इस्तेमाल बहुत ज़्यादा हो रहा है
  2. मैनेजमेंट सर्वर के लॉग /opt/apigee/var/log/edge-management-server/logs/system.log देखें और देखें कि ट्रेस/डीबग सेशन बनाने के दौरान कोई गड़बड़ी हुई है या नहीं.
  3. आपको गड़बड़ी का मैसेज दिख सकता है, जैसे कि "सर्वर <UUID> है या तो ट्रेस/डीबग सेशन बनाने के दौरान, ऐक्सेस नहीं किया जा सकता या पहुंच नहीं सकता" है, जैसा कि नीचे दिखाया गया है:

    2017-12-27 07:42:38,975 org:cocacola env:prod qtp2007599722-222063 INFO DISTRIBUTION - DebugSessionAPI.createDebugSession() : server 458b5910-2646-441c-a6e2-428b6d84e021 is either not up or reachable, skipping the server
    

    इसके बाद, एक और गड़बड़ी दिख सकती है, "कनेक्शन का समय खत्म हो गया" थोड़ी देर बाद फिर से देख सकते हैं, जैसा कि नीचे दिखाया गया है:

    2017-12-27 07:44:46.000 UTC org:cocacola env:prod qtp2007599722-222063 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : createDebugSession : Unable to connect to the server with UUID {}, skipping it458b5910-2646-441c-a6e2-428b6d84e021 org.apache.http.conn.HttpHostConnectException: Connect to 192.168.101.7:8080 [/192.168.101.7] failed: Connection timed out (Connection timed out) at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:140) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) ~[httpclient-4.3.5.jar:4.3.5] 
    <snipped>
    Caused by: java.net.ConnectException: Connection timed out (Connection timed out) at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_144] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_144]
    <snipped>
    
  4. ये दो गड़बड़ियां या तो खास मैसेज प्रोसेसर की वजह से हो सकती हैं :

    1. पुराना होना (अब मौजूद नहीं है)
    2. किसी वजह से बंद होना/पहुंच से बाहर होना
  5. कृपया सामने आने वाली स्थिति के आधार पर, सही रिज़ॉल्यूशन का पालन करें.

रिज़ॉल्यूशन

स्थिति #1 : मैसेज प्रोसेसर पुराना है (मौजूद नहीं है)

  1. नीचे दिए गए मैनेजमेंट एपीआई का इस्तेमाल करके, मैसेज प्रोसेसर की सूची पाएं:

    curl -u <sysadmin> "http://<management-server-host>:8080/v1/servers?pod=<podName>&regions=<regionName>"
    
  2. वह आईपी पता या होस्टनेम नोट कर लें जो मैनेजमेंट सर्वर लॉग के गड़बड़ी के मैसेज में बताए गए मैसेज प्रोसेसर के यूयूआईडी से मेल खाता है (डाइग्नोस्टिक्स में ऊपर दिया गया चरण #3). पुष्टि करें कि ये मान्य मैसेज प्रोसेसर हैं या नहीं. इसके लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:

    1. प्राइवेट क्लाउड टोपोलॉजी के नए सेटअप का डायग्राम
    2. नया Edge सर्वर आईपी पता - होस्ट नेम मैपिंग टेबल

    अगर आपको वे मैसेज प्रोसेसर के तौर पर मान्य लगते हैं, तो स्थिति 2 : मैसेज प्रोसेसर ऐक्सेस नहीं किए जा सकते पर जाएं.

  3. नीचे दिए गए मैनेजमेंट एपीआई का इस्तेमाल करके, पुरानी जानकारी (मौजूद नहीं है) मैसेज प्रोसेसर मिटाएं:

    1. मैसेज प्रोसेसर का रजिस्ट्रेशन संगठन के एनवायरमेंट से अनलिंक करना:

      curl -X POST http://<management-server-host>:8080/v1/o/<orgName>/e/<envName>/servers -d "uuid={uuid}&region=<regionName>&pod=<podName}&action=remove" 
      
    2. सर्वर के प्रकार का रजिस्ट्रेशन रद्द करें:

      curl http://<management-server-host>:8080/v1/servers -X POST -d "type={message-processor}&region=<regionName>&pod=<podName>&uuid=<uuid>&action=remove"
      
    3. सर्वर मिटाएं:

      curl http://<management-ip>:8080/v1/servers/<uuid> -X DELETE
      
  4. अगर आपको अपने संगठन के किसी और प्लैटफ़ॉर्म पर ऐसी समस्या आ रही है, तो चरण #3 को दोहराएं.

दूसरी स्थिति: मैसेज प्रोसेसर पहुंच के बाहर है

  1. Management Server लॉग में गड़बड़ी के मैसेज में दिखने वाले UUID के आधार पर आईपी पते/होस्ट का नाम तय करके, हर मैसेज प्रोसेसर में लॉगिन करें.
  2. मैसेज प्रोसेसर को रीस्टार्ट करें:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
    

फिर से देखें कि ट्रेस सेशन बन पा रहा है या नहीं. अगर समस्या बनी रहती है, तो गड़बड़ी की जानकारी ज़रूर इकट्ठा करेंपर जाएं.

वजह: संसाधन के ज़्यादा इस्तेमाल से जुड़ी समस्या

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

  1. हर मैसेज प्रोसेसर में लॉगिन करें और देखें कि क्या किसी संसाधन, जैसे सीपीयू, मेमोरी या लोड का बहुत ज़्यादा इस्तेमाल हो रहा है. मैसेज प्रोसेसर की प्रोसेस के संसाधन इस्तेमाल करने की जानकारी पाने के लिए, यूनिक्स आधारित ऑपरेटिंग सिस्टम पर top कमांड का इस्तेमाल किया जा सकता है:

    top
    
  2. अगर मैसेज प्रोसेसर बहुत ज़्यादा संसाधनों का इस्तेमाल नहीं कर रहा है, तो गड़बड़ी की जानकारी इकट्ठा करना ज़रूरी है पर जाएं.

  3. अगर मैसेज प्रोसेसर को सीपीयू या मेमोरी के ज़्यादा इस्तेमाल का अनुभव हो रहा है, तो हो सकता है कि मैसेज प्रोसेसर, मैनेजमेंट सर्वर को समय पर जवाब न दे पाए. ऐसा करने पर, ट्रेस सेशन नहीं बन पाएगा.

    1. अगर किसी मैसेज प्रोसेसर को सीपीयू के ज़्यादा इस्तेमाल का सामना करना पड़ रहा है, तो हर 30 सेकंड में तीन थ्रेड डंप जनरेट करें. इसके लिए, यहां दिए गए निर्देश का इस्तेमाल करें:

      sudo <JAVA_HOME>/bin/jstack -l <pid> > <filename>
      
    2. अगर किसी मैसेज प्रोसेसर की मेमोरी का ज़्यादा इस्तेमाल हो रहा है, तो नीचे दिए गए निर्देश का इस्तेमाल करके हीप डंप जनरेट करें:

      sudo -u apigee <JAVA_HOME>/bin/jmap -dump:live,format=b,file=<filename> <pid>
      
      
    3. रिज़ॉल्यूशन पर जाएं.

रिज़ॉल्यूशन

  1. नीचे दिए गए निर्देश का इस्तेमाल करके, मैसेज प्रोसेसर को रीस्टार्ट करें. इससे सीपीयू और मेमोरी का इस्तेमाल कम हो जाएगा:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  2. एपीआई कॉल पर नज़र रखें और पुष्टि करें कि समस्या अब भी बनी हुई है या नहीं.

  3. Apigee Edge की सहायता टीम से संपर्क करें और थ्रेड डंप, हीप डंप, और मैसेज प्रोसेसर लॉग (/opt/apigee/var/log/edge-message-processor/logs/system.log)) की जानकारी दें, ताकि उन्हें सीपीयू/मेमोरी के ज़्यादा इस्तेमाल की वजह का पता लगाने में मदद मिल सके.

वजह: एक या उससे ज़्यादा मैसेज प्रोसेसर पर एपीआई प्रॉक्सी डिप्लॉय नहीं किया गया है

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

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

  1. हर मैसेज प्रोसेसर में लॉगिन करें और देखें कि नीचे दिए गए कमांड का इस्तेमाल करके एपीआई प्रॉक्सी के किसी खास बदलाव को डिप्लॉय किया गया है या नहीं:

    curl -v localhost:8082/v1/runtime/organizations/<orgname>/environments/<envname>/apis/<apiname>/revisions
    

    आउटपुट का उदाहरण:

    आपको ऊपर दिए गए कमांड के आउटपुट के तौर पर बदलावों की सूची दिखेगी. उदाहरण के लिए, अगर रिविज़न 12 लागू किया जाता है, तो आपको आउटपुट इस तरह दिखेगा:

    [ "12" ]

  2. अगर एपीआई प्रॉक्सी में किया गया कोई खास बदलाव ऊपर दिए गए निर्देश के आउटपुट के तौर पर नहीं दिखता है, तो मैसेज प्रोसेसर को रीस्टार्ट करें, जैसा कि नीचे दिए गए रिज़ॉल्यूशन में बताया गया है.

  3. सभी मैसेज प्रोसेसर के लिए, पहले से दूसरे चरण तक की प्रक्रिया दोहराएं.

  4. अगर एपीआई प्रॉक्सी के किसी खास वर्शन को सभी मैसेज प्रोसेसर पर डिप्लॉय किया जाता है, तो यह समस्या इसकी वजह नहीं है. गड़बड़ी की जानकारी ज़रूर इकट्ठा करें पर जाएं.

रिज़ॉल्यूशन

  1. उस मैसेज प्रोसेसर को फिर से चालू करें जिस पर एपीआई प्रॉक्सी का खास वर्शन डिप्लॉय नहीं किया गया है:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
    

वजह: Edge के यूज़र इंटरफ़ेस (यूआई) में समस्या

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

  1. Edge के यूज़र इंटरफ़ेस (यूआई) लॉग /opt/apigee/var/log/edge-ui/application.log और /opt/apigee/var/log/edge-ui/edge-ui.log देखें और देखें कि उनमें कोई गड़बड़ी है या नहीं.
  2. आगे की जांच के लिए, Apigee Edge की सहायता टीम से संपर्क करें और इन फ़ाइलों को शेयर करें.

गड़बड़ी की जानकारी इकट्ठा करना ज़रूरी है

अगर ऊपर दिए गए निर्देशों का पालन करने के बाद भी समस्या बनी रहती है, तो कृपया गड़बड़ी की यह जानकारी इकट्ठा करें. Apigee Edge की सहायता टीम से संपर्क करें और जानकारी शेयर करें:

  1. निर्देश का आउटपुट:

    curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/debugsessions -u <user>
    
  2. मैनेजमेंट सर्वर का लॉग

    /opt/apigee/var/log/edge-management-server/logs/system.log.
    
  3. मैसेज प्रोसेसर के लॉग

    /opt/apigee/var/log/edge-message-processor/logs/system.log.
    
  4. मैनेजमेंट सर्वर से मैसेज प्रोसेसर तक टेलनेट/एनसी कमांड का आउटपुट:

    telnet <MessageProcessor_IP> 8082
    nc -vz <MessageProcessor_IP> 8082
    
  5. मैसेज प्रोसेसर पर, नीचे दिए गए नेटस्टेट कमांड का आउटपुट:

    netstat -an > netstat.txt
    
  6. अगर Edge यूज़र इंटरफ़ेस (यूआई) में कोई समस्या है, तो Edge यूज़र इंटरफ़ेस (यूआई) लॉग /opt/apigee/var/log/edge-ui/application.log और /opt/apigee/var/log/edge-ui/edge-ui.log. दें

  7. इस प्लेबुक में आज़माए गए सेक्शन के बारे में जानकारी और ऐसी अन्य अहम जानकारी दी गई है जिससे हमें इस समस्या को तेज़ी से हल करने में मदद मिलेगी.