मॉनिटर करने का तरीका

Edge for Private Cloud v4.18.01

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

JMX को चालू करना

कैसंड्रा के लिए जेएमएक्स डिफ़ॉल्ट रूप से चालू होता है. साथ ही, दूसरे सभी Edge कॉम्पोनेंट के लिए यह डिफ़ॉल्ट रूप से बंद रहता है. इसलिए, आपको हर कॉम्पोनेंट के लिए अलग-अलग JMX चालू करना होगा.

हर कॉम्पोनेंट, अलग पोर्ट पर JMX के साथ काम करता है. इस टेबल में JMX पोर्ट और उस फ़ाइल की सूची दी गई है जिसमें आपने उस पोर्ट पर JMX चालू करने के लिए बदलाव किया है:

कॉम्पोनेंट JMX पोर्ट फ़ाइल
मैनेजमेंट सर्वर 1099 /opt/apigee/edge-management-server/bin/start
राऊटर 1100 /opt/apigee/edge-router/bin/start
मैसेज प्रोसेसर 1101 /opt/apigee/edge-message-processor/bin/start
क्यूपीआईडी 1102 /opt/apigee/edge-qpid-server/bin/start
पोस्टग्रेस 1103 /opt/apigee/edge-postgres-server/bin/start

उदाहरण के लिए, मैनेजमेंट सर्वर पर JMX चालू करने के लिए, /opt/apigee/edge-management-server/bin/start, एडिटर में खोलें. मैनेजमेंट सर्वर को चालू करने के लिए, आपको यह लाइन दिखेगी:

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 $* $debug_options com.apigee.kernel.MicroKernel

यह जोड़ने के लिए इस पंक्ति में बदलाव करें:

-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 

ध्यान दें कि यह लाइन मैनेजमेंट सर्वर के लिए JMX पोर्ट नंबर को 1099 के रूप में तय करती है. हर कॉम्पोनेंट के लिए पोर्ट नंबर सेट करें. इसके बारे में ऊपर दी गई टेबल में बताया गया है. उदाहरण के लिए:

exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts 
-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 
-Djava.security.auth.login.config=$conf_path/jaas.config 
-Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir $* $debug_options com.apigee.kernel.MicroKernel

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

> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

JMX की पुष्टि करना और JMX पासवर्ड सेट करना

मैनेजमेंट सर्वर, मैसेज प्रोसेसर, Qpid, और Postgres की निगरानी करने की प्रोसेस में JMX का इस्तेमाल किया जाता है. JMX डिफ़ॉल्ट रूप से चालू है और रिमोट JMX के लिए पासवर्ड की ज़रूरत नहीं होती.

JMX की पुष्टि करने के लिए, हर कॉम्पोनेंट में change_jmx_auth कार्रवाई होती है जिसका इस्तेमाल, पुष्टि करने की सुविधा को चालू/बंद करने और JMX क्रेडेंशियल सेट करने के लिए किया जाता है.

JMX से पुष्टि करने की सुविधा चालू करने के लिए, नीचे दिए गए निर्देश का इस्तेमाल करें:

>  /opt/apigee/apigee-service/bin/apigee-service comp change_jmx_auth optionsOrConfigFile

कहां:

  • comp या तो edge-management-server, Edge-message-processor, ED-qpid-server, या Edge-postgres-server है.
  • इसके विकल्प:
    • -u: उपयोगकर्ता नाम
    • -p: पासवर्ड
    • -e: y (चालू है) या n (dsiable)
  • कॉन्फ़िगरेशन फ़ाइल में ये शामिल हैं:
    • JMX_USERNAME=उपयोगकर्ता नाम
    • JMX_Enabled=y/n
    • JMX_password=password (अगर सेट नहीं किया गया है या -p के साथ पास नहीं किया गया है, तो आपको कहा जाएगा)

उदाहरण के लिए, कमांड लाइन के विकल्पों का इस्तेमाल करने के लिए:

> /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 configFile

अगर एक से ज़्यादा नोड पर Edge चलाया जा रहा है, तो एक ही उपयोगकर्ता नाम और पासवर्ड डालकर सभी नोड पर यह निर्देश चलाएं.

