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

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

खास जानकारी

Edge, सेवाओं के बारे में जानकारी पाने और उनकी जांच करने के कई तरीके उपलब्ध कराता है स्थितियां. नीचे दी गई टेबल में उन जांचों की सूची दी गई है जो ज़रूरी शर्तें पूरी करने वाले हर मामले में की जा सकती हैं सेवा:

एमजीएमटी एपीआई
कॉम्पोनेंट मेमोरी का इस्तेमाल [JMX*] सेवा की जांच करना उपयोगकर्ता/संगठन/ डिप्लॉयमेंट का स्टेटस एक्सस्टेटस डेटाबेस की जांच apigee-service में डेटा सोर्स का स्टेटस apigee-monit**
मैनेजमेंट सर्वर
मैसेज प्रोसेसर
राऊटर
Qpid
Postgres
ज़्यादा जानकारी ज़्यादा जानकारी ज़्यादा जानकारी ज़्यादा जानकारी ज़्यादा जानकारी ज़्यादा जानकारी ज़्यादा जानकारी

* JMX का इस्तेमाल करने से पहले, आपको इसे इस तरह चालू करना होगा: इस बारे में जेएमएक्स चालू करें में बताया गया है.

** apigee-monit सेवा जांच करती है कि कोई कॉम्पोनेंट सही तरीके से काम कर रहा है या नहीं अगर ऐसा नहीं है, तो इसे रीस्टार्ट करें. ज़्यादा जानकारी के लिए, इससे खुद का इलाज करना' देखें apigee-monit.

पोर्ट और कॉन्फ़िगरेशन फ़ाइलों की निगरानी करना

हर कॉम्पोनेंट, अलग-अलग पोर्ट पर Java Management Extensions (JMX) और मैनेजमेंट एपीआई मॉनिटरिंग कॉल के साथ काम करता है. कॉन्टेंट बनाने नीचे दी गई टेबल में हर तरह के सर्वर के लिए JMX और Management API पोर्ट दिए गए हैं, और कॉन्फ़िगरेशन फ़ाइल स्थान:

कॉम्पोनेंट JMX पोर्ट Management API पोर्ट कॉन्फ़िगरेशन फ़ाइल की जगह
मैनेजमेंट सर्वर 1099 8080 $APIGEE_ROOT/customer/application/management-server.properties
मैसेज प्रोसेसर 1101 8082 $APIGEE_ROOT/customer/application/message-processor.properties
राऊटर 1100 8081 $APIGEE_ROOT/customer/application/router.properties
Qpid 1102 8083 $APIGEE_ROOT/customer/application/qpid-server.properties
Postgres 1103 8084 $APIGEE_ROOT/customer/application/postgres-server.properties

कॉम्पोनेंट को मॉनिटर करने के लिए जेएमएक्स का इस्तेमाल करना

नीचे दिए गए सेक्शन में बताया गया है कि Edge के कॉम्पोनेंट को मॉनिटर करने के लिए, JMX कैसे इस्तेमाल किया जाता है.

JMX को चालू करें

प्रमाणीकरण या SSL आधारित संचार के बिना JMX को सक्षम करने के लिए, नीचे दिए गए चरणों का पालन करें. ध्यान दें: प्रोडक्शन सिस्टम में, एन्क्रिप्ट (सुरक्षित) किए गए पुष्टि और एसएसएल, दोनों की सुविधा चालू होनी चाहिए सुरक्षा.

  1. सही कॉन्फ़िगरेशन फ़ाइल में बदलाव करें ( कॉन्फ़िगरेशन फ़ाइल का रेफ़रंस देखें). अगर कॉन्फ़िगरेशन फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
    conf_system_jmxremote_enable=true
  2. कॉन्फ़िगरेशन फ़ाइल को सेव करें और पक्का करें कि इस पर apigee:apigee का मालिकाना हक है.
  3. सही Edge कॉम्पोनेंट रीस्टार्ट करें
    apigee-service edge-management-server restart

JMX को बंद करने के लिए, conf_system_jmxremote_enable प्रॉपर्टी को हटाएं या इसकी वैल्यू false है. इसके बाद, सही Edge कॉम्पोनेंट को रीस्टार्ट करें.

JMX में पुष्टि करने की सुविधा

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

  1. किसी Edge-* कॉम्पोनेंट में JMX की पुष्टि करने की सुविधा चालू करने के लिए, सही कॉन्फ़िगरेशन फ़ाइल में बदलाव करें (देखें कॉन्फ़िगरेशन फ़ाइल का रेफ़रंस). अगर कॉन्फ़िगरेशन फ़ाइल मौजूद नहीं है, तो उसे बनाएं:
    conf_system_jmxremote_enable=true
    conf_system_jmxremote_authenticate=true
    conf_system_jmxremote_encrypted_auth=true
    conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
    conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
    कॉन्फ़िगरेशन फ़ाइल सेव करें और पक्का करें कि इसका मालिकाना हक apigee:apigee के पास है.
  2. पासवर्ड का SHA256 हैश बनाएं:
    echo -n '' | openssl dgst -sha256
  3. JMX उपयोगकर्ता क्रेडेंशियल के साथ jmxremote.password फ़ाइल बनाएं:
    1. इन फ़ाइलों को अपनी $JAVA_HOME डायरेक्ट्री से इसमें कॉपी करें: /opt/apigee/customer/application/<component>/:
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password
    2. फ़ाइल में बदलाव करें और निम्न सिंटैक्स का उपयोग करके अपना JMX उपयोगकर्ता नाम और पासवर्ड जोड़ें:
      USERNAME <HASH-PASSWORD>
    3. पक्का करें कि फ़ाइल का मालिकाना हक apigee के पास हो और फ़ाइल मोड 400 हो:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
  4. JMX उपयोगकर्ता की अनुमतियों के साथ jmxremote.access फ़ाइल बनाएं:
    1. अपनी $JAVA_HOME डायरेक्ट्री से, इन फ़ाइलों को डायरेक्ट्री /opt/apigee/customer/application/<component>/
      
      cp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/management-server/jmxremote.password/jmxremote.access
      में कॉपी करें
    2. फ़ाइल में बदलाव करें और अपना JMX उपयोगकर्ता नाम जोड़ें, फिर कोई अनुमति (READONLY/READWRITE)
      USERNAME READONLY
    3. पक्का करें कि फ़ाइल का मालिकाना हक apigee के पास हो और फ़ाइल मोड 400 हो:
      chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password
      
      chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
  5. सही Edge कॉम्पोनेंट रीस्टार्ट करें:
    apigee-service edge-management-server restart

