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

Edge for Private Cloud का वर्शन 4.18.05

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

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

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

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

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

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

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

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

Qpid Server

Postgres सर्वर

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

Apache Cassandra

Apache ZooKeeper

OpenLDAP

PostgreSQL डेटाबेस

Qpid

Nginx राऊटर

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

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

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

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

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

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

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

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

  • ऐक्टिव क्लाइंट की संख्या
  • जवाबों की संख्या (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