Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं. info
समस्या का ब्यौरा
आंकड़ों के डैशबोर्ड (प्रॉक्सी परफ़ॉर्मेंस, टारगेट परफ़ॉर्मेंस वगैरह) में, New Edge के यूज़र इंटरफ़ेस (यूआई) में कोई डेटा नहीं दिख रहा है. सभी डैशबोर्ड पर यह मैसेज दिखता है:
No traffic in the selected date range
गड़बड़ी के मैसेज
इस समस्या की वजह से, ऐसी गड़बड़ियां नहीं होती हैं जिन्हें देखा जा सके.
संभावित कारण
इस टेबल में, इस समस्या की संभावित वजहें दी गई हैं:
| वजह | इसके लिए: |
|---|---|
| संगठन-एनवायरमेंट के लिए कोई एपीआई ट्रैफ़िक नहीं है | Edge for Private Cloud के उपयोगकर्ता |
| Postgres डेटाबेस में डेटा उपलब्ध है, लेकिन New Edge यूज़र इंटरफ़ेस (यूआई) में नहीं दिख रहा है | Edge for Private Cloud के उपयोगकर्ता |
| Analytics का डेटा, Postgres डेटाबेस में पुश नहीं किया जा रहा है | Edge for Private Cloud के उपयोगकर्ता |
| Analytics को गलत तरीके से डिप्लॉय किया गया है | Edge for Private Cloud के उपयोगकर्ता |
| Analytics सर्वर के पुराने यूयूआईडी | Edge for Private Cloud के उपयोगकर्ताओं के लिए |
संगठन-एनवायरमेंट के लिए कोई एपीआई ट्रैफ़िक नहीं है
संक्रमण की जांच
- देखें कि किसी खास संगठन-एनवायरमेंट में एपीआई प्रॉक्सी के लिए ट्रैफ़िक है या नहीं. इसके लिए, इनमें से किसी एक तरीके का इस्तेमाल करके, उस खास अवधि का विश्लेषण डेटा देखें जिसके लिए आपको डेटा देखना है:
- अपने किसी भी ऐसे एपीआई के लिए ट्रेस चालू करें जिसका इस्तेमाल फ़िलहाल आपके उपयोगकर्ता कर रहे हैं. इसके बाद, देखें कि आपको ट्रेस में कोई अनुरोध मिल रहा है या नहीं.
- NGINX ऐक्सेस लॉग (
/opt/apigee/var/log/edge-router/nginx/logs/access.log)) देखें और देखें कि क्या किसी खास अवधि के लिए, एपीआई प्रॉक्सी के लिए कोई नई एंट्री मौजूद है. - अगर एपीआई प्रॉक्सी से मिली जानकारी को Syslog, Splunk, Loggly जैसे किसी लॉग सर्वर में लॉग किया जाता है, तो यह देखा जा सकता है कि इन लॉग सर्वर में, किसी खास समयावधि के लिए एपीआई प्रॉक्सी की कोई एंट्री मौजूद है या नहीं.
- अगर किसी खास समयावधि के लिए कोई ट्रैफ़िक (कोई एपीआई अनुरोध नहीं) नहीं है, तो आंकड़ों का डेटा उपलब्ध नहीं होता. आपको Analytics डैशबोर्ड में, "चुनी गई तारीख की सीमा में कोई ट्रैफ़िक नहीं है" दिखेगा.
रिज़ॉल्यूशन
- संगठन के खास एनवायरमेंट में, एक या उससे ज़्यादा एपीआई प्रॉक्सी को कुछ कॉल करें.
- कुछ सेकंड इंतज़ार करें. इसके बाद, 'घंटा' टैब में जाकर, आंकड़ों के डैशबोर्ड देखें और देखें कि डेटा दिखता है या नहीं.
- अगर समस्या बनी रहती है, तो डेटा Postgres डेटाबेस में उपलब्ध है, लेकिन New Edge यूज़र इंटरफ़ेस (यूआई) में नहीं दिख रहा है पर जाएं.
Postgres डेटाबेस में डेटा उपलब्ध है, लेकिन New Edge UI में नहीं दिख रहा है
समस्या का ब्यौरा
सबसे पहले, यह पता करें कि Postgres डेटाबेस में Analytics का नया डेटा उपलब्ध है या नहीं.
यह देखने के लिए कि Postgres मास्टर नोड में Analytics का नया डेटा उपलब्ध है या नहीं:
- हर Postgres सर्वर में लॉग इन करें और यह पुष्टि करने के लिए कि आप मास्टर Postgres नोड पर हैं, यह कमांड चलाएं:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- मास्टर Postgres नोड पर, PostgreSQL में लॉग इन करें:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Postgres डेटाबेस में, यहां दी गई एसक्यूएल क्वेरी का इस्तेमाल करके देखें कि आपकी org-env के लिए टेबल मौजूद है या नहीं:
\d analytics."orgname.envname.fact"
- नीचे दी गई एसक्यूएल क्वेरी का इस्तेमाल करके देखें कि Postgres डेटाबेस में नया डेटा उपलब्ध है या नहीं:
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- अगर सबसे नया टाइमस्टैंप बहुत पुराना है या शून्य है, तो इसका मतलब है कि Postgres डेटाबेस में डेटा उपलब्ध नहीं है. इस समस्या की वजह यह हो सकती है कि Qpid सर्वर से Postgres डेटाबेस में डेटा नहीं भेजा गया है. Analytics डेटा को Postgres डेटाबेस में पुश नहीं किया जा रहा है पर जाएं.
- अगर मास्टर नोड पर Postgres डेटाबेस में नया डेटा उपलब्ध है, तो यह पता लगाने के लिए कि डेटा, New Edge के यूज़र इंटरफ़ेस (यूआई) में क्यों नहीं दिख रहा है, यह तरीका अपनाएं.
संक्रमण की जांच
- अपने Chrome ब्राउज़र में डेवलपर टूल चालू करें. इसके बाद, यहां दिया गया तरीका अपनाकर, किसी Analytics डैशबोर्ड से इस्तेमाल किया गया एपीआई पाएं:
- डेवलपर टूल में जाकर, नेटवर्क टैब चुनें.
- रिकॉर्डिंग शुरू करें.
- Analytics डैशबोर्ड को फिर से लोड करें.
- डेवलपर टूल में बाईं ओर मौजूद पैनल में, "apiproxy?_optimized..." वाली लाइन चुनें.
- डेवलपर टूल में दाईं ओर मौजूद पैनल में, "Headers" टैब को चुनें और "Request URL" को नोट करें.
- यहां डेवलपर टूल से मिले आउटपुट का उदाहरण दिया गया है:
प्रॉक्सी की परफ़ॉर्मेंस वाले डैशबोर्ड के लिए, डेवलपर टूल के नेटवर्क टैब से प्रॉक्सी की परफ़ॉर्मेंस वाले डैशबोर्ड में इस्तेमाल किए गए एपीआई को दिखाने वाला सैंपल आउटपुट