बाद में JMX की पुष्टि करने की सुविधा बंद करने के लिए, इस निर्देश का इस्तेमाल करें:

> /opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n

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

सिस्टम की जांच और प्रक्रिया की जानकारी को मॉनिटर करने के लिए JConsole का इस्तेमाल करना

स्वास्थ्य जांच और प्रोसेस से जुड़े आंकड़ों को मैनेज और मॉनिटर करने के लिए, JConsole (JMX) का इस्तेमाल करें. JConsole का इस्तेमाल करके, मैनेजमेंट सर्वर या किसी भी सर्वर से सार्वजनिक किए गए जेएमएक्स आंकड़ों का इस्तेमाल किया जा सकता है और उन्हें ग्राफ़िकल इंटरफ़ेस में दिखाया जा सकता है. JConsole के इस्तेमाल के बारे में ज़्यादा जानने के लिए, http://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html पर जाएं.

JMX के ज़रिए ऑफ़र किए गए JMX एट्रिब्यूट (MBean) पर नज़र रखने के लिए, JConsole और नीचे दिए गए सेवा के यूआरएल का इस्तेमाल करें.

service:jmx:rmi:///jndi/rmi://<ip address>:<port>/jmxrmi

जहां <ip address>, मैनेजमेंट सर्वर (या उससे जुड़े सर्वर) का आईपी पता है. मैनेजमेंट सर्वर के लिए, डिफ़ॉल्ट रूप से पोर्ट 1099 होता है.

नीचे दी गई टेबल में, JMX के सामान्य आंकड़े दिखाए गए हैं:

JMX एमबी

JMX एट्रिब्यूट

मेमोरी

HeapMemoryUsage

NonHeapMemoryUsage

इस्तेमाल का तरीका

ध्यान दें: एट्रिब्यूट की वैल्यू चार वैल्यू में दिखेंगी: तय की गई वैल्यू, init, max, और इस्तेमाल की गई वैल्यू.

Edge ऐप्लिकेशन एपीआई की जांच का इस्तेमाल करना

मैनेजमेंट सर्वर (या किसी भी सर्वर) पर एपीआई की जांच की जा सकती है. इसके लिए, आपको नीचे दिए गए CURL निर्देश का इस्तेमाल करना होगा:

curl http://<host>:8080/v1/servers/self/up -H "Accept: application/json"

जहां <host>, मैनेजमेंट सर्वर का आईपी पता है. स्वीकार किए जाने के टाइप को application/json या application/xml के तौर पर तय किया जा सकता है.

यह कॉल "सही" और "गलत" दिखाता है. अगर सही है, तो इसका मतलब है कि नोड चालू है और Java सेवा चल रही है.

अगर आपको एचटीटीपी 200 (ठीक है) रिस्पॉन्स नहीं मिलता है, तो एज, पोर्ट 8080 के अनुरोधों का जवाब नहीं दे पाएगा.

समस्या हल करना

  1. सर्वर में लॉगिन करें और यह निर्देश चलाएं:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server status
  2. अगर सेवा काम नहीं कर रही है, तो सेवा शुरू करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server start

Edge ऐप्लिकेशन का इस्तेमाल करना – उपयोगकर्ता, संगठन, और डिप्लॉयमेंट की जांच

मैनेजमेंट सर्वर, कंपनी की इमारत में दूसरे सभी पार्सल को एक साथ रखने में अहम भूमिका निभाता है. मैनेजमेंट सर्वर पर उपयोगकर्ता, संगठन, और डिप्लॉयमेंट की स्थिति पता की जा सकती है. इसके लिए, ये निर्देश दिए जा सकते हैं:

curl -u userEmail:password http://localhost:8080/v1/users
curl -u userEmail:password http://localhost:8080/v1/organizations
curl -u userEmail:password http://localhost:8080/v1/organizations/orgname/deployments

सिस्टम में सभी कॉल के लिए, "डिप्लॉय किया गया" स्टेटस दिखेगा. अगर ऐसा नहीं हो पाता है, तो ये काम करें:

  1. किसी भी तरह की गड़बड़ी के लिए, मैनेजमेंट सर्वर लॉग (opt/apigee/var/log/edge-management-server) पर देखें.
  2. मैनेजमेंट सर्वर को कॉल करके देखें कि वह ठीक से काम कर रहा है या नहीं.
  3. ईएलबी से सर्वर हटाएं और फिर मैनेजमेंट सर्वर को रीस्टार्ट करें.
    /opt/apigee/apigee-service/bin/apigee-service टैप-मैनेजमेंट-सर्वर रीस्टार्ट

