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

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

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

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

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

कॉम्पोनेंट सिस्टम की जांच प्रोसेस-लेवल के आंकड़े एपीआई लेवल की जांच मैसेज फ़्लो की जांच कॉम्पोनेंट के हिसाब से

Apigee के लिए खास Java सेवाएं

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

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

Qpid Server

Postgres सर्वर

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

Apache Cassandra

Apache ZooKeeper

SymasLDAP

PostgreSQL डेटाबेस

Qpid

Nginx राऊटर

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

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

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

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

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

प्रोसेस लेवल पर, चल रही सभी प्रोसेस के बारे में अहम जानकारी देखी जा सकती है. उदाहरण के लिए, इनमें मेमोरी और सीपीयू के इस्तेमाल के आंकड़े शामिल होते हैं. इनका इस्तेमाल कोई प्रोसेस या ऐप्लिकेशन करता है. Qpid, 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 सॉफ़्टवेयर एनवायरमेंट या बैकएंड में कोई गड़बड़ी है या नहीं.

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

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

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

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

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

राउटर, गड़बड़ी की जांच करने वाले सिस्टम को लागू करता है. इससे यह पता चलता है कि कौनसे मैसेज प्रोसेसर उम्मीद के मुताबिक काम कर रहे हैं. अगर किसी मैसेज प्रोसेसर के काम न करने या धीमे काम करने का पता चलता है, तो राउटर, मैसेज प्रोसेसर को रोटेशन से अपने-आप हटा सकता है. ऐसा होने पर, राउटर /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