- मैनेजमेंट एपीआई कॉल को सीधे चलाएं और देखें कि आपको नतीजे मिलते हैं या नहीं. यहां प्रॉक्सी परफ़ॉर्मेंस डैशबोर्ड में, दिन टैब के लिए एपीआई कॉल का एक सैंपल दिया गया है:
curl -u username:password "http://management_server_IP_address:8080/v1/organizations/ org_name/environments/env_name/stats/apiproxy?limit=14400& select=sum(message_count),sum(is_error),avg(total_response_time), avg(target_response_time)&sort=DESC&sortby=sum(message_count),sum(is_error), avg(total_response_time),avg(target_response_time)&timeRange=08%2F9%2F2017+ 18:00:00~08%2F10%2F2017+18:00:00&timeUnit=hour&tsAscending=true"
- अगर आपको डेटा के बिना कोई जवाब मिलता है, तो इसका मतलब है कि नेटवर्क कनेक्टिविटी की समस्याओं की वजह से, मैनेजमेंट सर्वर Postgres सर्वर से डेटा फ़ेच नहीं कर पा रहा है.
- देखें कि मैनेजमेंट सर्वर से Postgres सर्वर से कनेक्ट किया जा सकता है या नहीं:
telnet Postgres_server_IP_address 5432
- अगर आपको Postgres सर्वर से कनेक्ट करने में समस्या आ रही है, तो देखें कि पोर्ट 5432 पर फ़ायरवॉल से जुड़ी कोई पाबंदी तो नहीं है.
- अगर फ़ायरवॉल से जुड़ी पाबंदियां हैं, तो हो सकता है कि मैनेजमेंट सर्वर, Postgres सर्वर से डेटा न खींच पाए.
रिज़ॉल्यूशन
- अगर फ़ायरवॉल से जुड़ी पाबंदियां हैं, तो उन्हें हटा दें. इससे मैनेजमेंट सर्वर, Postgres सर्वर से कम्यूनिकेट कर पाएगा.
- अगर फ़ायरवॉल से जुड़ी कोई पाबंदी नहीं है, तो हो सकता है कि नेटवर्क में गड़बड़ी की वजह से यह समस्या आ रही हो.
- अगर मैनेजमेंट सर्वर पर नेटवर्क से जुड़ी कोई गड़बड़ी हुई है, तो उसे रीस्टार्ट करने से समस्या ठीक हो सकती है.
- नीचे दिए गए निर्देश का इस्तेमाल करके, सभी मैनेजमेंट सर्वर को एक-एक करके रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- देखें कि आपको New Edge यूज़र इंटरफ़ेस (यूआई) में Analytics का डेटा दिख रहा है या नहीं.
अगर आपको अब भी डेटा नहीं दिखता है, तो Apigee Edge की सहायता टीम से संपर्क करें.
Analytics का डेटा, Postgres डेटाबेस में पुश नहीं किया जा रहा है
संक्रमण की जांच
अगर डेटा को Qpid सर्वर से Postgres डेटाबेस में पुश नहीं किया जाता है, जैसा कि Postgres डेटाबेस में डेटा उपलब्ध है, लेकिन नए Edge यूज़र इंटरफ़ेस (यूआई) में नहीं दिख रहा है में बताया गया है, तो यह तरीका अपनाएं:
- नीचे दिया गया कमांड चलाकर देखें कि हर Qpid सर्वर चालू है और काम कर रहा है या नहीं:
/opt/apigee/apigee-service/bin edge-qpid-server status
- अगर कोई Qpid सर्वर बंद है, तो उसे रीस्टार्ट करें. अगर नहीं, तो सीधे पांचवें चरण पर जाएं.
/opt/apigee/apigee-service/bin edge-qpid-server restart
- कुछ देर इंतज़ार करें. इसके बाद, फिर से देखें कि Postgres डेटाबेस में नया डेटा उपलब्ध है या नहीं.
- PostgreSQL में लॉग इन करें:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- यह देखने के लिए कि नया डेटा उपलब्ध है या नहीं, नीचे दी गई एसक्यूएल क्वेरी चलाएं:
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- PostgreSQL में लॉग इन करें:
- अगर नया डेटा उपलब्ध है, तो यहां दिया गया तरीका न अपनाएं. इसके बजाय, समस्या हल करने के सेक्शन में दिए गए आखिरी चरण पर जाएं. अगर नया डेटा उपलब्ध नहीं है, तो यह तरीका अपनाएं.
- देखें कि Qpid सर्वर की सूची में मौजूद मैसेज, Postgres डेटाबेस में पुश किए जा रहे हैं या नहीं.
qpid-stat -q commandको एक्ज़ीक्यूट करें. इसके बाद, msgIn और msgOut कॉलम की वैल्यू देखें.- यहां एक सैंपल आउटपुट दिया गया है, जिसमें दिखाया गया है कि msgIn और msgOut बराबर नहीं हैं. इससे पता चलता है कि Qpid सर्वर से Postgres डेटाबेस में मैसेज पुश नहीं किए जा रहे हैं.