राऊटर

नीचे दिए गए CURL निर्देश को बोलकर, राऊटर या किसी भी सर्वर पर एपीआई की जांच की जा सकती है:

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

कहां, होस्ट, राऊटर का आईपी पता होता है.

यह कॉल "सही" और "गलत" दिखाता है. अगर सही है, तो इसका मतलब है कि नोड चालू है और राऊटर सेवा चल रही है.

अगर आपको एचटीटीपी 200 (ठीक है) रिस्पॉन्स नहीं मिलता है, तो Edge, पोर्ट 8081 के अनुरोधों का जवाब नहीं दे पाएगा.

समस्या हल करना

  1. सर्वर में लॉगिन करें और इन निर्देशों को चलाएं:
    /<inst_root>/apigee/apigee-service/bin/apigee-service lead-router status
  2. अगर सेवा काम नहीं कर रही है, तो सेवा शुरू करें
    /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-router start
  3. रीस्टार्ट करने के बाद, जांचें कि यह काम कर रहा है या नहीं
    curl -v http://localhost:port/v1/servers/self/up

    जहां port, राऊटर के लिए 8081 और मैसेज प्रोसेसर के लिए 8082 है.

सिस्टम की जांच और प्रक्रिया की जानकारी को मॉनिटर करने के लिए JConsole का इस्तेमाल करना

मैनेजमेंट सर्वर के लिए ऊपर बताए गए तरीके का पालन करें.

ध्यान दें: पोर्ट 1100 का इस्तेमाल ज़रूर करें.

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

सिस्टम की जांच और प्रक्रिया की जानकारी को मॉनिटर करने के लिए JConsole का इस्तेमाल करना

मैनेजमेंट सर्वर के लिए ऊपर बताए गए तरीके का पालन करें.

ध्यान दें: पोर्ट 1101 का इस्तेमाल ज़रूर करें.

Edge ऐप्लिकेशन एपीआई की जांच का इस्तेमाल करना

राऊटर के लिए ऊपर बताए गए तरीके का पालन करें.

ध्यान दें: पोर्ट – 8082 का इस्तेमाल ज़रूर करें.

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

मैनेजमेंट सर्वर के लिए ऊपर बताए गए तरीके का पालन करें.

ध्यान दें: पोर्ट 1101 का इस्तेमाल ज़रूर करें.

Qpid सर्वर

सिस्टम की परफ़ॉर्मेंस की जांच और उससे जुड़ी जानकारी को प्रोसेस करने के लिए, JConsole का इस्तेमाल करना

मैनेजमेंट सर्वर के लिए ऊपर बताए गए तरीके का पालन करें.

ध्यान दें: पोर्ट – 1102 का इस्तेमाल ज़रूर करें.

Edge ऐप्लिकेशन एपीआई की जांच का इस्तेमाल करना

मैनेजमेंट सर्वर के लिए ऊपर बताए गए तरीके का पालन करें.

ध्यान दें: पोर्ट – 8083 का इस्तेमाल ज़रूर करें. नीचे दिया गया CURL निर्देश, Qpid सर्वर के लिए भी काम करता है:

curl http://<qpid_IP>:8083/v1/servers/self

Postgres सर्वर

सिस्टम की जांच और प्रक्रिया की जानकारी को मॉनिटर करने के लिए JConsole का इस्तेमाल करना

मैनेजमेंट सर्वर के लिए ऊपर बताए गए तरीके का पालन करें.

ध्यान दें: पोर्ट 1103 का इस्तेमाल ज़रूर करें.

Edge ऐप्लिकेशन एपीआई की जांच का इस्तेमाल करना

मैनेजमेंट सर्वर के लिए ऊपर बताए गए तरीके का पालन करें.

ध्यान दें: पोर्ट – 8084 का इस्तेमाल ज़रूर करें. ये CURL निर्देश Postgres Server के लिए भी काम करते हैं:

curl http://<postgres_IP>:8084/v1/servers/self

Edge ऐप्लिकेशन और एनवायरमेंट की जांच का इस्तेमाल करके

नीचे दिए गए CURL निर्देश जारी करके, Postgres Server पर संगठन और एनवायरमेंट का नाम देखा जा सकता है:

curl http:// <postgres_IP>:8084/v1/servers/self/organizations

ध्यान दें: पोर्ट – 8084 का इस्तेमाल ज़रूर करें.

सिस्टम में संगठन और एनवायरमेंट का नाम दिखना चाहिए.

Edge ऐप्लिकेशन axstatus की जांच का इस्तेमाल करके

CURL निर्देश भेजकर, Analytics सर्वर के स्टेटस की पुष्टि की जा सकती है.

curl -u userEmail:password http://<host>:<port>/v1/organizations/<orgname>/environments/<envname>/provisioning/axstatus

सिस्टम में सभी Analytics सर्वर के लिए SUCCESS स्टेटस दिखना चाहिए. ऊपर दिए गए CURL निर्देश का आउटपुट नीचे दिखाया गया है:

{
  "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 डेटाबेस

Check_postgres.pl स्क्रिप्ट का इस्तेमाल करके

PostgreSQL डेटाबेस की निगरानी के लिए, स्टैंडर्ड मॉनिटरिंग स्क्रिप्ट check_postgres.pl का इस्तेमाल किया जा सकता है. यह स्क्रिप्ट, http://bucardo.org/wiki/Check_postgres पर उपलब्ध है.

ध्यान दें: स्क्रिप्ट, check_postgres.pl को हर Postgres नोड में इंस्टॉल किया जाना चाहिए.

स्क्रिप्ट चलाने से पहले:

  1. पक्का करें कि आपने perl-Time-HiRes.x86_64 इंस्टॉल किया है. यह एक Perl मॉड्यूल है, जो हाई रिज़ॉल्यूशन वाले अलार्म, स्लीप मोड, gettimeofday, और इंटरवल टाइमर को लागू करता है. उदाहरण के लिए, आप इस निर्देश का इस्तेमाल करके, इसे इंस्टॉल कर सकते हैं:
    yum install perl-Time-HiRes.x86_64

स्क्रिप्ट का इस्तेमाल करने वाले एपीआई कॉल का डिफ़ॉल्ट आउटपुट, check_postgres.pl Nagios के साथ काम करता है. स्क्रिप्ट इंस्टॉल करने के बाद, इन चीज़ों की जांच करें:

  1. डेटाबेस का साइज़ – डेटाबेस का साइज़ देखें:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -include=apigee -action डेटाबेस_size --warning='800 GB' --expert='900 जीबी'
  2. डेटाबेस से मिलने वाला कनेक्शन – यह डेटाबेस से आने वाले कनेक्शन की जांच करता है और अनुमति वाले ज़्यादा से ज़्यादा कनेक्शन से तुलना करता है:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action बैकएंड
  3. डेटाबेस की उपलब्धता और परफ़ॉर्मेंस – यह जांच करती है कि डेटाबेस चल रहा है या नहीं उपलब्ध है:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action कनेक्शन
  4. डिस्क स्पेस – डिस्क में सेव की गई जगह की जांच करता है:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action drive_space --warning='80%' --restricted='90%'
  5. ऑनबोर्ड संगठन/एनवायरमेंट – यह Postgres नोड में जोड़े गए संगठन और एनवायरमेंट की संख्या की जांच करता है:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action=custom_query'query="select link='analytics'analytics on about -search_query # पिक अप

ध्यान दें: ऊपर दिए गए निर्देशों के इस्तेमाल के बारे में कोई मदद पाने के लिए, कृपया http://bucardo.org/check_postgres/check_postgres.pl.html पर जाएँ.

DB चेक्स

यह पुष्टि की जा सकती है कि PostgreSQL डेटाबेस में सही टेबल बनाई गई हैं. PostgreSQL डेटाबेस में लॉगिन करने के लिए, इसका इस्तेमाल करें:

psql -h /opt/apigee/var/run/apigee-postgresql/  -U apigee -d apigee

और फिर इसे चलाएं:

\d analytics."<org>.<env>.fact"

पोस्टग्रेस प्रोसेस की हेल्थ स्टेटस की जांच करना

नीचे दिए गए CURL निर्देश को बोलकर, postgres मशीन पर एपीआई की जांच की जा सकती है:

http://<postgres_IP>:8084/v1/servers/self/health/

ध्यान दें: पक्का करें कि पोर्ट 8084 का इस्तेमाल किया जा रहा है.

यह पोस्टग्रेस प्रोसेस के चालू होने पर, ‘चालू है’ स्थिति में दिखता है. अगर पोस्टग्रेज़ प्रोसेस चालू नहीं है, तो यह ‘बंद है’ स्थिति दिखाती है.

पोस्टग्रेस संसाधन

अपाचे कासांद्रा

JConsole का इस्तेमाल करना – टास्क के आंकड़ों पर नज़र रखना

JMX के ज़रिए ऑफ़र किए गए JMX एट्रिब्यूट (MBean) पर नज़र रखने के लिए, JConsole और नीचे दिए गए सेवा के यूआरएल का इस्तेमाल करें.

service:jmx:rmi:///jndi/rmi://<ip address>:7199/jmxrmi

यहां <ip address>, Cassandra सर्वर का आईपी है.

कैसंड्रा के लिए जेएमएक्स डिफ़ॉल्ट रूप से चालू है और कैसेंड्रा के रिमोट JMX के ऐक्सेस के लिए पासवर्ड की ज़रूरत नहीं होती.

पासवर्ड जोड़ने के लिए JMX की पुष्टि करने की सुविधा चालू करने के लिए:

  1. /opt/apigee/customer/application/cassandra.properties में बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
  2. फ़ाइल में यह जानकारी जोड़ें:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. फ़ाइल सेव करें.
  4. अपनी $JAVA_HOME डायरेक्ट्री से, इस फ़ाइल को /opt/apigee/data/apigee-cassandra/ में कॉपी करें:
    cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/data/apigee-cassandra/jmxremote.password
  5. jmxremote.password में बदलाव करें और फ़ाइल में उपयोगकर्ता नाम और पासवर्ड जोड़ें:
    cassandra password

    जहां password JMX पासवर्ड है.
  6. ${JAVA_HOME}/lib/management/jmxremote.access में बदलाव करें और यह भूमिका जोड़ें:
    cassandra Readwrite
  7. पक्का करें कि फ़ाइलों का मालिकाना हक "apigee" के पास है और फ़ाइल मोड 400 है:
    > chown apigee:apigee /opt/apigee/data/apigee-cassandra/jmxremote.*
    > chmod 400 /opt/apigee/data/apigee-cassandra/jmxremote.*
  8. अगर यह फ़ाइल मौजूद नहीं है, तो यहां दी गई जगह पर फ़ाइल बनाएं:
    /opt/apigee/customer/application/jmx_auth.sh
  9. आपने अभी जो jmx_auth.sh फ़ाइल बनाई है उसमें ये लाइनें जोड़ें:
    export CASS_JMX_USERNAME=JMX_USERNAME
    export CASS_JMX_PASSWORD=JMX_PASSWORD
  10. नीचे दिए गए निर्देश का इस्तेमाल करें:
    source /opt/apigee/customer/application/jmx_auth.sh
  11. Cassandra पर configure चलाएं:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra Configuration
  12. कैसंड्रा को रीस्टार्ट करें:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandraव्यू
  13. इस प्रोसेस को दूसरे सभी कैसेंड्रा नोड पर दोहराएं.

पुष्टि करने की सुविधा को बाद में बंद करने के लिए:

  1. /opt/apigee/customer/application/cassandra.properties में बदलाव करें.
  2. फ़ाइल से यह लाइन हटाएं:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. कैसेंड्रा पर कॉन्फ़िगर करें:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra Configuration
  4. कैसंड्रा को रीस्टार्ट करें:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandraव्यू
  5. इस प्रोसेस को दूसरे सभी कैसेंड्रा नोड पर दोहराएं.

कैसेंड्रा JMX के आंकड़े

JMX एमबी

JMX एट्रिब्यूट

कॉलमपरिवार/ऐप्लिकेशन/परिवेश

कॉलमपरिवार/ऐप्लिकेशन/संगठन

Columnफ़ैमिली/apprepo/apiप्रॉक्सी_revisions

कॉलमपरिवार/ऐप्लिकेशन/ऐप्लिकेशन से जुड़े एपीआई

कॉलमपरिवार/ऑडिट/ऑडिट

कॉलमपरिवार/ऑडिट/ऑडिट_ref

PendingTasks

MemtableColumnsCount

MemtableDataSize

ReadCount

RecentReadLatencyMicros

TotalReadLatencyMicros

WriteCount

RecentWriteLatencyMicros

TotalWriteLatencyMicros

TotalDiskSpaceUsed

LiveDiskSpaceUsed

LiveSSTableCount

BloomFilterFalsePositives

RecentBloomFilterFalseRatio

BloomFilterFalseRatio

क्लस्टर नोड को मैनेज करने के लिए nodetool सुविधा का इस्तेमाल करना

नोडटूल यूटिलिटी, कैसंड्रा के लिए कमांड लाइन इंटरफ़ेस है. इसका इस्तेमाल क्लस्टर नोड को मैनेज करने के लिए किया जाता है. यह सुविधा /opt/apigee/apigee-cassandra/bin पर उपलब्ध है.

nodetool यूटिलिटी के बारे में ज़्यादा जानकारी के लिए, http://www.datastax.com/docs/1.0/references/nodetool देखें.

Cassandra क्लस्टर के सभी नोड पर ये कॉल किए जा सकते हैं:

  1. रिंग की सामान्य जानकारी (एक कैसंड्रा नोड के लिए भी हो सकती है): सभी नोड के लिए "ऊपर" और "सामान्य" खोजें.
    [host]# nodetool -u username -p password -h localhost2 Ring

    ऊपर दिए गए निर्देश का आउटपुट इस तरह दिखता है:
    पता DC रैक स्टेटस स्टेट लोड का मालिकाना हक टोकन
    192.168.124.201 dc1 ra1 ra1 अपनॉर्मल 30125.34125.675 MB 3.675 एमबी3.675 एमबी 3.31,301 एमबी

  2. नोड के बारे में सामान्य जानकारी (हर नोड कॉल पर)
    nodetool -u username -p password -h localhost की जानकारी

    ऊपर दिए गए निर्देश का आउटपुट नीचे जैसा दिखता है:
    टोकन : : : 0
    Gossip चालू है : true
    लोड : 1.67 एमबी
    जनरेशन नंबर : 13619687s 13619687s
    डेटा 135 एमबी से 11
    बार


  3. थ्रिफ़्ट सर्वर का स्टेटस (सर्विंग क्लाइंट एपीआई)
    host]# Nodetool -u username -p password -h localhost statusthrift

    ऊपर दिए गए निर्देश का आउटपुट, स्टेटस को "चल रहा है" के तौर पर दिखाता है.
  4. डेटा स्ट्रीमिंग कार्रवाइयों की स्थिति: cassandra नोड के लिए ट्रैफ़िक पर नज़र रखें
    nodetool -u username -p password -h localhost netstats 192.168.124.203

    ऊपर दिए गए कमांड का आउटपुट नीचे दिखाया गया है:
    Mode: NORMAL/18 Response2 Response2 Response2 Response2 Response2 Response2 Response2 Response2 Response2 फ़ीडबैक.फ़ीडबैक.10 2.2.16.16.1