JMX की पुष्टि करने की सुविधा बंद करने के लिए, प्रॉपर्टी हटाएं conf_system_jmxremote_authenticate या वैल्यू को बदलकर false और सही Edge कॉम्पोनेंट को रीस्टार्ट करें.

JMX में एसएसएल

किसी Edge-* कॉम्पोनेंट में एसएसएल आधारित JMX की सुविधा चालू करने के लिए:

  1. उपयुक्त कॉन्फ़िगरेशन फ़ाइल में बदलाव करें (देखें कॉन्फ़िगरेशन फ़ाइल का रेफ़रंस). अगर कॉन्फ़िगरेशन फ़ाइल मौजूद नहीं है, तो उसे बनाएं:
    conf_system_jmxremote_enable=true
    conf_system_jmxremote_ssl=true
    conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
    conf_system_javax_net_ssl_keystorepassword=<keystore-password>
    कॉन्फ़िगरेशन फ़ाइल सेव करें और पक्का करें कि उसका मालिकाना हक apigee:apigee के पास हो.
  2. सर्वर कुंजी वाला कीस्टोर तैयार करें और उसे ऊपर कॉन्फ़िगरेशन conf_system_javax_net_ssl_keystore. पक्का करें कि कीस्टोर फ़ाइल apigee:apigee से पढ़ा जा सकता है.
  3. सही Edge कॉम्पोनेंट रीस्टार्ट करें:
    apigee-service edge-management-server restart

एसएसएल पर आधारित जेएमएक्स सुविधा बंद करने के लिए, conf_system_jmxremote_ssl प्रॉपर्टी को हटाएं या वैल्यू को false में बदलें. सही Edge कॉम्पोनेंट रीस्टार्ट करें.

Jconsole के ज़रिए निगरानी की जा रही है

jconsole की मदद से, निगरानी करने के निर्देशों को यहां बताए गए तरीके से बदला गया https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole.

एक लाइन जोड़ी जा सकती है कि “अगर JMX के लिए एसएसएल चालू है, तो jconsole स्टोर और Truststore पासवर्ड से शुरू किया जा सकता है.” रेफ़रंस: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html

JConsole की मदद से मॉनिटर करें

सेहत की जांच को मैनेज करने और उसे मॉनिटर करने के साथ-साथ आंकड़ों को प्रोसेस करने के लिए, JConsole (JMX के साथ काम करने वाला टूल) का इस्तेमाल करें. JConsole की मदद से, अपने सर्वर से एक्सपोज़ किए गए JMX आंकड़ों का इस्तेमाल किया जा सकता है और उन्हें ग्राफ़िकल इंटरफ़ेस में दिखाया जा सकता है. ज़्यादा जानकारी के लिए, JConsole का इस्तेमाल करना लेख पढ़ें.

अगर JMX के लिए एसएसएल चालू है, तो आपको Truststore और Truststore पासवर्ड के साथ JConsole शुरू करना होगा. देखें JConsole का इस्तेमाल करके.

JConsole की ओर से ऑफ़र की जाने वाली JMX विशेषताओं (एमबीएन) को मॉनिटर करने के लिए निम्न सेवा URL का उपयोग किया जाता है जेएमएक्स:

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 और Management API मॉनिटरिंग पोर्ट देखें.

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

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

मेमोरी

HeapMemoryUsage

NonHeapMemoryUsage

इस्तेमाल

कॉन्फ़िगरेशन फ़ाइल का रेफ़रंस

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

JMX कॉन्फ़िगरेशन को, सही कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइल में जोड़ना है

  • एज-कॉम्पोनेंट पर जेएमएक्स एजेंट चालू करें. डिफ़ॉल्ट रूप से गलत.
    conf_system_jmxremote_enable=true

पासवर्ड आधारित प्रमाणीकरण के लिए कॉन्फ़िगरेशन

  • पासवर्ड के आधार पर पुष्टि करने की सुविधा चालू करें. डिफ़ॉल्ट रूप से 'गलत'.
    conf_system_jmxremote_authenticate=true
  • फ़ाइल ऐक्सेस करने के लिए पाथ. इसका मालिकाना हक सिर्फ़ Apigee उपयोगकर्ता के पास होना चाहिए और उसे सिर्फ़ वह पढ़ सकता है.
    conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
  • पासवर्ड फ़ाइल का पाथ. यह सिर्फ़ Apigee उपयोगकर्ता के मालिकाना हक में होना चाहिए और उन्हें पढ़ने लायक होना चाहिए.
    conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
  • पासवर्ड को एन्क्रिप्ट (सुरक्षित) किए गए फ़ॉर्मैट में सेव करने की सुविधा चालू करें. डिफ़ॉल्ट रूप से गलत.
    conf_system_jmxremote_encrypted_auth=true

