क्या मॉनिटर करना है

Edge for Private Cloud v4.18.01

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

आसानी के लिए, Apigee कॉम्पोनेंट को मुख्य रूप से दो कैटगरी में बांटा गया है:

  • Apigee के लिए खास तौर पर बनाई गई Java सर्वर सेवाएं – इनमें मैनेजमेंट सर्वर, मैसेज प्रोसेसर, Qpid सर्वर, और Postgres सर्वर शामिल हैं.
  • तीसरे पक्ष की सेवाएं – इनमें Nginx Router, Apache Cassandra, Apache ZooKeeper, OpenLDAP, PostgreSQL डेटाबेस, और Qpid शामिल हैं.

Apigee Edge को ऑन-प्राइमिस डिप्लॉय करने पर, नीचे दी गई टेबल में उन पैरामीटर के बारे में तुरंत जानकारी मिलती है जिन्हें मॉनिटर किया जा सकता है:

कॉम्पोनेंट

सिस्टम की जांच

प्रोसेस-लेवल के आंकड़े

एपीआई-लेवल की जांच

मैसेज फ़्लो की जांच

कॉम्पोनेंट के हिसाब से

Apigee के लिए खास तौर पर बनाई गई Java सेवाएं

मैनेजमेंट सर्वर

?

?

?

मैसेज प्रोसेसर

?

?

?

?

Qpid सर्वर

?

?

?

Postgres सर्वर

?

?

?

तीसरे पक्ष की सेवाएं

Apache Cassandra

?

?

Apache ZooKeeper

?

?

OpenLDAP

?

?

PostgreSQL डेटाबेस

?

?

Qpid

?

?

Nginx राऊटर

?

?

?

आम तौर पर, Apigee Edge इंस्टॉल होने के बाद, निजी क्लाउड इंस्टॉलेशन के लिए Apigee Edge की परफ़ॉर्मेंस ट्रैक करने के लिए, ये मॉनिटरिंग टास्क किए जा सकते हैं.

सिस्टम की परफ़ॉर्मेंस की जांच

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

  • सीपीयू (CPU) का इस्तेमाल – सीपीयू के इस्तेमाल के बारे में बुनियादी आंकड़े (उपयोगकर्ता/सिस्टम/आईओ वेट/आइडल) बताता है. उदाहरण के लिए, सिस्टम के सीपीयू का कुल इस्तेमाल.
  • खाली/इस्तेमाल की गई मेमोरी – इससे सिस्टम मेमोरी के इस्तेमाल के बारे में बाइट में पता चलता है. उदाहरण के लिए, सिस्टम के लिए इस्तेमाल की जाने वाली फ़िज़िकल मेमोरी.
  • डिस्क का स्टोरेज इस्तेमाल – इससे डिस्क के मौजूदा इस्तेमाल के आधार पर, फ़ाइल सिस्टम की जानकारी मिलती है. उदाहरण के लिए, सिस्टम के लिए इस्तेमाल की गई हार्ड डिस्क की जगह.
  • लोड औसत – यह उन प्रोसेस की संख्या बताता है जो चलने के लिए इंतज़ार कर रही हैं.
  • नेटवर्क के आंकड़े – किसी खास कॉम्पोनेंट के ट्रांसमिशन से जुड़ी गड़बड़ियों के साथ-साथ, नेटवर्क पैकेट और/या भेजे और पाए गए बाइट की जानकारी.

प्रोसेस/ऐप्लिकेशन की जांच

प्रोसेस लेवल पर, चल रही सभी प्रोसेस के बारे में ज़रूरी जानकारी देखी जा सकती है. उदाहरण के लिए, इनमें मेमोरी और सीपीयू के इस्तेमाल के ऐसे आंकड़े शामिल होते हैं जिनका इस्तेमाल कोई प्रोसेस या ऐप्लिकेशन करता है. qpidd, postgres postmaster, java वगैरह जैसी प्रोसेस के लिए, इन पर नज़र रखी जा सकती है:

  • प्रोसेस की पहचान करना: किसी Apigee प्रोसेस की पहचान करना. उदाहरण के लिए, Apigee सर्वर की java प्रोसेस के मौजूद होने की निगरानी की जा सकती है.
  • थ्रेड के आंकड़े: थ्रेडिंग के उन पैटर्न को देखें जिनका इस्तेमाल कोई प्रोसेस करती है. उदाहरण के लिए, सभी प्रोसेस के लिए थ्रेड की संख्या और सबसे ज़्यादा थ्रेड की संख्या को मॉनिटर किया जा सकता है.
  • मेमोरी का इस्तेमाल: Apigee की सभी प्रोसेस के लिए मेमोरी का इस्तेमाल देखें. उदाहरण के लिए, हेप मेमोरी के इस्तेमाल, किसी प्रोसेस के लिए इस्तेमाल की गई नॉन-हेप मेमोरी के इस्तेमाल जैसे पैरामीटर को मॉनिटर किया जा सकता है.

