इस दस्तावेज़ में कॉम्पोनेंट की निगरानी करने की उन तकनीकों के बारे में बताया गया है जो Private Cloud के लिए Apigee Edge को कंपनी की इमारत में जाकर डिप्लॉय करते हैं.
खास जानकारी
Edge में सेवाओं के बारे में जानकारी पाने और उनकी स्थितियां देखने के कई तरीके हैं. इस टेबल में बताया गया है कि शर्तें पूरी करने वाली हर सेवा के लिए, किस तरह की जांच की जा सकती हैं:
Mgmt एपीआई | |||||||
कॉम्पोनेंट | मेमोरी का इस्तेमाल [JMX*] | सेवा की जांच | उपयोगकर्ता/संगठन/ डिप्लॉयमेंट की स्थिति | axstatus | डेटाबेस की जांच | apigee-service में डेटा सोर्स का स्टेटस |
apigee-monit ** |
मैनेजमेंट सर्वर | |||||||
मैसेज प्रोसेसर | |||||||
राऊटर | |||||||
क्यूपीआईडी | |||||||
पोस्टग्रे | |||||||
ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | |
* JMX चालू करने से पहले, आपको इसे चालू करना होगा, जैसा कि JMX चालू करें में बताया गया है. ** |
पोर्ट और कॉन्फ़िगरेशन फ़ाइलों की निगरानी करना
हर कॉम्पोनेंट, अलग-अलग पोर्ट पर Java मैनेजमेंट एक्सटेंशन (JMX) और Management API मॉनिटरिंग कॉल के साथ काम करता है. नीचे दी गई टेबल में, हर तरह के सर्वर के लिए JMX और Management API पोर्ट और कॉन्फ़िगरेशन फ़ाइल की जगहों की जानकारी दी गई है:
कॉम्पोनेंट | JMX पोर्ट | मैनेजमेंट एपीआई पोर्ट | कॉन्फ़िगरेशन फ़ाइल की जगह |
---|---|---|---|
मैनेजमेंट सर्वर | 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 |
क्यूपीआईडी | 1102 | 8083 | $APIGEE_ROOT/customer/application/qpid-server.properties |
पोस्टग्रे | 1103 | 8084 | $APIGEE_ROOT/customer/application/postgres-server.properties |
कॉम्पोनेंट मॉनिटर करने के लिए JMX का इस्तेमाल करना
नीचे दिए सेक्शन में बताया गया है कि किनारे के कॉम्पोनेंट पर नज़र रखने के लिए, JMX का इस्तेमाल कैसे किया जाता है.
JMX चालू करें
पुष्टि किए बिना या एसएसएल पर आधारित कम्यूनिकेशन के बिना, JMX चालू करने के लिए, नीचे दिया गया तरीका अपनाएं. ध्यान दें: प्रोडक्शन सिस्टम में, पुष्टि करने का एन्क्रिप्ट किया गया तरीका और एसएसएल, दोनों ही सुरक्षा के लिए चालू होने चाहिए.
- सही कॉन्फ़िगरेशन फ़ाइल में बदलाव करें (
कॉन्फ़िगरेशन फ़ाइल का रेफ़रंस देखें). अगर कॉन्फ़िगरेशन फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
conf_system_jmxremote_enable=true
- कॉन्फ़िगरेशन फ़ाइल सेव करें और पक्का करें कि इसका मालिकाना हक
apigee:apigee
के पास है. - सही Edge कॉम्पोनेंट को रीस्टार्ट करें
apigee-service edge-management-server restart
JMX को बंद करने के लिए, conf_system_jmxremote_enable
प्रॉपर्टी को हटाएं या
इसकी वैल्यू को बदलकर false
करें. इसके बाद, सही Edge कॉम्पोनेंट को रीस्टार्ट करें.
JMX में पुष्टि करना
निजी क्लाउड के लिए Edge, फ़ाइलों में सेव की गई जानकारी का इस्तेमाल करके, पासवर्ड के आधार पर पुष्टि करने की सुविधा देता है. अतिरिक्त सुरक्षा के लिए, पासवर्ड को हैश के तौर पर सेव किया जा सकता है.
- 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
का मालिकाना हक हो. - पासवर्ड का SHA256 हैश बनाएं:
echo -n '
' | openssl dgst -sha256 - JMX उपयोगकर्ता क्रेडेंशियल के साथ
jmxremote.password
फ़ाइल बनाएं:- इन फ़ाइलों को अपनी
$JAVA_HOME
डायरेक्ट्री से/opt/apigee/customer/application/<component>/
डायरेक्ट्री में कॉपी करें:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- फ़ाइल में बदलाव करें और यहां दिए गए सिंटैक्स का इस्तेमाल करके अपना JMX उपयोगकर्ता नाम और पासवर्ड जोड़ें:
USERNAME <HASH-PASSWORD>
- पक्का करें कि फ़ाइल का मालिकाना हक
apigee
के पास हो और फ़ाइल मोड का साइज़ 400 हो:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- इन फ़ाइलों को अपनी
- JMX उपयोगकर्ता की अनुमतियों की मदद से,
jmxremote.access
फ़ाइल बनाएं:- अपनी $JAVA_HOME डायरेक्ट्री से इन फ़ाइलों को
डायरेक्ट्री
/opt/apigee/customer/application/<component>/
में कॉपी करेंcp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/management-server/jmxremote.password/jmxremote.access
- फ़ाइल में बदलाव करें और अपना JMX उपयोगकर्ता नाम जोड़ें. इसके बाद, अनुमति दें (READONLY/READWRITE)
USERNAME READONLY
- पक्का करें कि फ़ाइल का मालिकाना हक
apigee
के पास हो और फ़ाइल मोड का साइज़ 400 हो:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
- अपनी $JAVA_HOME डायरेक्ट्री से इन फ़ाइलों को
डायरेक्ट्री
- सही Edge कॉम्पोनेंट को रीस्टार्ट करें:
apigee-service edge-management-server restart
JMX की पुष्टि करने की सुविधा बंद करने के लिए,
conf_system_jmxremote_authenticate
प्रॉपर्टी को हटाएं या वैल्यू को बदलकर false
करें. इसके बाद,
सही Edge कॉम्पोनेंट को रीस्टार्ट करें.
JMX में SSL
एड-* कॉम्पोनेंट में एसएसएल आधारित JMX चालू करने के लिए:
- सही कॉन्फ़िगरेशन फ़ाइल में बदलाव करें
(
कॉन्फ़िगरेशन फ़ाइल का रेफ़रंस देखें). अगर कॉन्फ़िगरेशन फ़ाइल मौजूद नहीं है, तो उसे बनाएं:
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
का मालिकाना हक हो. - सर्वर कुंजी वाला एक कीस्टोर तैयार करें और उसे ऊपर मौजूद कॉन्फ़िगरेशन
conf_system_javax_net_ssl_keystore
में दिए गए पाथ पर रखें. पक्का करें कि कीस्टोर फ़ाइल कोapigee:apigee
पढ़ सके. - सही Edge कॉम्पोनेंट को रीस्टार्ट करें:
apigee-service edge-management-server restart
एसएसएल पर आधारित JMX को बंद करने के लिए, conf_system_jmxremote_ssl
प्रॉपर्टी हटाएं
या वैल्यू को बदलकर false
करें. सही Edge कॉम्पोनेंट को रीस्टार्ट करें.
Jconsole के ज़रिए निगरानी करना
jconsole के ज़रिए निगरानी करने के निर्देश, https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole में दिए गए निर्देशों के मुताबिक ही रहेंगे.
एक लाइन में यह जोड़ा जा सकता है कि “अगर JMX के लिए एसएसएल चालू है, तो jconsole को ट्रस्टस्टोर और ट्रस्टस्टोर पासवर्ड के साथ शुरू करना होगा.” रेफ़रंस: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.htmlJConsole की मदद से मॉनिटर करें
सेहत की जांच और प्रोसेस के आंकड़ों को मैनेज और मॉनिटर करने के लिए, JConsole (JMX का अनुपालन करने वाला टूल) का इस्तेमाल करें. JConsole के साथ, आपके सर्वर से दिखाए गए JMX आंकड़ों का इस्तेमाल किया जा सकता है और उन्हें ग्राफ़िकल इंटरफ़ेस में दिखाया जा सकता है. ज़्यादा जानकारी के लिए, JConsole का इस्तेमाल करना लेख पढ़ें.
अगर JMX के लिए SSL चालू है, तो आपको ट्रस्टस्टोर और ट्रस्टस्टोर पासवर्ड के साथ JConsole शुरू करना होगा. JConsole का इस्तेमाल करना देखें.
JConsole, JMX से मिलने वाले JMX एट्रिब्यूट (एमबीएन) की निगरानी करने के लिए, नीचे दिए गए सर्विस यूआरएल का इस्तेमाल करता है:
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 एमबीएं | JMX एट्रिब्यूट |
---|---|
डिवाइस की मेमोरी |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
इस्तेमाल का तरीका |
|
कॉन्फ़िगरेशन फ़ाइल रेफ़रंस
नीचे दिए गए सेक्शन में उन बदलावों के बारे में बताया गया है जो आपको JMX से जुड़े कॉन्फ़िगरेशन के लिए, Edge कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइलों में करने पड़ सकते हैं. ज़्यादा जानकारी के लिए, पोर्ट और कॉन्फ़िगरेशन फ़ाइलों पर नज़र रखना देखें.
सही कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइल में जोड़ा जाने वाला JMX कॉन्फ़िगरेशन
- एज-कॉम्पोनेंट पर 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 के लिए कॉन्फ़िगरेशन
- JMX कम्यूनिकेशन के लिए, एसएसएल चालू करें. डिफ़ॉल्ट रूप से 'गलत' होता है.
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
JMX के वैकल्पिक कॉन्फ़िगरेशन
सूची में दी गई वैल्यू, डिफ़ॉल्ट वैल्यू हैं और इन्हें बदला जा सकता है.
- JMX पोर्ट. डिफ़ॉल्ट वैल्यू, नीचे दी गई टेबल में दी गई हैं.
conf_system_jmxremote_port=
- जेएमएक्स आरएमआई पोर्ट. डिफ़ॉल्ट रूप से, Java प्रोसेस कोई भी पोर्ट चुनेगी.
conf_system_jmxremote_rmi_port=
- रिमोट स्टब के लिए होस्ट नाम. localhost का डिफ़ॉल्ट आईपी पता.
conf_system_java_rmi_server_hostname=
- एसएसएल का इस्तेमाल करके, JMX रजिस्ट्री को सुरक्षित रखें. डिफ़ॉल्ट असत्य. यह सिर्फ़ तब लागू होता है, जब एसएसएल चालू हो.
conf_system_jmxremote_registry_ssl=false
मैनेजमेंट एपीआई से मॉनिटर करना
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 API पोर्ट है जिसकी आपको जांच करनी है. यह हर तरह के कॉम्पोनेंट के लिए एक अलग पोर्ट है. उदाहरण के लिए, मैनेजमेंट सर्वर मैनेजमेंट एपीआई पोर्ट 8080 है. इस्तेमाल किए जाने वाले मैनेजमेंट एपीआई पोर्ट नंबर की सूची के लिए, JMX और Management API मॉनिटरिंग पोर्ट देखें
रिस्पॉन्स का फ़ॉर्मैट बदलने के लिए, Accept
हेडर को
"ऐप्लिकेशन/json" या "ऐप्लिकेशन/xml" के तौर पर बताया जा सकता है.
नीचे दिए गए उदाहरण में, localhost (पोर्ट 8081) पर राऊटर का स्टेटस बताया गया है:
curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"
नीचे दिए गए उदाहरण में, Message प्रोसेसर के बारे में जानकारी पाने के लिए, 216.3.128.12 (पोर्ट 8082) का इस्तेमाल किया गया है:
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
कमांड की मदद से स्टेटस देखें
Edge की सेवाओं से जुड़ी समस्याएं हल करने के लिए, apigee-service
कमांड का इस्तेमाल करें. ऐसा तब किया जा सकता है, जब आपने सेवा चलाने वाले सर्वर में लॉग इन किया हो.
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
निर्देश का इस्तेमाल करें या Management API की मदद से निगरानी करें में बताए गए 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 Analytics सर्वर के स्टेटस की पुष्टि की जा सकती है:
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
अपाचे कासांद्रा
कैसांद्रा के लिए JMX डिफ़ॉल्ट रूप से चालू है. वहीं, कैसेंद्रा के लिए रिमोट JMX ऐक्सेस करने के लिए पासवर्ड की ज़रूरत नहीं होती.
कैसेंड्रा के लिए JMX की पुष्टि करने की सुविधा चालू करें
कैसंड्रा के लिए, JMX की पुष्टि करने की सुविधा चालू की जा सकती है. ऐसा करने के बाद, आपको nodetool दोनों की मदद के लिए सभी कॉल के लिए, उपयोगकर्ता नाम और पासवर्ड भेजना होगा.
कैसांद्रा के लिए JMX की पुष्टि करने की सुविधा चालू करने के लिए:
cassandra.properties
फ़ाइल बनाएं और उसमें बदलाव करें:/opt/apigee/customer/application/cassandra.properties
फ़ाइल में बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो इसे बनाएं.- इन चीज़ों को फ़ाइल में जोड़ें:
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
cassandra.properties
फ़ाइल सेव करें.- फ़ाइल का मालिकाना हक बदलकर
apigee:apigee
करें, जैसा कि नीचे दिए गए उदाहरण में बताया गया है:chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
टोकन सेट करने के लिए प्रॉपर्टी फ़ाइलों का इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, Edge को कॉन्फ़िगर करने का तरीका देखें.
jmx_auth.sh
बनाएं और उसमें बदलाव करें:- अगर फ़ाइल मौजूद नहीं है, तो यहां बताई गई जगह पर फ़ाइल बनाएं:
/opt/apigee/customer/application/jmx_auth.sh
- फ़ाइल में ये प्रॉपर्टी जोड़ें:
export CASS_JMX_USERNAME=JMX_USERNAME export CASS_JMX_PASSWORD=JMX_PASSWORD
jmx_auth.sh
फ़ाइल सेव करें.- फ़ाइल को सोर्स करें:
source /opt/apigee/customer/application/jmx_auth.sh
- अगर फ़ाइल मौजूद नहीं है, तो यहां बताई गई जगह पर फ़ाइल बनाएं:
jmxremote.password
फ़ाइल को कॉपी करना और उसमें बदलाव करना:- इस फ़ाइल को अपनी
$JAVA_HOME
डायरेक्ट्री से/opt/apigee/customer/application/apigee-cassandra/
में कॉपी करें:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
jmxremote.password
फ़ाइल में बदलाव करें और यहां दिए गए सिंटैक्स का इस्तेमाल करके अपना JMX उपयोगकर्ता नाम और पासवर्ड जोड़ें:JMX_USERNAME JMX_PASSWORD
जहां JMX_USERNAME और JMX_PASSWORD वह JMX उपयोगकर्ता नाम और पासवर्ड है जिसे आपने पहले सेट किया था.
- पक्का करें कि फ़ाइल का मालिकाना हक "apigee" के पास हो और फ़ाइल मोड 400 हो:
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
- इस फ़ाइल को अपनी
jmxremote.access
फ़ाइल को कॉपी करना और उसमें बदलाव करना:- इस फ़ाइल को अपनी
$JAVA_HOME
डायरेक्ट्री से/opt/apigee/customer/application/apigee-cassandra/
में कॉपी करें:cp ${JAVA_HOME}/lib/management/jmxremote.access
$APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access
jmxremote.access
फ़ाइल में बदलाव करके यह भूमिका जोड़ें:JMX_USERNAME readwrite
- पक्का करें कि फ़ाइल का मालिकाना हक "apigee" के पास हो और फ़ाइल मोड 400 हो:
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
- इस फ़ाइल को अपनी
configure
को कैसंड्रा पर चलाएं:/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- कैसंड्रा को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- यह प्रोसेस अन्य सभी Cassandra नोड पर दोहराएं.
JMX पासवर्ड एन्क्रिप्ट (सुरक्षित) करने की सुविधा चालू करें
JMX पासवर्ड एन्क्रिप्शन चालू करने के लिए, नीचे दिया गया तरीका अपनाएं:
source/conf/casssandra-env.sh
फ़ाइल खोलें.cassandra.properties
फ़ाइल बनाएं और उसमें बदलाव करें:/opt/apigee/customer/application/cassandra.properties
फ़ाइल में बदलाव करें. अगर फ़ाइल मौजूद नहीं है, तो इसे बनाएं.- इन चीज़ों को फ़ाइल में जोड़ें:
conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
- cassandra.properties फ़ाइल सेव करें.
- फ़ाइल के मालिक को बदलकर apigee:apigee कर दें, जैसा कि नीचे दिया गया उदाहरण दिखाता है:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- कमांड लाइन पर,
echo -n 'Secret' | openssl dgst -sha1
डालकर अपनी पसंद के पासवर्ड का SHA1 हैश जनरेट करें $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
(पिछले सेक्शन में बनाया गया) के उपयोगकर्ता नाम के लिए पासवर्ड सेट करें.- Cassandra पर कॉन्फ़िगर करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- कैसंड्रा को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- यह प्रोसेस अन्य सभी Cassandra नोड पर दोहराएं.
कैसंड्रा के लिए एसएसएल के साथ JMX चालू करें
एसएसएल के साथ JMX चालू करने से, कैसांद्रा के साथ JMX-आधारित कम्यूनिकेशन के लिए, अतिरिक्त सुरक्षा और एन्क्रिप्शन मिलता है. एसएसएल के साथ JMX चालू करने के लिए, आपको कैसांद्रा को एक कुंजी और सर्टिफ़िकेट देना होगा. ऐसा करने पर, एसएसएल-आधारित JMX कनेक्शन स्वीकार किए जा सकेंगे. आपको SSL के लिए nodetool (और JMX पर कैसांद्र के साथ कम्यूनिकेट करने वाले किसी भी दूसरे टूल) को कॉन्फ़िगर करने की ज़रूरत है.
एसएसएल की सुविधा वाले JMX, सादे टेक्स्ट और एन्क्रिप्ट (सुरक्षित) किए गए JMX पासवर्ड, दोनों के साथ काम करता है.
कैसंड्रा के लिए एसएसएल के साथ JMX चालू करने के लिए, नीचे दी गई प्रोसेस अपनाएं:
- JMX चालू करें. अगर ज़रूरी हो, तो पासवर्ड एन्क्रिप्ट (सुरक्षित) करने की सुविधा चालू करें.
- कैसांड्रा के लिए JMX पुष्टि करने की सुविधा चालू करें.
जैसा कि ऊपर बताया गया है. पक्का करें कि nodetool कॉन्फ़िगर किए गए उपयोगकर्ता नाम और पासवर्ड
के साथ काम कर रहा है.
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
कीस्टोर और ट्रस्टस्टोर तैयार करें.
कीस्टोर में एक कुंजी और सर्टिफ़िकेट होना चाहिए. इसका इस्तेमाल Cassandra सर्वर को कॉन्फ़िगर करने के लिए किया जाता है. अगर कीस्टोर में एक से ज़्यादा कुंजी के जोड़े शामिल हैं, तो एसएसएल चालू करने के लिए Cassandra पहली कुंजी के जोड़े का इस्तेमाल करता है.
ध्यान दें कि कीस्टोर और कुंजी के लिए पासवर्ड एक ही होने चाहिए (डिफ़ॉल्ट तौर पर, जब कीटूल का इस्तेमाल करके कुंजी जनरेट की जाती है).
- Truststore में सिर्फ़ सर्टिफ़िकेट होना चाहिए. इसे JMX पर कनेक्ट करने के लिए क्लाइंट (apigee-सेवा पर आधारित निर्देश या nodetool) इस्तेमाल किए जाते हैं.
ऊपर दी गई ज़रूरी शर्तों की पुष्टि करने के बाद:
- कीस्टोर फ़ाइल को
/opt/apigee/customer/application/apigee-cassandra/
में रखें. -
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
डालकर यह पक्का करें कि कीस्टोर फ़ाइल को सिर्फ़ Apigee उपयोगकर्ता पढ़ सकता हैchmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
- यह तरीका अपनाकर, एसएसएल के साथ JMX के लिए कैसांद्रा को कॉन्फ़िगर करें:
-
apigee-service apigee-cassandra stop
डालकर कैसांद्र नोड को बंद करें /opt/apigee/customer/application/cassandra.properties
फ़ाइल खोलकर और ये लाइनें जोड़कर, Cassandra में एसएसएल चालू करें: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
- फ़ाइल के मालिक को बदलकर apigee:apigee कर दें, जैसा कि नीचे दिया गया उदाहरण दिखाता है:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- Cassandra पर कॉन्फ़िगर करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- कैसंड्रा को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- यह प्रोसेस अन्य सभी Cassandra नोड पर दोहराएं.
-
apigee-service apigee-cassandra start
डालकर कैसांद्रा नोड शुरू करें
-
apigee-service
Cassandra कमांड कॉन्फ़िगर करें.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
को कॉन्फ़िगर करने के कई विकल्प हैं. उपयोगिता और सुरक्षा के अपने तरीकों के आधार पर कोई विकल्प चुनें.- पहला विकल्प (फ़ाइल में सेव किए गए एसएसएल आर्ग्युमेंट के मामले)
- दूसरा विकल्प (एनवायरमेंट वैरिएबल में स्टोर किए गए एसएसएल आर्ग्युमेंट के)
- तीसरा विकल्प (एसएसएल आर्ग्युमेंट
apigee-service
को सीधे भेजे गए)
विकल्प 1 (फ़ाइल में संग्रहित SSL तर्क)
इन एनवायरमेंट वैरिएबल को सेट करें:
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
पक्का करें कि भरोसेमंद फ़ाइल को Apigee का उपयोगकर्ता पढ़ सकता है.
नीचे दिए गए
apigee-service
निर्देश को चलाएं. अगर यह बिना किसी गड़बड़ी के चलता है, तो आपके कॉन्फ़िगरेशन सही हैं.apigee-service apigee-cassandra ring
विकल्प 2 (एनवायरमेंट वैरिएबल में स्टोर किए गए SSL तर्क)
इन एनवायरमेंट वैरिएबल को सेट करें:
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
nodetool सेट अप करें. Nodetool के लिए JMX पैरामीटर पास किए जाने चाहिए. नीचे दिए गए कॉन्फ़िगरेशन विकल्पों में बताए गए दो तरीके से नोडटूल को एसएसएल की सुविधा वाले JMX पर चलाने के लिए कॉन्फ़िगर किया जा सकता है:
एसएसएल से जुड़े कॉन्फ़िगरेशन जिस तरह से nodetool को भेजे जाते हैं, विकल्प उनमें अलग-अलग होते हैं. दोनों मामलों में, nodetool चलाने वाले उपयोगकर्ता के पास Trustedstore फ़ाइल पर READ की अनुमति होनी चाहिए. उपयोगिता और सुरक्षा के अपने तरीकों के आधार पर सही विकल्प चुनें.
nodetool पैरामीटर के बारे में ज़्यादा जानने के लिए, DataStax दस्तावेज़ देखें.
कॉन्फ़िगरेशन विकल्प 1
नोडटूल चलाने वाले उपयोगकर्ता की होम डायरेक्ट्री में कोई फ़ाइल बनाएं.
$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 चला रहा हो.
nodetool
को--ssl
विकल्प के साथ चलाएं./opt/apigee/apigee-cassandra/bin/nodetool --ssl -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring
कॉन्फ़िगरेशन विकल्प 2
नीचे दिए गए अन्य पैरामीटर के साथ,
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
एसएसएल कॉन्फ़िगरेशन को पहले जैसा करें
अगर आपको ऊपर बताई गई प्रोसेस में बताए गए एसएसएल कॉन्फ़िगरेशन को वापस लाना है, तो ये काम करें:
-
apigee-service apigee-cassandra stop
डालकरapigee-cassandra
रोकें /opt/apigee/customer/application/cassandra.properties
फ़ाइल सेconf_cassandra-env_com.sun.management.jmxremote.ssl=true
लाइन हटाएं./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”
में, इन लाइनों पर टिप्पणी करेंapigee-cassandra
को शुरू करने के लिए, यह डालें- अगर एनवायरमेंट वैरिएबल
CASS_JMX_SSL
सेट किया गया है, तो उसे हटाएं.unset CASS_JMX_SSL
- देख लें कि
apigee-service
पर आधारित निर्देश, जैसे किring
,stop
,backup
वगैरह काम कर रहे हैं या नहीं. - nodetool वाले
--ssl
स्विच का इस्तेमाल करना बंद करें
apigee-service apigee-cassandra start
कैसंड्रा के लिए JMX पुष्टि करने की सुविधा बंद करें
कैसांद्रा के लिए JMX की पुष्टि करने की सुविधा बंद करने के लिए:
/opt/apigee/customer/application/cassandra.properties
में बदलाव करें.- फ़ाइल से यह लाइन हटाएं:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
- Cassandra पर कॉन्फ़िगर करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- कैसंड्रा को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- यह प्रोसेस अन्य सभी Cassandra नोड पर दोहराएं.
JConsole का इस्तेमाल करें: टास्क के आंकड़ों पर नज़र रखें
JMX से मिलने वाले JMX एट्रिब्यूट (एमबीएन) पर नज़र रखने के लिए, JConsole और इस सेवा के यूआरएल का इस्तेमाल करें:
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
जहां IP_address, Cassandra सर्वर का आईपी है.
कैसंड्रा जेएमएक्स के आंकड़े
JMX एमबीएं | JMX एट्रिब्यूट |
---|---|
कॉलमपरिवार/ऐप्लिकेशन/एनवायरमेंट कॉलमपरिवार/ऐप्लिकेशन/संगठन ColumnFamilies/apprepo/apiप्रॉक्सी_revisions कॉलम Families/apprepo/apiproxies कॉलमपरिवार/ऑडिट/ऑडिट ColumnFamilies/ऑडिट/ऑडिट_ref |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
क्लस्टर नोड मैनेज करने के लिए nodetool का इस्तेमाल करें
nodetool यूटिलिटी, कैसांद्रा के लिए एक कमांड लाइन इंटरफ़ेस है. यह
क्लस्टर नोड को मैनेज करता है. यह उपयोगिता /opt/apigee/apigee-cassandra/bin
पर मिल सकती है.
सभी Cassandra क्लस्टर नोड पर ये कॉल किए जा सकते हैं:
- रिंगटोन के बारे में सामान्य जानकारी (एक कैसांद्रा नोड के लिए भी यह सुविधा उपलब्ध है): सभी नोड के लिए
"ऊपर" और "सामान्य" खोजें.
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
- नोड के बारे में सामान्य जानकारी (हर नोड पर कॉल करें)
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
- थ्रिफ़्ट सर्वर की स्थिति (सेवा देने वाला क्लाइंट एपीआई)
nodetool [-u username -pw password] -h localhost statusthrift
ऊपर दिए गए निर्देश का आउटपुट ऐसा दिखता है:
running
- डेटा स्ट्रीमिंग की कार्रवाइयों का स्टेटस: कैसंड्रा नोड के लिए ट्रैफ़िक पर नज़र रखें:
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 > ब्रोकरलॉगर > लॉगफ़ाइल पर जाएं. यूज़र इंटरफ़ेस (यूआई) की ज़्यादा जानकारी वाले मुख्य व्यू में, लॉग फ़ाइल की जानकारी देखी जा सकती है और लॉग फ़ाइलें डाउनलोड की जा सकती हैं.
Qpid मैनेजमेंट एपीआई का इस्तेमाल करना
मैनेजमेंट के टास्क को ऑटोमेट करने और ब्रोकर की निगरानी करने के लिए, Apache Qpid Broker-J REST API का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, Apache Qpid ब्रोकर REST API का दस्तावेज़ देखें.
ब्रोकर पर नज़र रखने के लिए, कमांड-लाइन टूल का भी इस्तेमाल किया जा सकता है. उदाहरण के लिए:
curl "QPID_NODE_IP":"8090"/api/latest/broker -u "USERNAME":"PASSWORD"
अपाचे ज़ूकीपर
ZooKeeper का स्टेटस देखें
- पक्का करें कि ZooKeeper की प्रोसेस चल रही है. ZooKeeper
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
पर एक पीआईडी फ़ाइल लिखता है. - ZooKeeper के पोर्ट टेस्ट करें, ताकि यह पक्का किया जा सके कि आप हर ZooKeeper सर्वर पर 2181 और 3888 पोर्ट करने के लिए टीसीपी कनेक्शन बना सकते हैं.
- पक्का करें कि आप ZooKeeper के डेटाबेस की वैल्यू पढ़ सकते हैं. ZooKeeper की क्लाइंट लाइब्रेरी (या
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
) का इस्तेमाल करके कनेक्ट करें और डेटाबेस से कोई वैल्यू पढ़ें. - स्टेटस देखें:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
ZooKeeper के चार अक्षर वाले शब्द इस्तेमाल करें
ZooKeeper को छोटे-छोटे कमांड (चार अक्षर वाले शब्द) से मॉनिटर किया जा सकता है, जो netcat (nc) या टेलनेट का इस्तेमाल करके पोर्ट 2181 पर भेजे जाते हैं.
ZooKeeper के निर्देशों के बारे में ज़्यादा जानने के लिए, यह देखें: Apache ZooKeeper कमांड रेफ़रंस.
उदाहरण के लिए:
srvr
: सर्वर के लिए पूरी जानकारी लिस्ट करता है.stat
: यह सर्वर और कनेक्ट किए गए क्लाइंट के बारे में, कम शब्दों में जानकारी की सूची बनाता है.
ZooKeeper पोर्ट पर ये निर्देश दिए जा सकते हैं:
- यह जांचने के लिए कि सर्वर बिना गड़बड़ी वाली स्थिति में चल रहा है या नहीं, चार अक्षर वाला कमांड 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
) देखी जा सकती हैं.