- अगर msgIn और msgOut कॉलम में मौजूद डेटा मेल नहीं खाता है, तो Qpid सर्वर लॉग
/opt/apigee/var/log/edge-qpid-server/system.logदेखें और पता लगाएं कि क्या कोई गड़बड़ी है. - आपको गड़बड़ी के मैसेज दिख सकते हैं. जैसे, "शायद पीजी अब भी डाउन है" या "गंभीर गड़बड़ी: माफ़ करें, पहले से ही बहुत सारे क्लाइंट हैं". इन्हें यहां दी गई इमेज में दिखाया गया है:
2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be retriable - . Error observed while trying to connect to jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d] 2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection; nested exception is org.postgresql.util.PSQLException: FATAL: sorry, too many clients already 2017-07-28 09:56:53,617 pool-7-thread-1 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be retriable - . Error observed while trying to connect to jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d] 2017-07-28 09:56:53,617 pool-7-thread-1 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (FATAL: sorry, too many clients already)
ऐसा तब हो सकता है, जब Postgres सर्वर पर बहुत ज़्यादा SQL क्वेरी चल रही हों या सीपीयू का इस्तेमाल ज़्यादा हो रहा हो. इस वजह से, Qpid सर्वर को जवाब नहीं मिल पाता.
रिज़ॉल्यूशन
- Postgres सर्वर और PostgreSQL को रीस्टार्ट करें, जैसा कि यहां दिखाया गया है:
/opt/apigee/bin/apigee-service edge-postgres-server restart
/opt/apigee/bin/apigee-service apigee-postgresql restart
- रीस्टार्ट करने से यह पक्का होता है कि पिछली सभी SQL क्वेरी बंद हो जाएं. साथ ही, Postgres डेटाबेस से नए कनेक्शन बनाए जा सकें.
- Analytics डैशबोर्ड को फिर से लोड करें और देखें कि Analytics डेटा दिख रहा है या नहीं.
अगर समस्या बनी रहती है, तो Apigee Edge की सहायता टीम से संपर्क करें.
Analytics को गलत तरीके से डिप्लॉय किया गया है
संक्रमण की जांच
- इस एपीआई कॉल का इस्तेमाल करके, Analytics डिप्लॉयमेंट का स्टेटस पाएं:
curl -u user_email:password http://management_server_host:port /v1/organizations/orgname/environments/envname/provisioning/axstatus
- एपीआई कॉल के नतीजों से, Qpid और Postgres सर्वर की स्थिति देखें.
- अगर Qpid और Postgres सर्वर का स्टेटस "SUCCESS" के तौर पर दिखता है, तो इसका मतलब है कि Analytics सर्वर को सही तरीके से कनेक्ट किया गया है. पुराने Analytics सर्वर यूयूआईडी पर जाएं.
- अगर Qpid/Postgres सर्वर का स्टेटस "UNKNOWN" या "FAILURE" के तौर पर दिखता है, तो इसका मतलब है कि उस सर्वर में कोई समस्या है.
उदाहरण के लिए, यहां दिए गए उदाहरण में Postgres सर्वर की स्थिति "UNKNOWN" के तौर पर दिखती है:

ऐसा तब हो सकता है, जब Analytics को चालू करने के दौरान कोई गड़बड़ी हुई हो. इस गड़बड़ी की वजह से, मैनेजमेंट सर्वर से Postgres सर्वर तक मैसेज नहीं पहुंच पाते.
रिज़ॉल्यूशन
आम तौर पर, इस समस्या को उन सर्वर को रीस्टार्ट करके ठीक किया जा सकता है जिन्होंने "FAILURE" या "UNKNOWN" दिखाया है.
- जिन सर्वर के लिए, Analytics वायरिंग की स्थिति "FAILURE" या "UNKNOWN" के तौर पर दिखाई गई है उन्हें फिर से शुरू करें. इसके लिए, यह कमांड इस्तेमाल करें:
/opt/apigee/apigee-service/bin/apigee-service component restart
- उदाहरण के लिए:
- अगर आपको Qpid सर्वर पर समस्या दिखती है, तो Qpid सर्वर को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- अगर आपको Postgres सर्वर पर समस्या दिखती है, तो मास्टर और स्लेव, दोनों Postgres सर्वर नोड को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- अगर आपको Qpid सर्वर पर समस्या दिखती है, तो Qpid सर्वर को रीस्टार्ट करें:
- ऊपर दिए गए उदाहरण में, Postgres सर्वर के लिए "UNKNOWN" मैसेज दिखाया गया है. इसलिए, आपको मास्टर और स्लेव, दोनों Postgres सर्वर को रीस्टार्ट करना होगा:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
Analytics सर्वर के पुराने यूयूआईडी
संक्रमण की जांच
- यहां दिए गए एपीआई कॉल का इस्तेमाल करके, आंकड़ों का कॉन्फ़िगरेशन पाएं:
curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
ऊपर दिए गए एपीआई से मिलने वाले आउटपुट का एक सैंपल यहां दिया गया है:
[ { "name" : "axgroup001", "properties" : { "consumer-type" : "ax" }, "scopes" : [ "myorg~prod", "myorg~test" ], "uuids" : { "aries-datastore" : [ ], "postgres-server" : [ "6777...2db14" ], "dw-server" : [ ], "qpid-server" : [ "774e...fb23", "29f3...8c11" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "774e...8c11" ], "datastores" : [ "6777...db14" ], "properties" : { } } ], "data-processors" : { } } ]
- पक्का करें कि आउटपुट में दी गई यह जानकारी सही हो:
- "scopes" एलिमेंट में org-env के नाम शामिल हों.
- Postgres सर्वर और Qpid सर्वर के यूयूआईडी.
- Postgres सर्वर के हर नोड पर यह कमांड चलाकर, Postgres सर्वर के यूयूआईडी पाएं:
curl 0:8084/v1/servers/self/uuid
- Qpid सर्वर के हर नोड पर यह कमांड चलाकर, Qpid सर्वर के UUID पाएं:
curl 0:8083/v1/servers/self/uuid
- Postgres सर्वर के हर नोड पर यह कमांड चलाकर, Postgres सर्वर के यूयूआईडी पाएं:
- अगर दी गई सभी जानकारी सही है, तो Analytics का डेटा Postgres डेटाबेस में नहीं भेजा जा रहा है पर जाएं.
- अगर Postgres और/या Qpid सर्वर के यूयूआईडी गलत हैं, तो हो सकता है कि मैनेजमेंट सर्वर, पुराने यूयूआईडी का रेफ़रंस दे रहे हों.
रिज़ॉल्यूशन
पुराने यूयूआईडी हटाने और सर्वर के सही यूयूआईडी जोड़ने के लिए, Apigee Edge की सहायता टीम से संपर्क करें.