एसएसएल आधारित जेएमएक्स के लिए कॉन्फ़िगरेशन

  • JMX संचार के लिए SSL सक्षम करें. डिफ़ॉल्ट रूप से गलत.
    conf_system_jmxremote_ssl=true
  • कीस्टोर का पाथ. यह सिर्फ़ Apigee उपयोगकर्ता के मालिकाना हक में होना चाहिए और उन्हें पढ़ने लायक होना चाहिए.
    conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
  • कीस्टोर पासवर्ड:
    conf_system_javax_net_ssl_keystorepassword=changeme

वैकल्पिक जेएमएक्स कॉन्फ़िगरेशन

सूची में दी गई वैल्यू, डिफ़ॉल्ट वैल्यू हैं और इन्हें बदला जा सकता है.

  • जेएमएक्स पोर्ट. डिफ़ॉल्ट वैल्यू, नीचे दी गई टेबल में मौजूद हैं.
    conf_system_jmxremote_port=
  • JMX RMI पोर्ट. डिफ़ॉल्ट रूप से, Java प्रोसेस एक रैंडम पोर्ट चुनेगी.
    conf_system_jmxremote_rmi_port=
  • रिमोट स्टब के होस्ट का नाम. लोकल होस्ट का डिफ़ॉल्ट आईपी पता.
    conf_system_java_rmi_server_hostname=
  • एसएसएल की मदद से जेएमएक्स रजिस्ट्री को सुरक्षित रखें. डिफ़ॉल्ट रूप से गलत है. यह सिर्फ़ तब लागू होता है, जब एसएसएल चालू हो.
    conf_system_jmxremote_registry_ssl=false

Management API की मदद से मॉनिटर करें

Edge में कई एपीआई शामिल हैं. इनका इस्तेमाल करके, अपने सर्वर और सर्वर पर सेवा की जांच की जा सकती है अपने उपयोगकर्ताओं, संगठनों, और डिप्लॉयमेंट को देखें. इस सेक्शन में, इन एपीआई के बारे में बताया गया है.

सेवा की जांच करना

Management API, आपको अपनी समस्याओं की निगरानी और उनका पता लगाने के लिए कई एंडपॉइंट देता है सेवाओं. इन एंडपॉइंट में ये शामिल हैं:

एंडपॉइंट ब्यौरा
/servers/self/up

यह देखने के लिए जांचता है कि कोई सेवा चल रही है या नहीं. इस एपीआई कॉल के लिए आपको पुष्टि करें.

अगर सेवा चल रही है, तो यह एंडपॉइंट यह रिस्पॉन्स दिखाता है:

<ServerField>
  <Up>true</Up>
</ServerField>

अगर सेवा नहीं चल रही है, तो आपको नीचे दिए गए जवाब जैसा कुछ मिलेगा (इस आधार पर कि वह कौनसी सेवा है और आपने उसे कैसे चेक किया है):

curl: Failed connect to localhost:port_number; Connection refused
/servers/self

सेवा के बारे में जानकारी देता है. इसमें ये चीज़ें शामिल होती हैं:

  • कॉन्फ़िगरेशन प्रॉपर्टी
  • शुरू होने का समय और चालू होने का समय
  • बिल्ड, आरपीएम, और यूयूआईडी की जानकारी
  • इंटरनल और एक्सटर्नल होस्टनेम और आईपी पता
  • क्षेत्र और पॉड
  • <isUp> प्रॉपर्टी, जिससे पता चलता है कि सेवा चालू है या नहीं

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

रिस्पॉन्स का फ़ॉर्मैट बदलने के लिए, Accept हेडर को इस तौर पर तय करें &quot;application/json&quot; या "application/xml" का इस्तेमाल करें.

इस उदाहरण में, localhost (पोर्ट 8081) पर राऊटर का स्टेटस देखा जा रहा है:

curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"

नीचे दिए गए उदाहरण में 216.3.128.12 (पोर्ट) पर मैसेज प्रोसेसर के बारे में जानकारी मिलती है 8082):

curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password
  -H "Accept: application/xml"

उपयोगकर्ता, संगठन, और डिप्लॉयमेंट की स्थिति पर नज़र रखना

आप Management API का इस्तेमाल करके अपने ये निर्देश जारी करके, मैनेजमेंट सर्वर और मैसेज प्रोसेसर पर प्रॉक्सी करते हैं:

curl http://host:port_number/v1/users -u sysAdminEmail:password
curl 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 है प्रोसेसर.

