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 | Description | समस्या हल करने वाले निर्देश इन पर लागू होते हैं |
नेटवर्क कनेक्टिविटी की समस्या | नेटवर्क कनेक्टिविटी से जुड़ी समस्याओं या फ़ायरवॉल के नियमों की वजह से, मैनेजमेंट सर्वर और मैसेज प्रोसेसर के बीच कम्यूनिकेशन नहीं हो सका. | Edge के प्राइवेट क्लाउड उपयोगकर्ता |
मैसेज प्रोसेसर पर एनवायरमेंट लोड नहीं हुआ | किसी गड़बड़ी की वजह से, मैसेज प्रोसेसर पर खास एनवायरमेंट (जिसमें ट्रेस चालू करने की कोशिश की जा रही है) लोड नहीं किया जा सका. | |
मैसेज प्रोसेसर की पुरानी एंट्री | मैनेजमेंट सर्वर में ऐसे मैसेज प्रोसेसर का रेफ़रंस है जो मौजूद नहीं हैं (पुराने) मैसेज प्रोसेसर. | |
मैसेज प्रोसेसर पहुंच से बाहर है | मैसेज प्रोसेसर को बंद कर दिया गया है या वह पहुंच से बाहर है. | |
ज़्यादा संसाधन के इस्तेमाल से जुड़ी समस्या | मैसेज प्रोसेसर के लिए, ज़्यादा रिसॉर्स (सीपीयू, मेमोरी या लोड) का इस्तेमाल किया जा रहा है. | |
एक या उससे ज़्यादा मैसेज प्रोसेसर पर, एपीआई प्रॉक्सी डिप्लॉय नहीं किया गया | डिप्लॉयमेंट के दौरान इवेंट की सूचना मौजूद न होने की वजह से, एपीआई प्रॉक्सी को एक या उससे ज़्यादा मैसेज प्रोसेसर पर डिप्लॉय नहीं किया जा सकता. | |
Edge के यूज़र इंटरफ़ेस (यूआई) से जुड़ी समस्या | किसी गड़बड़ी की वजह से, Edge यूज़र इंटरफ़ेस (यूआई) ट्रेस सेशन नहीं बना सका. |
गड़बड़ी का पता लगाने का सामान्य तरीका
इस मैनेजमेंट एपीआई को चलाएं:
curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/debugsessions -u <user>
अगर आपको कोई गड़बड़ी दिखती है, तो उसे नोट करें. नेटवर्क कनेक्टिविटी की समस्या पर जाएं.
अगर आपको सही जवाब मिलता है, तो इससे पता चलता है कि ट्रेस सेशन को Management API से बनाया जा सकता है. हालांकि, Edge यूआई में कुछ ऐसी समस्या हो सकती है जिसकी वजह से, यूज़र इंटरफ़ेस (यूआई) में ट्रेस सेशन नहीं बनाया जा सकता. Edge यूज़र इंटरफ़ेस से जुड़ी समस्या पर जाएं.
वजह: नेटवर्क कनेक्टिविटी की समस्या
विश्लेषण
मैनेजमेंट सर्वर लॉग
/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>
ऊपर दी गई गड़बड़ी के उदाहरण से पता चलता है कि जब मैनेजमेंट सर्वर, पोर्ट # 8082 पर मैसेज प्रोसेसर से कनेक्ट करने की कोशिश करता है, तो हमें "कनेक्शन से अस्वीकार किया गया" वाली गड़बड़ियां मिल रही हैं. इसलिए, मैनेजमेंट सर्वर ट्रेस सेशन नहीं बना सकता.
अगर आपको नेटवर्क कनेक्टिविटी से जुड़ी कोई भी गड़बड़ी या ऊपर दिए गए उदाहरण में दिखाई गई गड़बड़ी से मिलती-जुलती कोई गड़बड़ी नहीं दिखती है, तो मैसेज प्रोसेसर पर एनवायरमेंट लोड नहीं है पर जाएं.
अगर आपको इंटरनेट कनेक्टिविटी से जुड़ी गड़बड़ियां(गड़बड़ियां) या ऊपर दी गई उदाहरण जैसी गड़बड़ी दिखती है, तो यहां दिया गया तरीका अपनाएं.
नीचे दिए गए तरीके का इस्तेमाल करके, पोर्ट 8082 पर मैनेजमेंट सर्वर से मैसेज प्रोसेसर तक कनेक्टिविटी की जांच करें:
अगर टेलनेट उपलब्ध है, तो टेलनेट का इस्तेमाल करें:
telnet <MessageProcessor_IP> 8082
अगर टेलनेट उपलब्ध नहीं है, तो कनेक्टिविटी की जांच करने के लिए netcat का इस्तेमाल इस तरह करें:
nc -vz <MessageProcessor_IP> 8082
अगर आपको "कनेक्शन से इनकार किया गया" या "कनेक्शन का समय खत्म हो गया" जवाब मिलता है, तो अगले चरण पर जाएं.
गड़बड़ी दिखाने वाले आईपी पते से जुड़े हर मैसेज प्रोसेसर में लॉगिन करें और यह तरीका अपनाएं:
देखें कि क्या मैसेज प्रोसेसर, पोर्ट 8082 पर सुन रहा है:
netstat -an | grep LISTEN | grep 8082
अगर Message प्रोसेसर, पोर्ट 8082 पर सुन रहा है, तो चरण #7 पर जाएं.
अगर मैसेज प्रोसेसर, पोर्ट 8082 पर नहीं सुन रहा है, तो इस निर्देश का इस्तेमाल करके मैसेज प्रोसेसर को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
जब तक मैसेज प्रोसेसर इस निर्देश का इस्तेमाल करना शुरू नहीं कर देता, तब तक इंतज़ार करें:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
मैसेज प्रोसेसर चालू होने के बाद, फिर से देखें कि मैसेज प्रोसेसर, पोर्ट 8082 पर सुन रहा है या नहीं.
अगर मैसेज प्रोसेसर, पोर्ट 8082 पर सुन रहा है, तो चरण #7 पर जाएं.
देखें कि अब यूज़र इंटरफ़ेस (यूआई) में ट्रेस सेशन शुरू किया जा सकता है या नहीं. अगर समस्या हल नहीं हुई है, तो नीचे दिया गया तरीका न अपनाएं.
अगर मैसेज प्रोसेसर चल रहा है और पोर्ट 8082 पर सुन रहा है, लेकिन फिर भी आप मैनेजमेंट सर्वर जैसे दूसरे सर्वर से कनेक्ट नहीं कर पा रहे हैं, तो शायद कोई फ़ायरवॉल मौजूद है जो बाहरी कनेक्शन को ब्लॉक कर रहा है.
फ़ायरवॉल के नियमों की जांच करने के लिए, सही कमांड का इस्तेमाल करें. उदाहरण के लिए, अपने सिस्टम पर बनाए गए सभी फ़ायरवॉल नियमों की सूची बनाने के लिए iptables कमांड चलाया जा सकता है:
iptables -L -n
अगर पोर्ट 8082 के लिए कोई फ़ायरवॉल का नियम सेट नहीं किया गया है, तो हाई रिसॉर्स इस्तेमाल की समस्या पर जाएं.
अगर पोर्ट 8082 पर फ़ायरवॉल के नियम सेट अप किए गए हैं, तो नीचे दिए गए 'रिज़ॉल्यूशन' सेक्शन में जाएं.
रिज़ॉल्यूशन
- बाहरी सर्वर से पोर्ट 8082 पर इनबाउंड/आउटबाउंड ट्रैफ़िक की अनुमति देने के लिए, अपने नेटवर्क के एडमिन के साथ काम करें.
अगर समस्या अब भी बनी रहती है, तो गड़बड़ी की जानकारी इकट्ठा करना ज़रूरी है पर जाएं.
वजह: मैसेज प्रोसेसर पर एनवायरमेंट लोड नहीं हो रहा है
विश्लेषण
- मैनेजमेंट सर्वर लॉग
/opt/apigee/var/log/edge-management-server/logs/system.log
देखें और देखें कि ट्रेस/डीबग सेशन को बनाते समय कोई गड़बड़ी तो नहीं हुई. ट्रेस/डीबग सेशन बनाने के दौरान, आपको "एमपी से मिले मान्य जवाब नहीं मिले" जैसा गड़बड़ी का मैसेज दिख सकता है, जैसा कि नीचे दिखाया गया है:
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}
यह गड़बड़ी बताती है कि मैसेज प्रोसेसर किसी वजह से मैनेजमेंट सर्वर को जवाब नहीं दे रहे हैं.
अगर आपको ऊपर दिए गए उदाहरण से मिलती-जुलती गड़बड़ी नहीं दिखती है, तो मैसेज प्रोसेसर की पुरानी एंट्री पर जाएं.
अगर आपको ऊपर दिए गए उदाहरण से मिलती-जुलती कोई गड़बड़ी दिखती है, तो यह तरीका अपनाएं.
इस गड़बड़ी की सबसे बड़ी वजह यह है कि आप जिस एनवायरमेंट में ट्रेस सेशन बनाने की कोशिश कर रहे हैं वह मैसेज प्रोसेसर पर लोड नहीं होता है.
हर एक मैसेज प्रोसेसर में लॉगिन करें और देखें कि नीचे दिए गए निर्देश का इस्तेमाल करके, वह नेटवर्क लोड हो रहा है जिसमें ट्रेस सेशन बनाने की कोशिश की जा रही है:
curl -s http://localhost:8082/v1/runtime/organizations/<org-name>/environments
आउटपुट का उदाहरण:
आपको ऊपर दिए गए निर्देश के आउटपुट में, किसी खास संगठन से जुड़े उन एनवायरमेंट की सूची दिखेगी जो मैसेज प्रोसेसर पर लोड किए गए हैं. उदाहरण के लिए, अगर मैसेज प्रोसेसर पर preprod और test एनवायरमेंट लोड किए गए हैं, तो आपको आउटपुट इस तरह दिखेगा:
[ "preprod", "test" ]
अगर किसी खास एनवायरमेंट, "dev" को कहें, जिसमें आप ट्रेस सेशन बनाने की कोशिश कर रहे हैं, तो वह ऊपर दिए गए निर्देश में शामिल है. इसके बाद, मैसेज प्रोसेसर की पुरानी एंट्री पर जाएं.
अगर खास एनवायरमेंट, जैसे कि "dev", को ऊपर दिए गए निर्देश में शामिल नहीं किया गया है, तो एनवायरमेंट को लोड करते समय होने वाली किसी भी गड़बड़ी के लिए, मैसेज प्रोसेसर पर
/opt/apigee/var/log/edge-message-processor/logs/system.log
और/opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
देखें.इस तरह की कई गड़बड़ियां हो सकती हैं जिनकी वजह से, Message प्रोसेसर पर एनवायरमेंट को लोड करने में समस्या आ सकती है. रिज़ॉल्यूशन इस बात पर निर्भर करता है कि गड़बड़ी हुई है.
रिज़ॉल्यूशन
कई वजहों से, मैसेज प्रोसेसर पर एनवायरमेंट लोड नहीं हो सकता. इस सेक्शन में, ऐसी कुछ संभावित वजहों के बारे में बताया गया है जिनकी वजह से यह समस्या हो सकती है. साथ ही, यह भी बताया गया है कि समस्या को कैसे हल किया जा सकता है.
अगर आपको Message प्रोसेसर के लॉग में, इनमें से कोई गड़बड़ी दिखती है, तो ऐसा उन सर्टिफ़िकेट/कुंजी में गड़बड़ी मिलने की वजह से होती है जिन्हें खास एनवायरमेंट में बताए गए keystore/truststore से जोड़ा गया है.
गड़बड़ी #1: java.security.KeyStore4: खुद के सर्टिफ़िकेट को ओवरराइट नहीं कर सकता
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.KeyStore अपवाद: सीक्रेट कुंजी को ओवरराइट नहीं किया जा सकता
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
नीचे दिए गए मैनेजमेंट एपीआई कॉल का इस्तेमाल करके, पिछले चरण में दिखाए गए गड़बड़ी के मैसेज में बताए गए कीस्टोर/ट्रस्टस्टोर की जानकारी पाएं:
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" }
आउटपुट के उदाहरण से पता चलता है कि ट्रस्टस्टोर myTruststore में दो सर्टिफ़िकेट और एक कुंजी है. आम तौर पर, ट्रस्टस्टोर में कुंजी नहीं होती. अगर यह शर्तें पूरी करता है, तो एक ही सर्टिफ़िकेट और एक ही कुंजी रखना बेहतर है.
नीचे दिए गए एपीआई का इस्तेमाल करके, दो सर्टिफ़िकेट के बारे में जानकारी पाएं:
curl -s http://<management-IPaddress>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/keystores/<keystore-name>/certs/<cert-name>
हर सर्टिफ़िकेट की समयसीमा खत्म होने की तारीख देखें. साथ ही, यह तय करें कि सर्टिफ़िकेट की समयसीमा खत्म हो चुकी है या नहीं.
ट्रस्टस्टोर "myTruststore" से उस सर्टिफ़िकेट को मिटाएं जिसकी समयसीमा खत्म हो चुकी है या जिसकी समयसीमा खत्म हो चुकी है.
अगर समस्या अब भी बनी रहती है या आपको ऊपर चरण #1 में बताई गई गड़बड़ियों के अलावा कोई दूसरी गड़बड़ी दिखती है, तो गड़बड़ी की जानकारी इकट्ठा करना ज़रूरी है पर जाएं.
वजह: मैसेज प्रोसेसर की पुरानी एंट्री या मैसेज प्रोसेसर ऐक्सेस नहीं हो पा रहे
संक्रमण की जांच
- अगर Edge यूज़र इंटरफ़ेस (यूआई) को ज़्यादा समय लगता है और वह ट्रेस सेशन नहीं बना पाता, तो इसकी ये वजहें हो सकती हैं:
- मैनेजमेंट सर्वर ऐसे मैसेज प्रोसेसर की बात कर रहा है जो मौजूद नहीं हैं (पुराने) मैसेज प्रोसेसर
- मैसेज प्रोसेसर को बंद कर दिया गया है या वे पहुंच से बाहर हो गए हैं
- मैसेज प्रोसेसर, ज़्यादा मेमोरी/सीपीयू का इस्तेमाल कर रहे हैं
- मैनेजमेंट सर्वर लॉग
/opt/apigee/var/log/edge-management-server/logs/system.log
देखें और देखें कि ट्रेस/डीबग सेशन बनाते समय कोई गड़बड़ी तो नहीं हुई. ट्रेस/डीबग सेशन बनाने के दौरान, आपको गड़बड़ी का ऐसा मैसेज दिख सकता है: "सर्वर <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>
ये दो गड़बड़ियां या तो खास मैसेज प्रोसेसर की वजह से हो सकती हैं :
- पुरानी हो रही है (अब मौजूद नहीं है)
- किसी वजह से काम नहीं कर रहा है या उपलब्ध नहीं है
आपने जिस स्थिति में सामना किया है उसके आधार पर, कृपया सही रिज़ॉल्यूशन का पालन करें.
रिज़ॉल्यूशन
स्थिति #1 : संदेश प्रोसेसर पुराने हैं (मौजूद नहीं हैं)
नीचे दिए गए मैनेजमेंट एपीआई का इस्तेमाल करके, मैसेज प्रोसेसर की सूची पाएं:
curl -u <sysadmin> "http://<management-server-host>:8080/v1/servers?pod=<podName>®ions=<regionName>"
वह आईपी पता या होस्टनेम नोट कर लें जो मैनेजमेंट सर्वर लॉग के गड़बड़ी के मैसेज में बताए गए Message प्रोसेसर के UUID (s) से मेल खाता हो (ऊपर दिए गए डायग्नोसिस में चरण #3). नीचे दिए गए तरीकों में से किसी एक का इस्तेमाल करके, पुष्टि करें कि ये मान्य मैसेज प्रोसेसर हैं:
- निजी क्लाउड टोपोलॉजी सेटअप करने का नया डायग्राम
- सबसे नया Edge सर्वर आईपी पता - होस्ट नाम मैप करने की टेबल
अगर आपको लगता है कि वे मान्य मैसेज प्रोसेसर हैं, तो स्थिति 2 : मैसेज प्रोसेसर पहुंच से बाहर हैं पर जाएं.
नीचे दिए गए मैनेजमेंट एपीआई का इस्तेमाल करके, पुराने (मौजूद नहीं) मैसेज प्रोसेसर मिटाएं:
संगठन के एनवायरमेंट से मैसेज प्रोसेसर का रजिस्ट्रेशन रद्द करें:
curl -X POST http://<management-server-host>:8080/v1/o/<orgName>/e/<envName>/servers -d "uuid={uuid}®ion=<regionName>&pod=<podName}&action=remove"
सर्वर का रजिस्ट्रेशन रद्द करें:
curl http://<management-server-host>:8080/v1/servers -X POST -d "type={message-processor}®ion=<regionName>&pod=<podName>&uuid=<uuid>&action=remove"
सर्वर मिटाना:
curl http://<management-ip>:8080/v1/servers/<uuid> -X DELETE
अगर आपके संगठन के किसी अन्य प्लैटफ़ॉर्म में भी यही समस्या आ रही है, तो #3 चरण को दोहराएं.
स्थिति 2: मैसेज प्रोसेसर तक पहुंचा नहीं जा सका
- मैनेजमेंट सर्वर लॉग में गड़बड़ी के मैसेज में मिले यूयूआईडी के आधार पर आईपी पते/होस्ट के नाम तय करके, हर मैसेज प्रोसेसर में लॉगिन करें.
मैसेज प्रोसेसर को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
फिर से देखें कि ट्रेस सेशन बनाया जा रहा है या नहीं. अगर समस्या बनी रहती है, तो डाइग्नोस्टिक की जानकारी इकट्ठा करना ज़रूरी है पर जाएं.
वजह: ज़्यादा संसाधन के इस्तेमाल से जुड़ी समस्या
संक्रमण की जांच
हर मैसेज प्रोसेसर में लॉगिन करें और देखें कि क्या किसी भी रिसॉर्स, जैसे कि सीपीयू, मेमोरी या लोड का बहुत ज़्यादा इस्तेमाल हो रहा है. Message प्रोसेसर की प्रोसेस के संसाधनों के इस्तेमाल की जानकारी पाने के लिए, यूनिक्स ऑपरेटिंग सिस्टम पर
top
कमांड का इस्तेमाल किया जा सकता है:top
अगर मैसेज प्रोसेसर के लिए, ज़्यादा संसाधनों का इस्तेमाल नहीं हो पा रहा है, तो डाइग्नोस्टिक की जानकारी इकट्ठा करना ज़रूरी है पर जाएं.
अगर मैसेज प्रोसेसर, सीपीयू या मेमोरी के ज़्यादा इस्तेमाल का अनुभव कर रहा है, तो हो सकता है कि इसकी वजह से मैसेज प्रोसेसर, मैनेजमेंट सर्वर को समय पर जवाब न दे रहा हो. इसकी वजह से, आपको ट्रेस सेशन बनाने की अनुमति नहीं मिलती.
अगर किसी मैसेज प्रोसेसर के लिए सीपीयू का बहुत ज़्यादा इस्तेमाल किया जा रहा है, तो नीचे दिए गए निर्देश का इस्तेमाल करके, हर 30 सेकंड में तीन थ्रेड डंप जनरेट करें:
sudo <JAVA_HOME>/bin/jstack -l <pid> > <filename>
अगर किसी भी मैसेज प्रोसेसर में ज़्यादा मेमोरी का इस्तेमाल हो रहा है, तो नीचे दिए गए निर्देश का इस्तेमाल करके हीप डंप जनरेट करें:
sudo -u apigee <JAVA_HOME>/bin/jmap -dump:live,format=b,file=<filename> <pid>
रिज़ॉल्यूशन पर जाएं.
रिज़ॉल्यूशन
नीचे दिए गए निर्देश का इस्तेमाल करके, मैसेज प्रोसेसर को रीस्टार्ट करें. इससे सीपीयू और मेमोरी का इस्तेमाल कम हो जाएगा:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
एपीआई कॉल पर नज़र रखें और पुष्टि करें कि समस्या अब भी मौजूद है या नहीं.
Apigee Edge की सहायता टीम से संपर्क करें. साथ ही, थ्रेड डंप, हीप डंप, और मैसेज प्रोसेसर लॉग (
/opt/apigee/var/log/edge-message-processor/logs/system.log)
) की जानकारी दें, ताकि वे सीपीयू/मेमोरी के ज़्यादा इस्तेमाल की वजह का पता लगा सकें.
वजह: एक या उससे ज़्यादा मैसेज प्रोसेसर पर एपीआई प्रॉक्सी को डिप्लॉय नहीं किया गया है
शायद ही कभी किसी एपीआई प्रॉक्सी को एक या उससे ज़्यादा मैसेज प्रोसेसर पर डिप्लॉय नहीं किया जा सकता. ऐसा अक्सर किसी खास एपीआई प्रॉक्सी के डिप्लॉयमेंट के दौरान मैनेजमेंट सर्वर से मैसेज प्रोसेसर को इवेंट की सूचना न मिलने की वजह से होता है. ऐसे मामले में भी, Edge यूआई में ट्रेस सेशन नहीं बनाया जा सकता.
संक्रमण की जांच
हर एक संदेश प्रोसेसर में लॉगिन करें और जाँचें कि क्या API प्रॉक्सी का खास वर्शन नीचे दिए गए निर्देश का इस्तेमाल करके परिनियोजित किया गया है:
curl -v localhost:8082/v1/runtime/organizations/<orgname>/environments/<envname>/apis/<apiname>/revisions
आउटपुट का उदाहरण:
आपको ऊपर दिए गए कमांड के आउटपुट के तौर पर, बदलावों की सूची दिखेगी. उदाहरण के लिए, अगर वर्शन 12 लागू किया गया है, तो आपको आउटपुट इस तरह दिखेगा:
[ "12" ]
अगर एपीआई प्रॉक्सी का कोई खास बदलाव ऊपर #1 में बताए गए निर्देश के आउटपुट के तौर पर नहीं दिखता है, तो नीचे दिए गए रिज़ॉल्यूशन में बताए गए तरीके से मैसेज प्रोसेसर को रीस्टार्ट करें.
सभी मैसेज प्रोसेसर के लिए, पहले से दूसरे चरण तक की प्रक्रिया दोहराएं.
अगर एपीआई प्रॉक्सी का कोई खास रिविज़न सभी मैसेज प्रोसेसर पर डिप्लॉय किया जाता है, तो यह इस समस्या की वजह नहीं है. डाइग्नोस्टिक की जानकारी इकट्ठा करना ज़रूरी है पर जाएं.
रिज़ॉल्यूशन
उस(उन) मैसेज प्रोसेसर को रीस्टार्ट करें जिन पर एपीआई प्रॉक्सी के खास बदलावों को डिप्लॉय नहीं किया गया है:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
वजह: Edge के यूज़र इंटरफ़ेस (यूआई) में समस्या
संक्रमण की जांच
- Edge के यूज़र इंटरफ़ेस (यूआई) लॉग
/opt/apigee/var/log/edge-ui/application.log
और/opt/apigee/var/log/edge-ui/edge-ui.log
की जांच करें और देखें कि उनमें कोई गड़बड़ी तो नहीं है. - Apigee Edge की सहायता टीम से संपर्क करें और आगे की जांच के लिए, इन फ़ाइलों को शेयर करें.
गड़बड़ी की जानकारी इकट्ठा करना ज़रूरी है
अगर ऊपर दिए गए निर्देशों का पालन करने के बाद भी समस्या बनी रहती है, तो कृपया गड़बड़ी से जुड़ी यह जानकारी इकट्ठा करें. Apigee Edge की सहायता टीम से संपर्क करें और उन्हें शेयर करें:
कमांड का आउटपुट:
curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/debugsessions -u <user>
मैनेजमेंट सर्वर लॉग
/opt/apigee/var/log/edge-management-server/logs/system.log.
मैसेज प्रोसेसर के लॉग
/opt/apigee/var/log/edge-message-processor/logs/system.log.
मैनेजमेंट सर्वर से मैसेज प्रोसेसर को टेलनेट/nc कमांड का आउटपुट:
telnet <MessageProcessor_IP> 8082 nc -vz <MessageProcessor_IP> 8082
मैसेज प्रोसेसर पर नीचे दिए गए netstat कमांड का आउटपुट:
netstat -an > netstat.txt
अगर यह पता चलता है कि यह Edge यूज़र इंटरफ़ेस (यूआई) में समस्या है, तो EDGE के यूआई लॉग
/opt/apigee/var/log/edge-ui/application.log
और/opt/apigee/var/log/edge-ui/edge-ui.log.
डालेंइस प्लेबुक में मौजूद जिन सेक्शन को आज़माया गया है उनके बारे में जानकारी. साथ ही, ऐसी अन्य अहम जानकारी जो इस समस्या को तेज़ी से हल करने में हमारी मदद करेगी.