एपीआई-लेवल की जांच

एपीआई लेवल पर, यह मॉनिटर किया जा सकता है कि अक्सर इस्तेमाल किए जाने वाले एपीआई कॉल के लिए, Apigee की ओर से प्रोक्सी किया गया सर्वर चालू है या नहीं. उदाहरण के लिए, मैनेजमेंट सर्वर, राउटर, और मैसेज प्रोसेसर पर एपीआई की जांच करने के लिए, cURL कमांड का इस्तेमाल करें:

curl http://<host>:<port>/v1/servers/self/up

यहां <host>, Apigee Edge कॉम्पोनेंट का आईपी पता है. <port> नंबर, हर Edge कॉम्पोनेंट के हिसाब से होता है. उदाहरण के लिए:

मैनेजमेंट सर्वर: 8080

  • राऊटर: 8081
  • मैसेज प्रोसेसर: 8082
  • वगैरह

हर कॉम्पोनेंट के लिए यह कमांड चलाने के बारे में जानकारी पाने के लिए, नीचे दिए गए अलग-अलग सेक्शन देखें

यह कॉल "सही" और "गलत" वैल्यू दिखाता है. बेहतर नतीजों के लिए, एपीआई कॉल को सीधे बैकएंड पर भी भेजा जा सकता है. बैकएंड वह प्लैटफ़ॉर्म होता है जिससे Apigee सॉफ़्टवेयर इंटरैक्ट करता है. इससे यह तुरंत पता चल जाता है कि गड़बड़ी Apigee सॉफ़्टवेयर के एनवायरमेंट में है या बैकएंड में.

ध्यान दें: अपने एपीआई प्रॉक्सी को मॉनिटर करने के लिए, Apigee के एपीआई हेल्थ का इस्तेमाल भी किया जा सकता है. एपीआई की परफ़ॉर्मेंस की जानकारी देने वाली सुविधा, आपके एपीआई प्रॉक्सी को शेड्यूल किए गए कॉल करती है. साथ ही, कॉल पूरा न होने पर और उसके पूरा न होने की वजह के बारे में आपको सूचना देती है. कॉल पूरा होने पर, API Health आपको रिस्पॉन्स मिलने में लगने वाले समय की जानकारी दिखाता है. साथ ही, रिस्पॉन्स मिलने में लगने वाला समय ज़्यादा होने पर, आपको इसकी सूचना भी दे सकता है. API Health, दुनिया भर की अलग-अलग जगहों से कॉल कर सकता है, ताकि अलग-अलग इलाकों में API के व्यवहार की तुलना की जा सके.

मैसेज फ़्लो की जांच

मैसेज फ़्लो के पैटर्न/आंकड़ों के बारे में, राउटर और मैसेज प्रोसेसर से डेटा इकट्ठा किया जा सकता है. इसकी मदद से, इन चीज़ों को मॉनिटर किया जा सकता है:

  • सक्रिय क्लाइंट की संख्या
  • जवाबों की संख्या (10X, 20X, 30X, 40X, और 50X)
  • कनेक्ट न हो पाने की वजहें

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

मैसेज प्रोसेसर के राऊटर की परफ़ॉर्मेंस की जांच

राउटर, हेल्थ जांच करने की सुविधा लागू करता है. इससे यह पता चलता है कि कौनसे मैसेज प्रोसेसर, उम्मीद के मुताबिक काम कर रहे हैं. अगर किसी मैसेज प्रोसेसर के बंद या धीमे होने का पता चलता है, तो राउटर उस मैसेज प्रोसेसर को रोटेशन से अपने-आप हटा सकता है. ऐसा होने पर, राउटर /opt/apigee/var/log/edge-router/logs/system.log में मौजूद राउटर लॉग फ़ाइल में "मार्क डाउन" मैसेज लिखता है.

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

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = <MP_IP> at 1399409512159

2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /<MP_IP>:<PORT> Mark Down

यहां /<MP_IP>:<PORT>, मैसेज प्रोसेसर का आईपी पता और पोर्ट नंबर है.

अगर बाद में राउटर, हेल्थ की जांच करता है और यह पता चलता है कि मैसेज प्रोसेसर ठीक से काम कर रहा है, तो राउटर मैसेज प्रोसेसर को अपने-आप फिर से रोटेशन में डाल देता है. राइटर लॉग में "मार्क अप" मैसेज भी लिखता है. यह मैसेज इस फ़ॉर्मैट में होता है:

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = <IP> at 1399410449054

2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from /<IP>:<PORT> Mark Up