इस कॉल के लिए आपको अपने सिस्टम व्यवस्थापक उपयोगकर्ता नाम और पासवर्ड डालें.

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

  1. किसी भी तरह की गड़बड़ी के लिए सर्वर लॉग देखें. लॉग यहां मौजूद होते हैं:
    • मैनेजमेंट सर्वर: opt/apigee/var/log/edge-management-server
    • मैसेज प्रोसेसर: opt/apigee/var/log/edge-message-processor
  2. सर्वर ठीक से काम कर रहा है या नहीं, यह देखने के लिए उस पर कॉल करें.
  3. सर्वर को ईएलबी से हटाएं और उसे रीस्टार्ट करें:
    /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 की मदद से किसी सेवा की स्थिति देखने के लिए:

  1. सर्वर में लॉग इन करें और नीचे दिया गया कमांड चलाएं:
    /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
  2. अगर सेवा नहीं चल रही है, तो सेवा शुरू करें:
    /opt/apigee/apigee-service/bin/apigee-service service_name start
  3. सेवा को पुनः प्रारंभ करने के बाद, या तो apigee-service status निर्देश, जिसे आपने पहले या Management API का इस्तेमाल करके इस्तेमाल किया था इस बारे में जानकारी Management API की मदद से मॉनिटर करें में दी गई है.

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

    curl -v http://localhost:port_number/v1/servers/self/up

    जहां port_number, सेवा के लिए Management API पोर्ट है.

    इस उदाहरण में माना गया है कि आपने सर्वर में लॉग इन किया है और "localhost" का इस्तेमाल किया जा सकता है क्योंकि होस्टनेम. Management API की मदद से, कहीं से भी स्टेटस देखने के लिए, आपको आईपी पता डालना होगा सर्वर का पता और अपने एपीआई में सिस्टम एडमिन का उपयोगकर्ता नाम और पासवर्ड शामिल करें कॉल.

पोस्टग्रेस मॉनिटरिंग

Postgres में कई सुविधाएं होती हैं, जिनका इस्तेमाल करके इसके स्टेटस की जांच की जा सकती है. ये सुविधाएं देने वाली कंपनी आगे आने वाले सेक्शन में बताया गया है.

Postgres पर संगठनों और एनवायरमेंट की जानकारी देखना

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

curl -v http://postgres_IP:8084/v1/servers/self/organizations

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

आंकड़ों की स्थिति की पुष्टि करना

Postgres और Qpid Analytics सर्वर की स्थिति की पुष्टि करने के लिए, यह curl कमांड दें:

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

सिस्टम को सभी ऐनलिटिक्स सर्वर के लिए, सफलता की स्थिति दिखानी चाहिए. इसका उदाहरण नीचे दिया गया है दिखाता है:

{
  "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.

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

  1. आपको हर Postgres नोड पर check_postgres.pl स्क्रिप्ट इंस्टॉल करनी होगी.
  2. पक्का करें कि आपने perl-Time-HiRes.x86_64 इंस्टॉल किया है, जो कि एक Perl मॉड्यूल है जो हाई रिज़ॉल्यूशन वाले अलार्म, स्लीप, गेटटाइम ऑफ़ डे, और इंटरवल टाइमर को लागू करता है. उदाहरण के लिए, आपके निम्न आदेश का उपयोग करके इसे इंस्टॉल कर सकता है:
    yum install perl-Time-HiRes.x86_64
  3. CentOS 7: CentOS v7 पर check_postgres.pl का इस्तेमाल करने से पहले, perl-Data-Dumper.x86_64 आरपीएम.

check_postgres.pl आउटपुट

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

डेटाबेस की जांच करें

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

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

फिर चलाएं:

\d analytics."org.env.fact"

postgres प्रोसेस की स्थिति देखना

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

curl -v http://postgres_IP:8084/v1/servers/self/health

postgres प्रक्रिया के चालू होने पर यह निर्देश ACTIVE स्थिति दिखाता है. अगर पोस्टग्रेशन की प्रोसेस पूरी नहीं हुई है और चल नहीं रही है. इससे INACTIVE स्थिति दिखती है.

Postgres के संसाधन

Postgres सेवा की निगरानी करने के बारे में ज़्यादा जानकारी पाने के लिए, यह जानकारी देखें:

Apache Cassandra

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

Cassandra के लिए JMX ऑथेंटिकेशन की सुविधा चालू करना

आप कैसंड्रा के लिए JMX प्रमाणीकरण सक्षम कर सकते हैं. इसके बाद, आपको nodetool उपयोगिता को सभी कॉल के लिए उपयोगकर्ता नाम और पासवर्ड पास करें.

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

  1. cassandra.properties फ़ाइल बनाएं और उसमें बदलाव करें:
    1. /opt/apigee/customer/application/cassandra.properties फ़ाइल में बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो इसे बनाएं.
    2. फ़ाइल में यह जोड़ें:
      conf_cassandra_env_com.sun.management.jmxremote.authenticate=true
      conf_cassandra_env_com.sun.management.jmxremote.password.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.password
      conf_cassandra_env_com.sun.management.jmxremote.access.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.access
    3. cassandra.properties फ़ाइल सेव करें.
    4. फ़ाइल के मालिक को बदलकर apigee:apigee करें, जैसा कि नीचे दिए गए उदाहरण में बताया गया है:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties

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

  2. jmx_auth.sh बनाना और उसमें बदलाव करना:
    1. अगर यह फ़ाइल मौजूद नहीं है, तो यहां फ़ाइल बनाएं:
      /opt/apigee/customer/application/jmx_auth.sh
    2. फ़ाइल में ये प्रॉपर्टी जोड़ें:
      export CASS_JMX_USERNAME=JMX_USERNAME
      export CASS_JMX_PASSWORD=JMX_PASSWORD
    3. jmx_auth.sh फ़ाइल सेव करें.
    4. फ़ाइल का स्रोत:
      source /opt/apigee/customer/application/jmx_auth.sh
  3. jmxremote.password फ़ाइल को कॉपी करें और उसमें बदलाव करें:
    1. इस फ़ाइल को अपनी $JAVA_HOME डायरेक्ट्री से इसमें कॉपी करें /opt/apigee/customer/application/apigee-cassandra/:
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
    2. jmxremote.password फ़ाइल में बदलाव करें और अपना JMX उपयोगकर्ता नाम और पासवर्ड जोड़ें यहां दिए गए सिंटैक्स का इस्तेमाल करके:
      JMX_USERNAME JMX_PASSWORD

      जहां JMX_USERNAME और JMX_PASSWORD JMX उपयोगकर्ता नाम हैं और आपके द्वारा पहले सेट किया गया पासवर्ड.

    3. पक्का करें कि फ़ाइल का मालिकाना हक "apigee" के पास हो और फ़ाइल मोड 400 है:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
  4. jmxremote.access फ़ाइल को कॉपी करें और उसमें बदलाव करें:
    1. इस फ़ाइल को अपनी $JAVA_HOME डायरेक्ट्री से इसमें कॉपी करें /opt/apigee/customer/application/apigee-cassandra/:
      cp ${JAVA_HOME}/lib/management/jmxremote.access
      $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access
    2. jmxremote.access फ़ाइल में बदलाव करें और यह भूमिका जोड़ें:
      JMX_USERNAME readwrite
    3. पक्का करें कि फ़ाइल का मालिकाना हक "apigee" के पास हो और फ़ाइल मोड 400 है:
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
  5. कैसंड्रा पर configure चलाएं:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. कैसेंड्रा को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. इस प्रक्रिया को अन्य सभी कैसंड्रा नोड पर दोहराएं.

JMX पासवर्ड एन्क्रिप्शन की सुविधा चालू करना

JMX पासवर्ड एन्क्रिप्ट (सुरक्षित) करने की सुविधा चालू करने के लिए, ये काम करें:

  1. source/conf/casssandra-env.sh फ़ाइल खोलें.
  2. cassandra.properties फ़ाइल बनाएं और उसमें बदलाव करें:
    1. /opt/apigee/customer/application/cassandra.properties फ़ाइल में बदलाव करें. अगर आपने फ़ाइल मौजूद नहीं है, तो इसे बनाएं.
    2. फ़ाइल में यह जोड़ें:
      conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
    3. cassandra.property फ़ाइल सेव करें.
    4. फ़ाइल के मालिक को apigee:apigee में बदलें, जैसा कि नीचे दिए गए उदाहरण में बताया गया है:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  3. कमांड लाइन पर, सही पासवर्ड डालकर SHA1 हैश जनरेट करें echo -n 'Secret' | openssl dgst -sha1
  4. इसमें उपयोगकर्ता नाम के लिए पासवर्ड सेट करें $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password (इसमें बनाया गया डालें).
  5. Cassandra पर कॉन्फ़िगर करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. कैसेंड्रा को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. इस प्रक्रिया को अन्य सभी कैसंड्रा नोड पर दोहराएं.

कैसंड्रा के लिए एसएसएल के साथ जेएमएक्स चालू करें

एसएसएल के साथ जेएमएक्स को चालू करने से, जेएमएक्स आधारित कम्यूनिकेशन के लिए अतिरिक्त सुरक्षा और एन्क्रिप्शन की सुविधा मिलती है कास्सा. एसएसएल के साथ जेएमएक्स को चालू करने के लिए, आपको कैसंड्रा को एक कुंजी और एक सर्टिफ़िकेट देना होगा, ताकि एसएसएल-आधारित JMX कनेक्शन स्वीकार करें. आपको एसएसएल के लिए nodetool और ऐसे अन्य टूल भी कॉन्फ़िगर करने होंगे जो JMX के ज़रिए Cassandra से कम्यूनिकेट करते हैं.

एसएसएल की सुविधा वाला JMX, सादा टेक्स्ट और एन्क्रिप्ट (सुरक्षित) किए गए JMX पासवर्ड, दोनों के साथ काम करता है.

कैसेंड्रा के लिए SSL के साथ JMX को सक्षम करने के लिए, नीचे दी गई प्रक्रिया का उपयोग करें:

  1. JMX को चालू करें. अगर ज़रूरी हो, तो पासवर्ड को एन्क्रिप्ट (सुरक्षित) करने की सुविधा चालू करें.
  2. कैसंड्रा के लिए JMX की पुष्टि करने की सुविधा चालू करें. जैसा कि ऊपर बताया गया है. पक्का करें कि nodetool कॉन्फ़िगर किए गए कॉन्फ़िगरेशन के साथ काम कर रहा है उपयोगकर्ता नाम और पासवर्ड.
    /opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
  3. कीस्टोर और ट्रस्टस्टोर तैयार करें.

    • कीस्टोर में एक कुंजी और प्रमाणपत्र होना चाहिए, और इसका इस्तेमाल Cassandra सर्वर को कॉन्फ़िगर करने के लिए किया जाता है. अगर कीस्टोर में कई कुंजी के जोड़े हैं, तो कैसंड्रा पहले कुंजी के जोड़े का इस्तेमाल करता है पर जाएं.

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

    • Truststore में सिर्फ़ सर्टिफ़िकेट होना चाहिए और इसका इस्तेमाल क्लाइंट (apigee-service आधारित) करते हैं कमांड या nodetool) शामिल करें.

    ऊपर दी गई ज़रूरी शर्तों की पुष्टि करने के बाद:

    1. कीस्टोर फ़ाइल को /opt/apigee/customer/application/apigee-cassandra/ में रखें.
    2. यह पक्का करें कि कीस्टोर फ़ाइल को सिर्फ़ नीचे टाइप करके ही Apigee उपयोगकर्ता पढ़ सके
      chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
      chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
  4. एसएसएल के साथ JMX के लिए Cassandra को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:
    1. दर्ज करके कैसंड्रा नोड बंद करें
      apigee-service apigee-cassandra stop
    2. Cassandra में एसएसएल चालू करने के लिए, /opt/apigee/customer/application/cassandra.properties फ़ाइल खोलें और ये लाइनें जोड़ें:
      conf_cassandra_env_com.sun.management.jmxremote.ssl=true
      conf_cassandra_env_javax.net.ssl.keyStore=/opt/apigee/customer/application/apigee-cassandra/keystore.node1
      conf_cassandra_env_javax.net.ssl.keyStorePassword=keystore-password
    3. फ़ाइल के मालिक को apigee:apigee में बदलें, जैसा कि नीचे दिए गए उदाहरण में बताया गया है:
      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    4. Cassandra पर कॉन्फ़िगर करें:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
    5. कैसेंड्रा को रीस्टार्ट करें:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
    6. यह प्रक्रिया अन्य सभी कैसंड्रा नोड पर दोहराएं.
    7. दर्ज करके कैसंड्रा नोड शुरू करें
      apigee-service apigee-cassandra start
  5. apigee-service कैसेंड्रा कमांड को कॉन्फ़िगर करें. आपको apigee-service कमांड चलाते समय, कुछ एनवायरमेंट वैरिएबल सेट करने होंगे. इनमें ये भी शामिल हैं:
    apigee-service apigee-cassandra stop
    apigee-service apigee-cassandra wait_for_ready
    apigee-service apigee-cassandra ring
    apigee-service apigee-cassandra backup

    JMX पुष्टि और एसएसएल के लिए, apigee-service को कॉन्फ़िगर करने के कई विकल्प हैं. उपयोगिता और सुरक्षा के अपने तरीकों के आधार पर कोई विकल्प चुनें.

    विकल्प 1 (फ़ाइल में स्टोर किए गए एसएसएल आर्ग्युमेंट)

    इन एनवायरमेंट वैरिएबल को सेट करें:

    export CASS_JMX_USERNAME=ADMIN
    # Provide encrypted password here if you have setup JMX password encryption
    export CASS_JMX_PASSWORD=PASSWORD
    export CASS_JMX_SSL=Y

    Apigee उपयोगकर्ता की होम डायरेक्ट्री (/opt/apigee) में फ़ाइल बनाएं.

    $HOME/.cassandra/nodetool-ssl.properties

    फ़ाइल में बदलाव करके, ये लाइनें जोड़ें:

    -Djavax.net.ssl.trustStore=<path-to-truststore.node1>
    -Djavax.net.ssl.trustStorePassword=<truststore-password>
    -Dcom.sun.management.jmxremote.registry.ssl=true

    पक्का करें कि Truestore फ़ाइल को Apigee उपयोगकर्ता के पास पढ़ा जा सकता हो.

    यहां दिया गया apigee-service निर्देश चलाएं. अगर यह बिना किसी गड़बड़ी के चलता है, तो आपके कॉन्फ़िगरेशन सही हैं.

    apigee-service apigee-cassandra ring

    दूसरा विकल्प (एनवायरमेंट वैरिएबल में स्टोर किए गए एसएसएल आर्ग्युमेंट)

    इन एनवायरमेंट वैरिएबल को सेट करें:

    export CASS_JMX_USERNAME=ADMIN
    # Provide encrypted password here if you have setup JMX password encryption
    export CASS_JMX_PASSWORD=PASSWORD
    export CASS_JMX_SSL=Y
    # Ensure the truststore file is accessible by Apigee user.
    export CASS_JMX_TRUSTSTORE=<path-to-trustore.node1>
    export CASS_JMX_TRUSTSTORE_PASSWORD=<truststore-password>

    यहां दिया गया apigee-service कमांड चलाएं. अगर यह बिना किसी गड़बड़ी के चलता है, तो आपके कॉन्फ़िगरेशन सही हैं.

    apigee-service apigee-cassandra ring

    विकल्प 3 (एसएसएल के तर्क सीधे apigee-service को पास किए गए)

    नीचे दिए गए निर्देश जैसे कोई भी apigee-service निर्देश चलाएं. आपको कोई एनवायरमेंट वैरिएबल कॉन्फ़िगर करने की ज़रूरत नहीं है.

    CASS_JMX_USERNAME=ADMIN CASS_JMX_PASSWORD=PASSWORD CASS_JMX_SSL=Y CASS_JMX_TRUSTSTORE=<path-to-trustore.node1> CASS_JMX_TRUSTSTORE_PASSWORD=<trustore-password> /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
  6. नोडटूल सेट अप करें. Nodetool के लिए जेएमएक्स पैरामीटर को पास करना ज़रूरी है. इसके दो तरीके हैं आप कॉन्फ़िगरेशन के विकल्प नीचे दिए गए हैं:

    एसएसएल से जुड़े कॉन्फ़िगरेशन को nodetool पर भेजने के तरीके के हिसाब से, विकल्प अलग-अलग होते हैं. दोनों मामलों में, nodetool चलाने के लिए इस्तेमाल किए जा रहे उपयोगकर्ता के पास Truststore फ़ाइल के लिए पढ़ने की अनुमतियां होनी चाहिए. उपयोगिता और सुरक्षा के अपने तरीकों के मुताबिक सही विकल्प चुनें.

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

    कॉन्फ़िगरेशन का पहला विकल्प

    nodetool चलाने के लिए उपयोगकर्ता की होम डायरेक्ट्री में एक फ़ाइल बनाएं.

    $HOME/.cassandra/nodetool-ssl.properties

    फ़ाइल में ये लाइनें जोड़ें:

    -Djavax.net.ssl.trustStore=<path-to-truststore.node1>
    -Djavax.net.ssl.trustStorePassword=<truststore-password>
    -Dcom.sun.management.jmxremote.registry.ssl=true

    ऊपर बताए गए ट्रस्टस्टोर पाथ को कोई भी उपयोगकर्ता ऐक्सेस कर सकता है nodetool.

    --ssl विकल्प के साथ nodetool चलाएं.

    /opt/apigee/apigee-cassandra/bin/nodetool --ssl -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

    कॉन्फ़िगरेशन का दूसरा विकल्प

    nodetool को एक कमांड के तौर पर चलाएं. इसके लिए, नीचे दिए गए अतिरिक्त पैरामीटर इस्तेमाल करें.

    /opt/apigee/apigee-cassandra/bin/nodetool -Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true -Dssl.enable=true -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