कैसेंड्रा मॉनिटरिंग (यूआई)

datastax opscenter यूआरएल देखें: http://www.datastax.com/products/opscenter.

कैसेंड्रा रिसोर्स

इस यूआरएल को देखें: http://www.datastax.com/docs/1.0/operations/monitoring.

अपाचे ज़ूकीपर

ज़ूकीपर की स्थिति की जांच की जा रही है

  1. पक्का करें कि ZoomKeeper प्रोसेस चल रही है. ZoomKeeper opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid) के लिए, एक पीआईडी फ़ाइल लिखता है.
  2. यह पक्का करने के लिए कि ज़ूकेपर पोर्ट को टेस्ट किया जा रहा है, हर छोटा सर्वर पर पोर्ट 2181 और 3888 से टीसीपी कनेक्शन जोड़ा जा सकता है.
  3. यह देख लें कि आप Z रखना चाहते हैं या नहीं. चिड़ियाघर की क्लाइंट लाइब्रेरी (या /opt/apigee/apigee-zookeeper/bin/zkCli.sh) का इस्तेमाल करके कनेक्ट करें और डेटाबेस से मिली वैल्यू पढ़ें.
  4. स्टेटस देखें:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper स्थिति

चिड़ियाघर में चार अक्षरों वाले शब्दों का इस्तेमाल करना

