Edge for Private Cloud v4.18.05
इस दस्तावेज़ में, कॉम्पोनेंट की निगरानी करने की उन तकनीकों के बारे में बताया गया है जो Apigee Edge को कंपनी की इमारत में डिप्लॉय करके काम करती हैं.
खास जानकारी
Edge में सेवाओं के बारे में जानकारी पाने और उनकी स्थितियां देखने के कई तरीके हैं. इस टेबल में बताया गया है कि ज़रूरी शर्तें पूरी करने वाली हर सेवा के लिए किस तरह की जांच की जा सकती है:
सेवा | JMX:* मेमोरी का इस्तेमाल |
Mgmt API: सेवा की जांच |
Mgmt API: उपयोगकर्ता/संगठन/ डिप्लॉयमेंट स्थिति |
Mgmt एपीआई: axstatus |
डेटाबेस की जांच | apigee-service में डेटा सोर्स का स्टेटस |
---|---|---|---|---|---|---|
मैनेजमेंट सर्वर | ||||||
मैसेज प्रोसेसर | ||||||
पोस्टग्रेस | ||||||
क्यूपीआईडी | ||||||
राऊटर | ||||||
ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | |
* JMX का इस्तेमाल करने से पहले, आपको इसे JMX चालू करें में बताए गए तरीके से चालू करना होगा. |
JMX और Management API मॉनिटरिंग पोर्ट
हर कॉम्पोनेंट, अलग-अलग पोर्ट पर JMX और Management API की मदद से कॉल को मॉनिटर करने की सुविधा देता है. नीचे दी गई टेबल में, हर तरह के सर्वर के लिए JMX और मैनेजमेंट एपीआई पोर्ट की सूची दी गई है:
कॉम्पोनेंट | JMX पोर्ट | मैनेजमेंट एपीआई पोर्ट |
---|---|---|
मैनेजमेंट सर्वर | 1099 | 8080 |
राऊटर | 1100 | 8081 |
मैसेज प्रोसेसर | 1101 | 8082 |
क्यूपीआईडी | 1102 | 8083 |
पोस्टग्रेस | 1103 | 8084 |
JMX का इस्तेमाल करें
मैनेजमेंट सर्वर, मैसेज प्रोसेसर, Qpid, और Postgres की मॉनिटरिंग की प्रोसेस में JMX का इस्तेमाल किया जाता है. हालांकि, JMX सिर्फ़ कैसंड्रा के लिए डिफ़ॉल्ट रूप से चालू होता है और दूसरे सभी Edge कॉम्पोनेंट के लिए डिफ़ॉल्ट रूप से बंद होता है. इसलिए, आपको हर कॉम्पोनेंट की निगरानी करने से पहले, JMX को अलग-अलग चालू करना होगा.
JMX की पुष्टि करने की सुविधा डिफ़ॉल्ट रूप से चालू नहीं होती. आप कैसंड्रा को छोड़कर, सभी कॉम्पोनेंट के लिए JMX की पुष्टि करने की सुविधा चालू कर सकते हैं.
JMX चालू करें
JMX सिर्फ़ कैसंड्रा के लिए डिफ़ॉल्ट रूप से चालू होता है. साथ ही, दूसरे सभी Edge कॉम्पोनेंट के लिए, यह डिफ़ॉल्ट रूप से बंद रहता है. इस सेक्शन में बताया गया है कि किसी दूसरे Edge कॉम्पोनेंट के लिए JMX कैसे चालू किया जाता है.
JMX को चालू करने के लिए:
- कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइल में बदलाव करें. यह फ़ाइल
opt/apigee/edge-component_name/bin/start
पर मौजूद है. प्रोडक्शन एनवायरमेंट में, ये कॉन्फ़िगरेशन फ़ाइलें अलग-अलग मशीनों पर होंगी.हर सर्वर पर, नीचे दी गई फ़ाइल की जगहों को चुनें:
- मैनेजमेंट सर्वर:
/opt/apigee/edge-management-server/bin/start
- मैसेज प्रोसेसर:
/opt/apigee/edge-message-processor/bin/start
- पोस्टग्री:
/opt/apigee/edge-postgres-server/bin/start
- क्यूपीआईडी:
/opt/apigee/edge-qpid-server/bin/start
- राऊटर:
/opt/apigee/edge-router/bin/start
उदाहरण के लिए, इसके सर्वर पर मैनेजमेंट सर्वर की कॉन्फ़िगरेशन फ़ाइल
/opt/apigee/edge-management-server/bin/start
पर है. - मैनेजमेंट सर्वर:
- कॉम्पोनेंट को शुरू करने वाली
exec
लाइन में, येcom.sun.management.jmxremote
विकल्प जोड़ें:-Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=port_number \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false
जहां port_number, सेवा के लिए JMX पोर्ट है. अपनी सेवा का JMX पोर्ट नंबर पाने के लिए, JMX और मैनेजमेंट एपीआई को मॉनिटर करने वाले पोर्ट देखें.
उदाहरण के लिए, मैनेजमेंट सर्वर पर JMX को चालू करने के लिए, मैनेजमेंट सर्वर की कॉन्फ़िगरेशन फ़ाइल में ये जोड़ें:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts \ -Djava.security.auth.login.config=$conf_path/jaas.config \ -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path \ -Ddata.dir=$data_dir \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=1099 \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ $* $debug_options com.apigee.kernel.MicroKernel
इस उदाहरण में मैनेजमेंट सर्वर के लिए पोर्ट 1099 के बारे में बताया गया है. जैसा कि पहले बताया गया है, हर सेवा का अपना पोर्ट नंबर होता है.
कॉन्फ़िगरेशन फ़ाइल में बदलाव की गई लाइन कुछ इस तरह दिखती है:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts -Djava.security.auth.login.config=$conf_path/jaas.config -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false $* $debug_options com.apigee.kernel.MicroKernel
- कॉन्फ़िगरेशन फ़ाइल सेव करें.
restart
निर्देश का इस्तेमाल करके कॉम्पोनेंट को रीस्टार्ट करें.उदाहरण के लिए, मैनेजमेंट सर्वर को रीस्टार्ट करने के लिए, यह निर्देश लागू करें:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
डिफ़ॉल्ट रूप से, JMX के लिए पुष्टि करने की सुविधा चालू नहीं है. आप कैसंड्रा को छोड़कर, सभी कॉम्पोनेंट के लिए JMX की पुष्टि करने की सुविधा चालू कर सकते हैं. ऐसा करने के लिए, JMX की पुष्टि करने की सुविधा चालू करें में बताया गया तरीका अपनाएं.
JMX से पुष्टि करने की सुविधा चालू करें
JMX की पुष्टि करने की सुविधा डिफ़ॉल्ट रूप से चालू नहीं होती. आप कैसंड्रा को छोड़कर, सभी कॉम्पोनेंट के लिए JMX की पुष्टि करने की सुविधा चालू कर सकते हैं.
JMX की पुष्टि करने की सुविधा चालू करने के लिए, सभी नोड पर नीचे दी गई change_jmx_auth
कार्रवाई करें:
/opt/apigee/apigee-service/bin/apigee-service component change_jmx_auth [options|-f config_file]
जगह:
- component इनमें से एक है:
edge-management-server
edge-message-processor
edge-postgres-server
edge-qpid-server
edge-router
- options इनके बारे में बताता है:
-u username
-p password
-e [y|n]
(चालू या बंद करें)
- config_file उस कॉन्फ़िगरेशन फ़ाइल की जगह के बारे में बताता है जिसमें आप इन बातों के बारे में
बताते हैं:
JMX_USERNAME=username
JMX_ENABLED=y|n
JMX_PASSWORD=password
(अगर सेट नहीं किया जाता है या-p
से पास नहीं किया जाता है, तो आपको अनुरोध किया जाएगा)
उपयोगकर्ता नाम, पासवर्ड, और चालू/बंद की स्थिति तय करने के लिए, कमांड लाइन के विकल्पों या कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल किया जा सकता है. आपको विकल्पों का सेट और कॉन्फ़िगरेशन फ़ाइल, दोनों शामिल नहीं करने चाहिए.
इस उदाहरण में, कमांड लाइन के विकल्पों का इस्तेमाल करके, मैनेजमेंट सर्वर के लिए JMX की पुष्टि करने की सुविधा चालू की गई है:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y
इस उदाहरण में, कमांड लाइन के विकल्पों के बजाय कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल किया गया है:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f /tmp/my-config-file
अगर एक से ज़्यादा नोड पर Edge चलाया जा रहा है, तो एक ही उपयोगकर्ता नाम और पासवर्ड बताते हुए सभी नोड पर कमांड चलाएं.
कमांड लाइन पर JMX की पुष्टि करने की सुविधा बंद करने के लिए, "-e n" विकल्प का इस्तेमाल करें, जैसा कि इस उदाहरण में दिखाया गया है:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n
JConsole की मदद से मॉनिटर करना
स्वास्थ्य जांच और प्रोसेस से जुड़े आंकड़ों को मैनेज और मॉनिटर करने के लिए, JConsole (JMX) का इस्तेमाल करें. JConsole की मदद से, आपके सर्वर से सार्वजनिक किए गए जेएमएक्स आंकड़ों को देखा जा सकता है और उन्हें ग्राफ़िकल इंटरफ़ेस में दिखाया जा सकता है. ज़्यादा जानकारी के लिए, JConsole का इस्तेमाल करना देखें.
JConsole, JMX के ज़रिए ऑफ़र किए गए JMX एट्रिब्यूट (MBean) पर नज़र रखने के लिए, नीचे दिए गए सर्विस यूआरएल का इस्तेमाल करता है:
service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi
जगह:
- IP_address उस सर्वर का आईपी पता है जिसे आपको मॉनिटर करना है.
- port_number उस सर्वर का JMX पोर्ट नंबर है जिसे आपको मॉनिटर करना है.
उदाहरण के लिए, मैनेजमेंट सर्वर को मॉनिटर करने के लिए, इस तरह का कोई निर्देश दें (यह मानते हुए कि सर्वर का आईपी पता 216.3.128.12 है):
service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi
ध्यान दें कि इस उदाहरण में पोर्ट 1099 के बारे में बताया गया है, जो मैनेजमेंट सर्वर जेएमएक्स पोर्ट है. अन्य पोर्ट के लिए, JMX और मैनेजमेंट एपीआई को मॉनिटर करने वाले पोर्ट देखें.
नीचे दी गई टेबल में, JMX के सामान्य आंकड़े दिखाए गए हैं:
JMX एमबीयन | JMX एट्रिब्यूट |
---|---|
मेमोरी |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
इस्तेमाल का तरीका |
|
मैनेजमेंट एपीआई से मॉनिटर करना
Edge में कई ऐसे एपीआई होते हैं जिनका इस्तेमाल, अपने सर्वर पर सेवा की जांच करने के साथ-साथ अपने उपयोगकर्ताओं, संगठनों, और डिप्लॉयमेंट की जांच करने के लिए भी किया जा सकता है. इस सेक्शन में, इन एपीआई के बारे में बताया गया है.
सेवा की जांच करना
मैनेजमेंट एपीआई, आपकी सेवाओं से जुड़ी समस्याओं की निगरानी करने और उनका पता लगाने के लिए कई एंडपॉइंट उपलब्ध कराता है. इन एंडपॉइंट में ये शामिल हैं:
एंडपॉइंट | ब्यौरा |
---|---|
/servers/self/up |
यह देखने के लिए जांच करता है कि कोई सेवा चल रही है या नहीं. इस एपीआई कॉल के लिए, आपको पुष्टि करने की ज़रूरत नहीं है. अगर सेवा चल रही है, तो यह एंडपॉइंट यह रिस्पॉन्स दिखाता है: <ServerField> <Up>true</Up> </ServerField> अगर सेवा नहीं चल रही है, तो आपको नीचे दिए गए तरीके से मिलता-जुलता रिस्पॉन्स मिलेगा (यह इस बात पर निर्भर करता है कि वह सेवा कौनसी है और आपने उसकी जांच कैसे की थी): curl: Failed connect to localhost:port_number; Connection refused |
/servers/self |
सेवा के बारे में जानकारी देता है, जिसमें शामिल है:
इस एपीआई कॉल के लिए, आपको अपने Apigee एडमिन के क्रेडेंशियल से पुष्टि करनी होगी. |
इन एंडपॉइंट का इस्तेमाल करने के लिए, curl
जैसी यूटिलिटी को उन निर्देशों के साथ शुरू करें जो
यहां दिए गए सिंटैक्स का इस्तेमाल करते हों:
curl http://host:port_number/v1/servers/self/up
-H "Accept: [application/json|application/xml]"
curl http://host:port_number/v1/servers/self -u username:password
-H "Accept: [application/json|application/xml]"
जगह:
- host उस सर्वर का आईपी पता है जिसकी आपको जांच करनी है. अगर आपने सर्वर में लॉग इन किया है, तो "localhost" का इस्तेमाल किया जा सकता है. अगर आपने ऐसा नहीं किया है, तो सर्वर का आईपी पता बताने के साथ-साथ उपयोगकर्ता नाम और पासवर्ड भी बताएं.
- port_number उस सर्वर के लिए मैनेजमेंट एपीआई पोर्ट है जिसकी आपको जांच करनी है. यह हर तरह के कॉम्पोनेंट के लिए अलग पोर्ट है. उदाहरण के लिए, Management Server का Management API पोर्ट 8080 है. मैनेजमेंट एपीआई पोर्ट नंबर की सूची इस्तेमाल करने के लिए, JMX और Management API को मॉनिटर करने वाले पोर्ट देखें
रिस्पॉन्स का फ़ॉर्मैट बदलने के लिए, Accept
हेडर को
"application/json" या "application/xml" के तौर पर बताया जा सकता है.
इस उदाहरण में, localhost (पोर्ट 8081) पर राऊटर का स्टेटस दिखाया गया है:
curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"
नीचे दिए गए उदाहरण में, 216.3.128.12 (पोर्ट 8082) पर Message प्रोसेसर के बारे में जानकारी दी गई है:
curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password -H "Accept: application/xml"
उपयोगकर्ता, संगठन, और डिप्लॉयमेंट की स्थिति को मॉनिटर करें
मैनेजमेंट एपीआई का इस्तेमाल करके, मैनेजमेंट सर्वर और मैसेज प्रोसेसर पर अपनी प्रॉक्सी के उपयोगकर्ता, संगठन, और डिप्लॉयमेंट स्टेटस को मॉनिटर किया जा सकता है. इसके लिए, ये निर्देश जारी किए जा सकते हैं:
curl http://host:port_number/v1/users -u sysAdminEmail:passwordcurl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password
जहां port_number, मैनेजमेंट सर्वर के लिए 8080 या मैसेज प्रोसेसर के लिए 8082 है.
इस कॉल के लिए आपको अपने सिस्टम एडमिन उपयोगकर्ता नाम और पासवर्ड से पुष्टि करनी होगी.
सर्वर को सभी कॉल के लिए, "डिप्लॉय किया गया" स्टेटस दिखाना चाहिए. अगर ऐसा नहीं हो पाता है, तो ये काम करें:
- किसी भी तरह की गड़बड़ी के लिए सर्वर लॉग देखें. लॉग यहां मौजूद हैं:
- मैनेजमेंट सर्वर:
opt/apigee/var/log/edge-management-server
- मैसेज प्रोसेसर:
opt/apigee/var/log/edge-message-processor
- मैनेजमेंट सर्वर:
- सर्वर के ख़िलाफ़ कॉल करके देखें कि वह ठीक से काम कर रहा है या नहीं.
- सर्वर को ईएलबी से हटाएं और फिर उसे रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service service_name restart
जहां service_name है:
edge-management-server
edge-message-processor
apigee-service
कमांड की मदद से स्टेटस देखें
जब आप सेवा चलाने वाले सर्वर में लॉग इन हों, तो apigee-service
कमांड का इस्तेमाल करके अपनी Edge सेवाओं से जुड़ी समस्याएं हल की जा सकती हैं.
apigee-service
के साथ काम करने वाली सेवा की स्थिति देखने के लिए:
- सर्वर में लॉग इन करें और यह निर्देश चलाएं:
/opt/apigee/apigee-service/bin/apigee-service service_name status
जहां service_name इनमें से कोई एक है:
- मैनेजमेंट सर्वर:
edge-management-server
- मैसेज प्रोसेसर:
edge-message-processor
- पोस्टग्री:
edge-postgres-server
- क्यूपीआईडी:
edge-qpid-server
- राऊटर:
edge-router
उदाहरण के लिए:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
- मैनेजमेंट सर्वर:
- अगर सेवा नहीं चल रही है, तो सेवा शुरू करें:
/opt/apigee/apigee-service/bin/apigee-service service_name start
- सेवा को रीस्टार्ट करने के बाद, पक्का करें कि वह काम कर रही हो. इसके लिए, पहले इस्तेमाल किए गए
apigee-service status
निर्देश का इस्तेमाल करें या Manage Management API की मदद से मॉनिटर करें में बताए गए मैनेजमेंट एपीआई का इस्तेमाल करें.उदाहरण के लिए:
curl -v http://localhost:port_number/v1/servers/self/up
जहां port_number, सेवा के लिए Management API पोर्ट है.
इस उदाहरण में यह माना गया है कि आपने सर्वर में लॉग इन किया है और आपके पास होस्टनेम के तौर पर "localhost" का इस्तेमाल करने की सुविधा है. मैनेजमेंट एपीआई की मदद से कहीं से भी स्टेटस देखने के लिए, आपको सर्वर का आईपी पता बताना होगा. साथ ही, अपने एपीआई कॉल में सिस्टम एडमिन का उपयोगकर्ता नाम और पासवर्ड भी शामिल करना होगा.
पोस्टग्रेस की निगरानी करना
Postgres कई सुविधाओं के साथ काम करता है. इनका इस्तेमाल करके, इसकी स्थिति देखी जा सकती है. इन सुविधाओं के बारे में आगे दिए गए सेक्शन में बताया गया है.
Postgres पर संगठन और माहौल देखें
नीचे दिए गए curl
निर्देश का इस्तेमाल करके, Postgres Server
पर जोड़े गए संगठन और एनवायरमेंट के नाम देखे जा सकते हैं:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
सिस्टम में संगठन और एनवायरमेंट का नाम दिखना चाहिए.
आंकड़ों के स्टेटस की पुष्टि करना
यह curl
निर्देश देकर, Postgres और Qpid के आंकड़ों के सर्वर की स्थिति की पुष्टि की जा सकती है:
curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus
सिस्टम को सभी Analytics सर्वर के लिए, सफल होने की स्थिति दिखानी चाहिए, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
{ "environments" : [ { "components" : [ { "message" : "success at Thu Feb 28 10:27:38 CET 2013", "name" : "pg", "status" : "SUCCESS", "uuid" : "[c678d16c-7990-4a5a-ae19-a99f925fcb93]" }, { "message" : "success at Thu Feb 28 10:29:03 CET 2013", "name" : "qs", "status" : "SUCCESS", "uuid" : "[ee9f0db7-a9d3-4d21-96c5-1a15b0bf0adf]" } ], "message" : "", "name" : "prod" } ], "organization" : "acme", "status" : "SUCCESS" }
PostgreSQL डेटाबेस
इस सेक्शन में ऐसी तकनीकों के बारे में बताया गया है जिनका इस्तेमाल खास तौर पर, Postgres डेटाबेस की निगरानी के लिए किया जा सकता है.
check_postgres.pl
स्क्रिप्ट का इस्तेमाल करें
PostgreSQL डेटाबेस की निगरानी करने के लिए, स्टैंडर्ड मॉनिटरिंग स्क्रिप्ट
check_postgres.pl
का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, http://bucardo.org/wiki/Check_postgres देखें.
स्क्रिप्ट चलाने से पहले:
- आपको हर Postgres नोड पर check_postgres.pl स्क्रिप्ट को इंस्टॉल करना होगा.
- पक्का करें कि आपने
perl-Time-HiRes.x86_64
इंस्टॉल किया है. यह एक Perl मॉड्यूल है, जो हाई रिज़ॉल्यूशन अलार्म, स्लीप मोड, gettimeofday, और इंटरवल टाइमर को लागू करता है. उदाहरण के लिए, इसे इस निर्देश का इस्तेमाल करके इंस्टॉल किया जा सकता है:
yum install perl-Time-HiRes.x86_64
- CentOS 7: CentOS v7 पर check_postgres.pl का इस्तेमाल करने से पहले,
perl-Data-Dumper.x86_64
आरपीएम इंस्टॉल करें.
check_postgres.pl आउटपुट
check_postgres.pl
का इस्तेमाल करके, एपीआई कॉल का डिफ़ॉल्ट आउटपुट Nagis
के साथ काम करता है. स्क्रिप्ट इंस्टॉल करने के बाद, इन चीज़ों की जांच करें:
- डेटाबेस का साइज़ देखें:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -include=apigee -action database_size --warning='800 GB' --critical='900 GB'
- डेटाबेस में आने वाले कनेक्शन की संख्या देखें और अनुमति वाले ज़्यादा से ज़्यादा कनेक्शन से तुलना करें:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
- देखें कि डेटाबेस काम कर रहा है और उपलब्ध है या नहीं:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
- डिस्क में खाली जगह की जांच करें:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
- देखें कि Postgres नोड में कितने संगठन और एनवायरमेंट जोड़े गए हैं:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action=custom_query --query="select count(*) as result from pg_tables where schemaname='analytics' and tablename like '%fact'" --warning='80' --critical='90' --valtype=integer
डेटाबेस की जांच करें
यह पुष्टि की जा सकती है कि PostgreSQL डेटाबेस में सही टेबल बनाई गई हैं. इस कमांड का इस्तेमाल करके, PostgreSQL डेटाबेस में लॉग इन करें:
psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
फिर इसे चलाएं:
\d analytics."org.env.fact"
पोस्टग्रेस की प्रोसेस के स्टेटस की जांच करना
नीचे दिए गए curl
निर्देश को बोलकर, Postgres मशीन पर एपीआई की जांच की जा सकती है:
curl -v http://postgres_IP:8084/v1/servers/self/health
पोस्टग्रेस प्रोसेस चालू होने पर, यह निर्देश ACTIVE
स्थिति दिखाता है. अगर
Postgres की प्रोसेस पूरी नहीं हुई है और चल नहीं रही है, तो यह INACTIVE
स्टेटस दिखाता है.
पोस्टग्रेस संसाधन
Postgres सेवा की निगरानी के बारे में ज़्यादा जानकारी के लिए, यह देखें:
- http://www.postgresql.org/docs/9.0/static/monitoring.html
- http://www.postgresql.org/docs/9.0/static/diskusage.html
- http://bucardo.org/check_postgres/check_postgres.pl.html
अपाचे कासांद्रा
JConsole का इस्तेमाल करना: काम के आंकड़ों पर नज़र रखना
JMX के ज़रिए ऑफ़र किए गए JMX एट्रिब्यूट (MBeans) पर नज़र रखने के लिए, JConsole और नीचे दिए गए सर्विस यूआरएल का इस्तेमाल करें:
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
जहां IP_address, Cassandra सर्वर का आईपी है.
कैसंड्रा के लिए जेएमएक्स डिफ़ॉल्ट रूप से चालू है और कैसेंड्रा के रिमोट JMX के ऐक्सेस के लिए पासवर्ड की ज़रूरत नहीं होती.
कैसेंड्रा JMX के आंकड़े
JMX एमबीयन | JMX एट्रिब्यूट |
---|---|
कॉलमपरिवार/ऐप्लिकेशन/परिवेश कॉलमपरिवार/ऐप्लिकेशन/संगठन Columnफ़ैमिली/apprepo/apiप्रॉक्सी_revisions कॉलमपरिवार/ऐप्लिकेशन/ऐप्लिकेशन से जुड़े एपीआई कॉलमपरिवार/ऑडिट/ऑडिट कॉलमपरिवार/ऑडिट/ऑडिट_ref |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
क्लस्टर नोड मैनेज करने के लिए nodetool का इस्तेमाल करें
nodetool
यूटिलिटी, Cassandra के लिए एक कमांड लाइन इंटरफ़ेस है. यह
क्लस्टर नोड को मैनेज करता है. यह सुविधा /opt/apigee/apigee-cassandra/bin
पर उपलब्ध है.
Cassandra क्लस्टर के सभी नोड पर ये कॉल किए जा सकते हैं:
- रिंग की सामान्य जानकारी (एक कैसंड्रा नोड के लिए भी हो सकती है): सभी नोड के लिए
"ऊपर" और "सामान्य" खोजें.
nodetool -h localhost ring
ऊपर दिए गए निर्देश का आउटपुट नीचे जैसा दिखता है:
Datacenter: dc-1 ========== Address Rack Status State Load Owns Token 192.168.124.201 ra1 Up Normal 1.67 MB 33,33% 0 192.168.124.202 ra1 Up Normal 1.68 MB 33,33% 5671...5242 192.168.124.203 ra1 Up Normal 1.67 MB 33,33% 1134...0484
- नोड के बारे में सामान्य जानकारी (हर नोड पर कॉल)
nodetool -h localhost info
ऊपर दिए गए निर्देश का आउटपुट ऐसा दिखता है:
ID : e2e42793-4242-4e82-bcf0-oicu812 Gossip active : true Thrift active : true Native Transport active: true Load : 273.71 KB Generation No : 1234567890 Uptime (seconds) : 687194 Heap Memory (MB) : 314.62 / 3680.00 Off Heap Memory (MB) : 0.14 Data Center : dc-1 Rack : ra-1 Exceptions : 0 Key Cache : entries 150, size 13.52 KB, capacity 100 MB, 1520781 hits, 1520923 requests, 1.000 recent hit rate, 14400 save period in seconds Row Cache : entries 0, size 0 bytes, capacity 0 bytes, 0 hits, 0 requests, NaN recent hit rate, 0 save period in seconds Counter Cache : entries 0, size 0 bytes, capacity 50 MB, 0 hits, 0 requests, NaN recent hit rate, 7200 save period in seconds Token : 0
- थरिफ़्ट सर्वर की स्थिति (सर्विंग क्लाइंट एपीआई)
nodetool -h localhost statusthrift
ऊपर दिए गए निर्देश का आउटपुट ऐसा दिखता है:
running
- डेटा स्ट्रीमिंग की कार्रवाइयों की स्थिति: कैसंड्रा नोड के ट्रैफ़िक पर नज़र रखें:
nodetool -h localhost netstats
ऊपर दिए गए निर्देश का आउटपुट ऐसा दिखता है:
Mode: NORMAL Not sending any streams. Read Repair Statistics: Attempted: 151612 Mismatch (Blocking): 0 Mismatch (Background): 0 Pool Name Active Pending Completed Dropped Commands n/a 0 0 0 Responses n/a 0 0 n/a
nodetool
के बारे में ज़्यादा जानने के लिए, Nodetool यूटिलिटी के बारे में जानकारी देखें.
कैसंड्रा मॉनिटरिंग (यूआई)
datastax opscenter यूआरएल देखें: http://www.datastax.com/products/opscenter.
कैसेंड्रा का संसाधन
इस यूआरएल को देखें: http://www.datastax.com/docs/1.0/operations/monitoring.
अपाचे ज़ूकीपर
ZoomKeeper का स्टेटस देखें
- पक्का करें कि ZoomKeeper प्रोसेस चल रही है. ZoomKeeper
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
पर एक पीआईडी फ़ाइल लिखता है. - यह पक्का करने के लिए कि ज़ूकेपर पोर्ट को टेस्ट किया जा रहा है, हर छोटा सर्वर पर पोर्ट 2181 और 3888 से टीसीपी कनेक्शन जोड़ा जा सकता है.
- यह देख लें कि आप Z रखना चाहते हैं या नहीं. ZoomKeeper की
क्लाइंट लाइब्रेरी (या
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
) का इस्तेमाल करके कनेक्ट करें और डेटाबेस से कोई वैल्यू पढ़ें. - स्टेटस देखें:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
ZooKeeper के चार अक्षर वाले शब्द इस्तेमाल करें
चिड़ियाघर की निगरानी करने के लिए, निर्देशों के एक छोटे सेट (चार अक्षरों वाले शब्द) का इस्तेमाल किया जा सकता है. इन्हें netcat (nc) या टेलनेट का इस्तेमाल करके, पोर्ट 2181 को भेजा जाता है.
ZooKeeper के निर्देशों के बारे में ज़्यादा जानने के लिए, यह देखें: Apache ZoomKeeper कमांड का रेफ़रंस.
उदाहरण के लिए:
srvr
: सर्वर के लिए पूरी जानकारी दिखाता है.stat
: यह सर्वर और कनेक्ट किए गए क्लाइंट के बारे में, कम शब्दों में जानकारी देता है.
ZoomKeeper पोर्ट को ये निर्देश दिए जा सकते हैं:
- यह जांचने के लिए कि सर्वर बिना गड़बड़ी वाली स्थिति में चल रहा है या नहीं, चार अक्षरों वाला कमांड ruok चलाएं. अगर
जवाब मिल गया है, तो "imok" दिखता है.
echo ruok | nc host 2181
वापसी:
imok
- सर्वर की परफ़ॉर्मेंस और कनेक्ट किए गए क्लाइंट के आंकड़ों की सूची बनाने के लिए, चार अक्षरों वाला कमांड
stat
चलाएं:echo stat | nc host 2181
वापसी:
Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT Clients: /0:0:0:0:0:0:0:1:33467[0](queued=0,recved=1,sent=0) /192.168.124.201:42388[1](queued=0,recved=8433,sent=8433) /192.168.124.202:42185[1](queued=0,recved=1339,sent=1347) /192.168.124.204:39296[1](queued=0,recved=7688,sent=7692) Latency min/avg/max: 0/0/128 Received: 26144 Sent: 26160 Connections: 4 Outstanding: 0 Zxid: 0x2000002c2 Mode: follower Node count: 283
- अगर netcat (nc) उपलब्ध नहीं है, तो Python का इस्तेमाल विकल्प के तौर पर किया जा सकता है.
zookeeper.py
नाम की ऐसी फ़ाइल बनाएं जिसमें ये शामिल हों:import time, socket, sys c = socket.socket(socket.AF_INET, socket.SOCK_STREAM) c.connect((sys.argv[1], 2181)) c.send(sys.argv[2]) time.sleep(0.1) print c.recv(512)
अब इन Python लाइन को चलाएं:
python zookeeper.py 192.168.124.201 ruok
python zookeeper.py 192.168.124.201 stat
एलडीएपी लेवल की जांच
OpenLDAP पर नज़र रखकर यह देखा जा सकता है कि अनुरोध सही तरीके से पूरे किए गए हैं या नहीं. दूसरे शब्दों में, सही नतीजा दिखाने वाली किसी खास खोज की जांच करें.
- सिस्टम एडमिन की एंट्री की क्वेरी करने के लिए,
ldapsearch
(yum install openldap-clients
) का इस्तेमाल करें. इस एंट्री का इस्तेमाल सभी एपीआई कॉल की पुष्टि करने के लिए किया जाता है.ldapsearch -b "uid=admin,ou=users,ou=global,dc=apigee,dc=com" -x -W -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -LLL
इसके बाद आपको LDAP एडमिन पासवर्ड डालने के लिए कहा जाएगा:
Enter LDAP Password:
पासवर्ड डालने के बाद, आपको फ़ॉर्म में यह जवाब दिखेगा:
dn: uid=admin,ou=users,ou=global,dc=apigee,dc=com objectClass: organizationalPerson objectClass: person objectClass: inetOrgPerson objectClass: top uid: admin cn: admin sn: admin userPassword:: e1NTSEF9bS9xbS9RbVNXSFFtUWVsU1F0c3BGL3BQMkhObFp2eDFKUytmZVE9PQ= = mail: opdk@google.com
- देखें कि मैनेजमेंट सर्वर अब भी इस निर्देश की मदद से, LDAP से कनेक्ट है या नहीं:
curl -u userEMail:password http://localhost:8080/v1/users/ADMIN
वापसी:
{ "emailId" : ADMIN, "firstName" : "admin", "lastName" : "admin" }
OpenLDAP कैश मेमोरी पर भी नज़र रखी जा सकती है. इससे डिस्क का इस्तेमाल कम करने में मदद मिलती है और सिस्टम की परफ़ॉर्मेंस बेहतर होती है. OpenLDAP सर्वर में कैश साइज़ की निगरानी करने और उसे ट्यून करने से, डायरेक्ट्री सर्वर की परफ़ॉर्मेंस पर काफ़ी असर पड़ सकता है. कैश मेमोरी के बारे में जानकारी पाने के लिए, लॉग फ़ाइलें (opt/apigee/var/log
) देखें.