एसएसएल कॉन्फ़िगरेशन को पहले जैसा करें

अगर आपको इस प्रोसेस में बताए गए एसएसएल कॉन्फ़िगरेशन वापस करने हैं ऊपर, नीचे दिए गए चरण करें:

  1. दर्ज करके apigee-cassandra रोकें
    apigee-service apigee-cassandra stop
  2. यहां से conf_cassandra-env_com.sun.management.jmxremote.ssl=true लाइन हटाएं /opt/apigee/customer/application/cassandra.properties फ़ाइल.
  3. /opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh में इन पंक्तियों पर टिप्पणी करें
    # JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=/opt/apigee/data/apigee-cassandra/keystore.node0"
    # JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=keypass"
    # JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true”
  4. यह लिखकर apigee-cassandra शुरू करें
  5. apigee-service apigee-cassandra start
  6. अगर एनवायरमेंट वैरिएबल CASS_JMX_SSL सेट किया गया है, तो उसे हटाएं.

    unset CASS_JMX_SSL
  7. देखें कि apigee-service पर आधारित निर्देश, जैसे कि ring, stop, backup वगैरह काम कर रहे हैं या नहीं.
  8. nodetool के साथ --ssl स्विच का इस्तेमाल बंद करना

कैसंड्रा के लिए JMX की पुष्टि करने की सुविधा बंद करें

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

  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 configure
  4. Cassandra को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  5. यह प्रक्रिया अन्य सभी कैसंड्रा नोड पर दोहराएं.

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