चिड़ियाघर की निगरानी करने के लिए, निर्देशों के एक छोटे सेट (चार अक्षरों वाले शब्द) का इस्तेमाल किया जा सकता है. इन्हें netcat (nc) या टेलनेट का इस्तेमाल करके, पोर्ट 2181 को भेजा जाता है.

ZoomKeeper के निर्देशों के बारे में ज़्यादा जानने के लिए, यह देखें: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.

उदाहरण के लिए:

  • srvr: सर्वर के लिए पूरी जानकारी दिखाता है.
  • stat: सर्वर और कनेक्ट किए गए क्लाइंट के बारे में कम शब्दों में जानकारी देता है.

ZoomKeeper पोर्ट को ये निर्देश दिए जा सकते हैं:

  1. यह जांचने के लिए कि सर्वर बिना गड़बड़ी वाली स्थिति में चल रहा है या नहीं, चार अक्षरों वाला कमांड ruok चलाएं. अगर जवाब मिल गया है, तो "imok" दिखता है.
    echo ruok | nc <host> 2181

    रिटर्न:
    imok
  2. चार अक्षरों वाला कमांड चलाएं. सर्वर की परफ़ॉर्मेंस और कनेक्ट किए गए क्लाइंट के आंकड़ों की सूची बनाएं.
    echo stat | nc <host> 2181

    रिटर्न:
    Zookeeper वर्शन: 3.4.5-1392090, इस पर बनाया गया 09/30/2012 17:52 जीएमटी
    कार्रवाई:
    /0:0:0:0:0:34 शामिल:
    /0:0:0:0:0:34










  3. अगर netcat (nc) उपलब्ध नहीं है, तो Python का इस्तेमाल विकल्प के तौर पर किया जा सकता है. zookeeper.py नाम से एक फ़ाइल बनाएं जिसमें ये शामिल हों:
    इंपोर्ट समय, खाता,
    sys c = खाता.socket(socket.AF_INET, विशेषता.SOCK_STREAM)
    c.connect((sys. जाएगाv[1], 2181) नाओकीपर







OpenLDAP

एलडीएपी लेवल की जांच

OpenLDAP पर नज़र रखकर यह देखा जा सकता है कि खास अनुरोध सही तरीके से पूरे किए गए हैं या नहीं. दूसरे शब्दों में, सही नतीजा दिखाने वाली किसी खास खोज की जांच करें.

  1. सिस्टम एडमिन की एंट्री की क्वेरी करने के लिए, ldapsearch (yum install playldap-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एडमिन ऑब्जेक्ट:

    इसके बाद, आपको एडमिन मेल देखने के लिए, ईमेल का जवाब देना होगा:













  2. देखें कि मैनेजमेंट सर्वर अब भी LDAP से जुड़ी समस्या से जुड़ा है:
    curl -u <userEMail>:<password> http://localhost:8080/v1/users/<Admin>

    रिटर्न:
    {
    "emailId" : <Admin>,
    "firstName" : "admin",
    "lastName" : "admin"

OpenLDAP कैश मेमोरी पर भी नज़र रखी जा सकती है. इससे डिस्क का इस्तेमाल कम करने में मदद मिलती है और सिस्टम की परफ़ॉर्मेंस बेहतर होती है. OpenLDAP सर्वर में कैश साइज़ की निगरानी करने और उसे ट्यून करने से, डायरेक्ट्री सर्वर की परफ़ॉर्मेंस पर काफ़ी असर पड़ सकता है. कैश मेमोरी के बारे में जानकारी पाने के लिए, लॉग फ़ाइलें (opt/apigee/var/log) देखी जा सकती हैं.