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

Edge for Private Cloud v4.18.01

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

जेएमएक्स को चालू करना

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

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

कॉम्पोनेंट जेएमएक्स पोर्ट फ़ाइल
मैनेजमेंट सर्वर 1099 /opt/apigee/edge-management-server/bin/start
राऊटर 1100 /opt/apigee/edge-router/bin/start
मैसेज प्रोसेसर 1101 /opt/apigee/edge-message-processor/bin/start
Qpid 1102 /opt/apigee/edge-qpid-server/bin/start
Postgres 1103 /opt/apigee/edge-postgres-server/bin/start

उदाहरण के लिए, मैनेजमेंट सर्वर पर जेएमएक्स को चालू करने के लिए, किसी एडिटर में /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 

ध्यान दें कि यह लाइन, मैनेजमेंट सर्वर के लिए जेएमएक्स पोर्ट नंबर को 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

जेएमएक्स की पुष्टि करने की सुविधा चालू करना और जेएमएक्स पासवर्ड सेट करना

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

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

जेएमएक्स ऑथेंटिकेशन की सुविधा चालू करने के लिए, इस कमांड का इस्तेमाल करें:

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

कहां:

  • comp, edge-management-server, edge-message-processor, edge-qpid-server, या edge-postgres-server में से कोई एक है.
  • इसके विकल्प:
    • -u: उपयोगकर्ता नाम
    • -p: पासवर्ड
    • -e: y (चालू करें) या n (बंद करें)
  • कॉन्फ़िगरेशन फ़ाइल में ये शामिल होते हैं:
    • JMX_USERNAME=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 को कई नोड पर चलाया जा रहा है, तो इस निर्देश को सभी नोड पर चलाएं. साथ ही, एक ही उपयोगकर्ता नाम और पासवर्ड डालें.

बाद में जेएमएक्स ऑथेंटिकेशन को बंद करने के लिए, इस कमांड का इस्तेमाल करें:

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

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

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

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

जेएमएक्स के ज़रिए उपलब्ध कराए गए जेएमएक्स एट्रिब्यूट (एमबीन्स) को मॉनिटर करने के लिए, JConsole और इस सेवा यूआरएल का इस्तेमाल करें.

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

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

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

जेएमएक्स एमबीन्स

जेएमएक्स एट्रिब्यूट

मेमोरी

HeapMemoryUsage

NonHeapMemoryUsage

इस्तेमाल

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

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

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

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

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

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

अगर आपको एचटीटीपी 200 (OK) रिस्पॉन्स नहीं मिलता है, तो इसका मतलब है कि Edge, पोर्ट 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 edge-management-server restart

राऊटर

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

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

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

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

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

समस्या का हल

  1. सर्वर में लॉगिन करें और ये कमांड चलाएं:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-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 का इस्तेमाल किया हो.

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

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

ध्यान दें: पक्का करें कि आपने पोर्ट – 1101 का इस्तेमाल किया हो.

Qpid Server

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

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

ध्यान दें: पक्का करें कि आपने पोर्ट – 1102 का इस्तेमाल किया हो.

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

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

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

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

Postgres सर्वर

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

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

ध्यान दें: पक्का करें कि आपने पोर्ट – 1103 का इस्तेमाल किया हो.

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

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

ध्यान दें: पक्का करें कि आपने पोर्ट – 8084 का इस्तेमाल किया हो. Postgres सर्वर के लिए, यह CURL कमांड भी इस्तेमाल किया जा सकता है:

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

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

Postgres सर्वर पर शामिल किए गए संगठन और एनवायरमेंट का नाम देखने के लिए, यहां दिए गए CURL कमांड का इस्तेमाल करें:

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 इंस्टॉल किया हो. यह एक पर्ल मॉड्यूल है, जो हाई रिज़ॉल्यूशन अलार्म, स्लीप, 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 database_size --warning='800 GB' --critical='900 GB'
  2. डेटाबेस से इनकमिंग कनेक्शन – डेटाबेस से इनकमिंग कनेक्शन की संख्या की जांच करता है और अनुमति वाले ज़्यादा से ज़्यादा कनेक्शन से तुलना करता है:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
  3. डेटाबेस की उपलब्धता और परफ़ॉर्मेंस – यह जांच करता है कि डेटाबेस चल रहा है और उपलब्ध है:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
  4. डिस्क में बचा स्टोरेज – डिस्क में बचे स्टोरेज की जांच करता है:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
  5. शामिल किए गए संगठन/एनवायरमेंट – 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

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

डीबी की जांच

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

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

इसके बाद, यह चलाएं:

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

Postgres प्रोसेस की परफ़ॉर्मेंस की स्थिति देखना

Postgres मशीन पर एपीआई की जांच करने के लिए, यह CURL कमांड इस्तेमाल करें:

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

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