के ज़रिए ऑफ़र की गई JMX विशेषताओं (MBean) पर नज़र रखने के लिए JConsole और नीचे दिए गए सेवा यूआरएल का इस्तेमाल करें जेएमएक्स:

service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi

जहां IP_address, कैसंड्रा सर्वर का आईपी है.

कैसंड्रा जेएमएक्स के आंकड़े

जेएमएक्स एमबीएन 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 इस्तेमाल करना

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

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

  1. रिंग की सामान्य जानकारी (एकल कैसंड्रा नोड के लिए भी संभव है): "ऊपर" और "सामान्य" सभी नोड के लिए उपलब्ध है.
    nodetool [-u username -pw password] -h localhost ring

    आपको अपना उपयोगकर्ता नाम और पासवर्ड सिर्फ़ तब भेजना होगा, जब कैसंड्रा के लिए JMX की पुष्टि करने की सुविधा चालू है.

    ऊपर दिए गए निर्देश का आउटपुट इस तरह से दिखेगा:

    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

  2. नोड के बारे में सामान्य जानकारी (हर नोड पर कॉल)
    nodetool [-u username -pw password]  -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
  3. थ्रिफ़्ट सर्वर की स्थिति (क्लाइंट एपीआई दिखाना)
    nodetool [-u username -pw password] -h localhost statusthrift

    ऊपर दिए गए निर्देश का आउटपुट ऐसा दिखेगा:

    running

  4. डेटा स्ट्रीमिंग की कार्रवाइयों की स्थिति: कैसंड्रा नोड के ट्रैफ़िक पर नज़र रखें:
    nodetool [-u username -pw password] -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 उपयोगिता के बारे में जानकारी.

कैसंड्रा रिसॉर्स

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

Apache Qpid ब्रोकर-J की निगरानी करना

Qpid मैनेजमेंट कंसोल से, Qpid Broker-J की निगरानी की जा सकती है. इस सेक्शन में, कंसोल को ऐक्सेस करने और निगरानी से जुड़े बुनियादी फ़ंक्शन करने के लिए, इसका इस्तेमाल करने का तरीका बताया गया है. मैनेजमेंट कंसोल का इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, Apache Qpid के दस्तावेज़ में वेब मैनेजमेंट कंसोल देखें.

मैनेजमेंट कंसोल को ऐक्सेस करना

डिफ़ॉल्ट मैनेजमेंट कंसोल पोर्ट, 8090 है. इस डिफ़ॉल्ट पोर्ट पर कंसोल को ऐक्सेस करने के लिए, अपने वेब ब्राउज़र को इस पते पर ले जाएं:

http://QPID_NODE_IP:8090

कंसोल में लॉग इन करने के लिए, Apigee या इसमें सेट किए गए डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करें Edge कॉन्फ़िगरेशन फ़ाइल. जानकारी के लिए, यह देखें Edge कॉन्फ़िगरेशन फ़ाइल का रेफ़रंस.

सूची और मैसेज मॉनिटर करें

बाएं नेविगेशन पैनल में, Java-Broker > पर जाएं वर्चुअल होस्ट > क्यू. चुनें यूज़र इंटरफ़ेस के मुख्य हिस्से में इसकी जानकारी देखने के लिए सूची. ज़्यादा जानकारी वाले व्यू में, आपको सूची के एट्रिब्यूट और आंकड़े दिखेंगे. इनमें, डिलीवर किए गए मैसेज, सूची में जोड़े गए मैसेज, मैसेज की दरें वगैरह की जानकारी शामिल है.