postgres प्रोसेस चालू होने पर, यह ‘ACTIVE’ स्टेटस दिखाता है. अगर postgres प्रोसेस चालू नहीं है, तो यह ‘INACTIVE’ स्टेटस दिखाता है.

Postgres से जुड़े संसाधन

Apache Cassandra

JConsole का इस्तेमाल करके – टास्क के आंकड़ों को मॉनिटर करना

जेएमएक्स के ज़रिए उपलब्ध कराए गए जेएमएक्स एट्रिब्यूट (एमबीन्स) को मॉनिटर करने के लिए, JConsole और इस सेवा यूआरएल का इस्तेमाल करें.

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

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

Cassandra के लिए, JMX डिफ़ॉल्ट रूप से चालू होता है. साथ ही, Cassandra के लिए रिमोट 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 configure
  12. Cassandra को रीस्टार्ट करें:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  13. अन्य सभी Cassandra नोड पर यह प्रोसेस दोहराएं.

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

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

Cassandra JMX के आंकड़े

जेएमएक्स एमबीन्स

जेएमएक्स एट्रिब्यूट

ColumnFamilies/apprepo/environments

ColumnFamilies/apprepo/organizations

ColumnFamilies/apprepo/apiproxy_revisions

ColumnFamilies/apprepo/apiproxies

ColumnFamilies/audit/audits

ColumnFamilies/audit/audits_ref

PendingTasks

MemtableColumnsCount

MemtableDataSize

ReadCount

RecentReadLatencyMicros

TotalReadLatencyMicros

WriteCount

RecentWriteLatencyMicros

TotalWriteLatencyMicros

TotalDiskSpaceUsed

LiveDiskSpaceUsed

LiveSSTableCount

BloomFilterFalsePositives

RecentBloomFilterFalseRatio

BloomFilterFalseRatio

क्लस्टर नोड को मैनेज करने के लिए, nodetool यूटिलिटी का इस्तेमाल करना

nodetool यूटिलिटी, Cassandra के लिए एक कमांड लाइन इंटरफ़ेस है. इसका इस्तेमाल क्लस्टर नोड को मैनेज करने के लिए किया जाता है. यह यूटिलिटी /opt/apigee/apigee-cassandra/bin पर देखी जा सकती है.

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

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

  1. रिंग की सामान्य जानकारी (यह सिंगल Cassandra नोड के लिए भी संभव है): सभी नोड के लिए, "Up" और "Normal" देखें.
    [host]# nodetool -u username -p password -h localhost ring

    ऊपर दिए गए निर्देश का आउटपुट इस तरह दिखता है:
    Address DC Rack Status State Load Owns Token
    192.168.124.201 dc1 ra1 Up Normal 1.67 MB 33,33% 0
    192.168.124.202 dc1 ra1 Up Normal 1.68 MB 33,33% 56713727820156410577229101238628035242
    192.168.124.203 dc1 ra1 Up Normal 1.67 MB 33,33% 113427455640312821154458202477256070484
  2. नोड के बारे में सामान्य जानकारी (हर नोड के लिए कॉल)
    nodetool -u username -p password -h localhost info

    ऊपर दिए गए निर्देश का आउटपुट इस तरह दिखता है:
    Token : 0
    Gossip active : true
    Load : 1.67 MB
    Generation No : 1361968765
    Uptime (seconds) : 78108
    Heap Memory (MB) : 46,80 / 772,00
    Data Center : dc1
    Rack : ra1
    Exceptions : 0
  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
    Nothing streaming to /192.168.124.203
    Nothing streaming from /192.168.124.203
    Pool Name Active Pending Completed
    Commands n/a 0 1688
    Responses n/a 0 292277

Cassandra Monitoring (यूज़र इंटरफ़ेस)

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

Cassandra Resource

इस यूआरएल पर जाएं: http://www.datastax.com/docs/1.0/operations/monitoring.

Apache ZooKeeper

ZooKeeper की स्थिति की जांच करना

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

ZooKeeper के चार अक्षरों वाले शब्दों का इस्तेमाल करना

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

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

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

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

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

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

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

    Returns:
    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

    Note: It is sometimes important to see whether a ZooKeeper is in Mode: leader, follower or observer.
  3. अगर 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

LDAP लेवल टेस्ट

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

  1. सिस्टम एडमिन की एंट्री के बारे में क्वेरी करने के लिए, 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

    इसके बाद, आपसे एलडीएपी एडमिन पासवर्ड डालने के लिए कहा जाएगा:
    एलडीएपी पासवर्ड डालें:

    पासवर्ड डालने के बाद, आपको इस फ़ॉर्म में जवाब दिखेगा:
    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
  2. देखें कि मैनेजमेंट सर्वर अब भी एलडीएपी से कनेक्ट है या नहीं:
    curl -u <userEMail>:<password> http://localhost:8080/v1/users/<ADMIN>

    यह दिखता है:
    {
    "emailId" : <ADMIN>,
    "firstName" : "admin",
    "lastName" : "admin"
    }

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