लॉग फ़ाइलें देखना और डाउनलोड करना

बाएं नेविगेशन पैनल में, Java-Broker > पर जाएं ब्रोकरलॉगर > Logfile. मुख्य यूज़र इंटरफ़ेस (यूआई) की जानकारी वाले व्यू में, लॉग फ़ाइल की जानकारी देखी जा सकती है और लॉग फ़ाइलें डाउनलोड की जा सकती हैं.

Qpid management API का इस्तेमाल करना

मैनेज करने के कामों को ऑटोमेट करने और ब्रोकर को मॉनिटर करने के लिए, Apache Qpid Broker-J REST API का इस्तेमाल किया जा सकता है. विवरण के लिए, Apache Qpid ब्रोकर REST API से जुड़े दस्तावेज़.

ब्रोकर पर नज़र रखने के लिए, कमांड-लाइन टूल का भी इस्तेमाल किया जा सकता है. उदाहरण के लिए:

curl "QPID_NODE_IP":"8090"/api/latest/broker -u "USERNAME":"PASSWORD"

Qpid के लिए एसएसएल की मदद से मॉनिटरिंग की सुविधा चालू करें

निगरानी और मैनेजमेंट के लिए ज़्यादा सुरक्षा देने के लिए, Qpid के मैनेजमेंट पोर्टल और Qpid के मैनेजमेंट एपीआई पर एसएसएल चालू करें. कुंजी और प्रमाणपत्र देने के लिए नीचे दिए गए दिशा-निर्देशों का पालन करें.

Qpid फ़ाइल कीस्टोर के लिए एक विकल्प देता है, जो Apigee में चालू है. यह टाइप, JKS के कीस्टोर फ़ॉर्मैट के स्टैंडर्ड फ़ॉर्मैट को स्वीकार करता है. इसे Java और Java टूल, जैसे कि कीटूल के हिसाब से समझते हैं.

कीस्टोर की तैयारी

keytool का इस्तेमाल करने के अलावा, आपको Qpidd के क्लाइंट के इस्तेमाल के लिए सीधे तौर पर प्रमाणपत्र फ़ाइल देनी होगी.

कीस्टोर जनरेट करने के लिए, Java कीटूल दस्तावेज़ देखें.

ज़रूरी शर्तों की पुष्टि करने के बाद

  1. कीस्टोर और सर्टिफ़िकेट फ़ाइलों को /opt/apigee/customer/application/apigee-qpidd में रखें.
  2. पक्का करें कि कीस्टोर फ़ाइल को सिर्फ़ Apigee उपयोगकर्ता पढ़ सकता हो:
    chown apigee:apigee /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
      chmod 400 /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
        
      chown apigee:apigee /opt/apigee/customer/application/apigee-qpidd/qpidd-cert.pem
      chmod 400 /opt/apigee/customer/application/apigee-qpidd/qpidd-cert.pem

Qpid में एसएसएल चालू करना

एक बार में एक Qpid नोड पर, नीचे दिया गया तरीका अपनाएं:

/opt/apigee/customer/application/qpidd.properties फ़ाइल खोलें और ये लाइनें जोड़ें:

conf_qpidd_qpid_management.https.enabled=true
  conf_qpidd_qpid.keystore.storeUrl=/opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
  conf_qpidd_qpid.keystore.password=keystore-password
  conf_qpidd_qpid.keystore.certificateAlias=certificate-alias
  conf_qpidd_qpid.keystore.certificate=/opt/apigee/customer/application/apigee-qpidd/qpidd-cert.pem
  1. फ़ाइल के मालिक को apigee:apigee में बदलें:
    chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
  2. Qpidd कॉन्फ़िगर करें:
    apigee-service apigee-qpidd configure
  3. Qpidd को रीस्टार्ट करें:
    apigee-service apigee-qpidd restart
  4. weather_for_ready का इस्तेमाल करके स्थिति की जाँच करें:
    apigee-service apigee-qpidd wait_for_ready

एसएसएल कॉन्फ़िगरेशन को पहले जैसा करें

/opt/apigee/customer/application/qpidd.properties फ़ाइल से प्रॉपर्टी हटाएं या उनके बारे में टिप्पणी करें:

conf_qpidd_qpid_management.https.enabled=true
  conf_qpidd_qpid.keystore.storeUrl=/opt/apigee/customer/application/apigee-qpidd/keystore
  1. Qpidd कॉन्फ़िगर करें:
    apigee-service apigee-qpidd configure
  2. Qpidd को रीस्टार्ट करें:
    apigee-service apigee-qpidd restart
  3. weather_for_ready का इस्तेमाल करके स्थिति की जाँच करें:
    apigee-service apigee-qpidd wait_for_ready

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

ZooKeeper का स्टेटस देखें

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

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

netcat (NC) या telnet का इस्तेमाल करके पोर्ट 2181.

ZooKeeper के निर्देशों के बारे में ज़्यादा जानने के लिए, Apache ZooKeeper कमांड का रेफ़रंस देखें.

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

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

ZooKeeper पोर्ट को नीचे दिए गए निर्देश जारी करें:

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

    वापसी:

    imok
  2. सर्वर की परफ़ॉर्मेंस की सूची बनाने और कनेक्ट करने के लिए, चार अक्षरों वाला निर्देश 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
  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

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

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

    वापसी:

    {
      "emailId" : ADMIN,
      "firstName" : "admin",
      "lastName" : "admin"
    }

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