इस दस्तावेज़ में, कॉम्पोनेंट की निगरानी करने की उन तकनीकों के बारे में बताया गया है जो प्राइवेट क्लाउड के लिए Apigee Edge के ऑन-प्रिमाइस डिप्लॉयमेंट पर काम करती हैं.
खास जानकारी
Edge पर सेवाओं के बारे में जानकारी पाने के साथ-साथ, उनकी स्थिति की जांच करने के कई तरीके हैं. इस टेबल में बताया गया है कि शर्तें पूरी करने वाली हर सेवा पर किस तरह की जांच की जा सकती है:
एमजीएमटी एपीआई | |||||||
कॉम्पोनेंट | मेमोरी का इस्तेमाल [JMX*] | सेवा की जांच | उपयोगकर्ता/संगठन/ डिप्लॉयमेंट का स्टेटस | एक्सस्टेटस | डेटाबेस की जांच | apigee-service में डेटा सोर्स का स्टेटस |
apigee-monit ** |
मैनेजमेंट सर्वर | |||||||
मैसेज प्रोसेसर | |||||||
राऊटर | |||||||
क्यूपीआईडी | |||||||
पोस्टग्रिस | |||||||
ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | |
* जेएमएक्स का इस्तेमाल करने से पहले, आपको इसे चालू करना होगा, जैसा कि जेएमएक्स चालू करें में बताया गया है. ** |
पोर्ट और कॉन्फ़िगरेशन फ़ाइलों की निगरानी करना
हर कॉम्पोनेंट अलग-अलग पोर्ट पर Java मैनेजमेंट एक्सटेंशन (जेएमएक्स) और मैनेजमेंट एपीआई मॉनिटरिंग कॉल के साथ काम करता है. नीचे दी गई टेबल में, हर तरह के सर्वर के लिए 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 |
क्यूपीआईडी | 1102 | 8083 | $APIGEE_ROOT/customer/application/qpid-server.properties |
पोस्टग्रिस | 1103 | 8084 | $APIGEE_ROOT/customer/application/postgres-server.properties |
कॉम्पोनेंट को मॉनिटर करने के लिए जेएमएक्स का इस्तेमाल करना
नीचे दिए गए सेक्शन में बताया गया है कि Edge के कॉम्पोनेंट को मॉनिटर करने के लिए, JMX कैसे इस्तेमाल किया जाता है.
JMX को चालू करें
प्रमाणीकरण या SSL आधारित संचार के बिना JMX को सक्षम करने के लिए, नीचे दिए गए चरणों का पालन करें. ध्यान दें: प्रोडक्शन सिस्टम में, सुरक्षा के लिए एन्क्रिप्ट (सुरक्षित) किए गए पुष्टि और एसएसएल, दोनों चालू होने चाहिए.
- सही कॉन्फ़िगरेशन फ़ाइल में बदलाव करें (
कॉन्फ़िगरेशन फ़ाइल का रेफ़रंस देखें). अगर कॉन्फ़िगरेशन फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
conf_system_jmxremote_enable=true
- कॉन्फ़िगरेशन फ़ाइल को सेव करें और पक्का करें कि इस पर
apigee:apigee
का मालिकाना हक है. - सही Edge कॉम्पोनेंट को रीस्टार्ट करें
apigee-service edge-management-server restart
जेएमएक्स को बंद करने के लिए, conf_system_jmxremote_enable
प्रॉपर्टी को हटाएं या
इसकी वैल्यू को बदलकर false
करें. इसके बाद, ज़रूरी Edge कॉम्पोनेंट रीस्टार्ट करें.
JMX में पुष्टि करने की सुविधा
Edge for Private Cloud, पासवर्ड के आधार पर पुष्टि करने की सुविधा देता है. इसके लिए, फ़ाइलों में सेव की गई जानकारी का इस्तेमाल किया जाता है. ज़्यादा सुरक्षा के लिए, पासवर्ड को हैश के तौर पर सेव किया जा सकता है.
- 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 में एसएसएल
किसी Edge-* कॉम्पोनेंट में एसएसएल आधारित 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
एसएसएल पर आधारित जेएमएक्स सुविधा बंद करने के लिए, conf_system_jmxremote_ssl
प्रॉपर्टी हटाएं या इसकी वैल्यू को बदलकर false
करें. सही Edge कॉम्पोनेंट रीस्टार्ट करें.
Jconsole के ज़रिए निगरानी की जा रही है
jconsole के ज़रिए निगरानी करने के निर्देश, https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole में दिए गए निर्देशों जैसे ही रहेंगे.
एक लाइन जोड़ी जा सकती है कि “JMX के लिए एसएसएल की सुविधा चालू होने पर, jconsole के लिए Truststore और Truststore पासवर्ड बनाना ज़रूरी है.” रेफ़रंस: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.htmlJConsole की मदद से मॉनिटर करें
सेहत की जांच को मैनेज करने और उसे मॉनिटर करने के साथ-साथ आंकड़ों को प्रोसेस करने के लिए, JConsole (JMX के साथ काम करने वाला टूल) का इस्तेमाल करें. JConsole की मदद से, सर्वर से दिखाए गए जेएमएक्स के आंकड़ों का इस्तेमाल किया जा सकता है और उन्हें ग्राफ़िकल इंटरफ़ेस में दिखाया जा सकता है. ज़्यादा जानकारी के लिए, JConsole का इस्तेमाल करना लेख पढ़ें.
अगर JMX के लिए एसएसएल चालू है, तो आपको Truststore और Truststore पासवर्ड के साथ JConsole शुरू करना होगा. JConsole का इस्तेमाल करना लेख पढ़ें.
JConsole, जेएमएक्स के ज़रिए दिए जाने वाले जेएमएक्स एट्रिब्यूट (एमबीईएन) पर नज़र रखने के लिए नीचे दिए गए सेवा यूआरएल का इस्तेमाल करता है:
service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi
जगह:
- IP_address उस सर्वर का आईपी पता है जिसकी आपको निगरानी करनी है.
- port_number, उस सर्वर का जेएमएक्स पोर्ट नंबर है जिसकी आपको निगरानी करनी है.
उदाहरण के लिए, मैनेजमेंट सर्वर को मॉनिटर करने के लिए, यहां दिया गया कोई निर्देश दें (यह मानते हुए कि सर्वर का आईपी पता 216.3.128.12 है):
service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi
ध्यान दें कि इस उदाहरण में पोर्ट 1099 के बारे में बताया गया है, जो मैनेजमेंट सर्वर जेएमएक्स पोर्ट है. अन्य पोर्ट के लिए, JMX और Management API मॉनिटरिंग पोर्ट देखें.
नीचे दी गई टेबल में, JMX के सामान्य आंकड़े दिए गए हैं:
जेएमएक्स एमबीएन | JMX एट्रिब्यूट |
---|---|
मेमोरी |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
इस्तेमाल का तरीका |
|
कॉन्फ़िगरेशन फ़ाइल का रेफ़रंस
यहां दिए गए सेक्शन में, JMX से जुड़े कॉन्फ़िगरेशन के लिए, 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=
- जेएमएक्स आरएमआई पोर्ट. डिफ़ॉल्ट रूप से, Java प्रोसेस एक रैंडम पोर्ट चुनेगी.
conf_system_jmxremote_rmi_port=
- रिमोट स्टब के होस्ट का नाम. लोकल होस्ट का डिफ़ॉल्ट आईपी पता.
conf_system_java_rmi_server_hostname=
- एसएसएल की मदद से जेएमएक्स रजिस्ट्री को सुरक्षित रखें. डिफ़ॉल्ट रूप से गलत है. एसएसएल चालू होने पर ही लागू होता है.
conf_system_jmxremote_registry_ssl=false
Management API की मदद से मॉनिटर करें
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 पोर्ट है जिसकी आपको जांच करनी है. हर तरह के कॉम्पोनेंट के लिए, यह एक अलग पोर्ट है. उदाहरण के लिए, Management Server का Management API पोर्ट 8080 है. इस्तेमाल किए जाने वाले Management API पोर्ट नंबर की सूची के लिए, JMX और Management API मॉनिटरिंग पोर्ट देखें
रिस्पॉन्स का फ़ॉर्मैट बदलने के लिए, Accept
हेडर को
"application/json" या "application/xml" के तौर पर इस्तेमाल किया जा सकता है.
नीचे दिए गए उदाहरण में लोकलहोस्ट (पोर्ट 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:passwordcurl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password
जहां port_number, मैनेजमेंट सर्वर के लिए 8080 है या मैसेज प्रोसेसर के लिए 8082 है.
इस कॉल के लिए आपको अपने सिस्टम एडमिन उपयोगकर्ता नाम और पासवर्ड से पुष्टि करनी होगी.
सर्वर को सभी कॉल के लिए "डिप्लॉय किया गया" स्थिति देनी चाहिए. अगर ये तरीके काम नहीं करते हैं, तो ये करें:
- किसी भी तरह की गड़बड़ी के लिए सर्वर लॉग देखें. लॉग यहां दिखते हैं:
- मैनेजमेंट सर्वर:
opt/apigee/var/log/edge-management-server
- मैसेज प्रोसेसर:
opt/apigee/var/log/edge-message-processor
- मैनेजमेंट सर्वर:
- सर्वर ठीक से काम कर रहा है या नहीं, यह देखने के लिए सर्वर पर कॉल करें.
- सर्वर को ईएलबी से हटाएं और इसे रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service service_name restart
जहां service_name है:
edge-management-server
edge-message-processor
apigee-service
निर्देश की मदद से स्टेटस देखें
सेवा इस्तेमाल करने वाले सर्वर में लॉग इन करते समय, apigee-service
कमांड का इस्तेमाल करके Edge की सेवाओं की समस्या को हल किया जा सकता है.
apigee-service
के साथ काम करने वाली किसी सेवा की स्थिति देखने के लिए:
- सर्वर में लॉग इन करें और यह निर्देश चलाएं:
/opt/apigee/apigee-service/bin/apigee-service service_name status
जहां service_name, इनमें से एक है:
- मैनेजमेंट सर्वर:
edge-management-server
- मैसेज प्रोसेसर:
edge-message-processor
- पोस्टग्रेस:
edge-postgres-server
- क्यूपीआईडी:
edge-qpid-server
- राऊटर:
edge-router
उदाहरण के लिए:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
- मैनेजमेंट सर्वर:
- अगर सेवा नहीं चल रही है, तो सेवा शुरू करें:
/opt/apigee/apigee-service/bin/apigee-service service_name start
- सेवा को रीस्टार्ट करने के बाद, देखें कि यह काम कर रही है या नहीं. इसके लिए, पहले इस्तेमाल किए गए
apigee-service status
निर्देश का इस्तेमाल करें या Management API की मदद से मॉनिटर करें में दिए गए मैनेजमेंट एपीआई का इस्तेमाल करें.उदाहरण के लिए:
curl -v http://localhost:port_number/v1/servers/self/up
जहां port_number, सेवा के लिए Management API पोर्ट है.
इस उदाहरण में यह माना गया है कि आपने सर्वर में लॉग इन किया है और होस्टनेम के तौर पर "localhost" का इस्तेमाल किया जा सकता है. Management API की मदद से कहीं से भी स्टेटस देखने के लिए, आपको सर्वर का आईपी पता बताना होगा. साथ ही, अपने एपीआई कॉल में सिस्टम एडमिन का उपयोगकर्ता नाम और पासवर्ड शामिल करना होगा.
पोस्टग्रेस मॉनिटरिंग
Postgres कई सुविधाओं का इस्तेमाल करता है. इनका इस्तेमाल करके इसकी स्थिति देखी जा सकती है. इन सुविधाओं के बारे में आगे आने वाले सेक्शन में बताया गया है.
Postgres पर संगठनों और एनवायरमेंट की जानकारी देखना
यह curl
कमांड देकर, Postgres सर्वर पर संगठन और एनवायरमेंट के नाम देखे जा सकते हैं:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
सिस्टम को संगठन और एनवायरमेंट का नाम दिखाना चाहिए.
आंकड़ों की स्थिति की पुष्टि करना
यह curl
निर्देश देकर, Postgres और Qpid आंकड़ों के सर्वर के स्टेटस की पुष्टि की जा सकती है:
curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus
सिस्टम को सभी Analytics सर्वर के लिए सफलता की स्थिति दिखानी चाहिए, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
{ "environments" : [ { "components" : [ { "message" : "success at Thu Feb 28 10:27:38 CET 2013", "name" : "pg", "status" : "SUCCESS", "uuid" : "[c678d16c-7990-4a5a-ae19-a99f925fcb93]" }, { "message" : "success at Thu Feb 28 10:29:03 CET 2013", "name" : "qs", "status" : "SUCCESS", "uuid" : "[ee9f0db7-a9d3-4d21-96c5-1a15b0bf0adf]" } ], "message" : "", "name" : "prod" } ], "organization" : "acme", "status" : "SUCCESS" }
PostgreSQL डेटाबेस
इस सेक्शन में उन तकनीकों के बारे में बताया गया है जिनका इस्तेमाल, खास तौर पर Postgres डेटाबेस को मॉनिटर करने के लिए किया जा सकता है.
check_postgres.pl
स्क्रिप्ट का इस्तेमाल करें
PostgreSQL डेटाबेस को मॉनिटर करने के लिए, स्टैंडर्ड मॉनिटरिंग स्क्रिप्ट
check_postgres.pl
का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, http://bucardo.org/wiki/Check_postgres देखें.
स्क्रिप्ट चलाने से पहले:
- आपको हर Postgres नोड पर check_postgres.pl स्क्रिप्ट इंस्टॉल करना होगा.
- पक्का करें कि आपने
perl-Time-HiRes.x86_64
इंस्टॉल किया है. यह एक Perl मॉड्यूल है जो हाई रिज़ॉल्यूशन वाला अलार्म, स्लीप मोड, gettimeofday, और इंटरवल टाइमर लागू करता है. उदाहरण के लिए, इस निर्देश का इस्तेमाल करके इसे इंस्टॉल किया जा सकता है:
yum install perl-Time-HiRes.x86_64
- CentOS 7: CentOS v7 पर check_postgres.pl का इस्तेमाल करने से पहले,
perl-Data-Dumper.x86_64
आरपीएम इंस्टॉल करें.
check_postgres.pl आउटपुट
check_postgres.pl
का इस्तेमाल करने वाले एपीआई कॉल का डिफ़ॉल्ट आउटपुट, Naios के साथ काम करने वाला है. स्क्रिप्ट इंस्टॉल करने के बाद, ये जांच करें:
- डेटाबेस के साइज़ की जांच करें:
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
postgres प्रक्रिया के चालू होने पर यह निर्देश ACTIVE
स्थिति दिखाता है. अगर
Postgres की प्रोसेस चालू नहीं है और चालू नहीं है, तो यह INACTIVE
स्टेटस दिखाती है.
Postgres के संसाधन
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 प्रमाणीकरण सक्षम कर सकते हैं. ऐसा करने के बाद, आपको 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
- यह प्रक्रिया अन्य सभी कैसंड्रा नोड पर दोहराएं.
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.property फ़ाइल सेव करें.
- फ़ाइल के मालिक को 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
में उपयोगकर्ता नाम के हिसाब से पासवर्ड सेट करें (पिछले सेक्शन में बनाया गया है).- कैसेंड्रा पर कॉन्फ़िगर करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- कैसंड्रा को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- यह प्रक्रिया अन्य सभी कैसंड्रा नोड पर दोहराएं.
कैसंड्रा के लिए एसएसएल के साथ जेएमएक्स चालू करें
एसएसएल के साथ जेएमएक्स को चालू करने से, कैसंड्रा के साथ जेएमएक्स आधारित कम्यूनिकेशन के लिए ज़्यादा सुरक्षा और एन्क्रिप्शन उपलब्ध होता है. एसएसएल के साथ जेएमएक्स को चालू करने के लिए, आपको एसएसएल-आधारित जेएमएक्स कनेक्शन स्वीकार करने के लिए कैसंड्रा को एक कुंजी और सर्टिफ़िकेट देना होगा. आपको एसएसएल के लिए, nodetool (और जेएमएक्स पर कैसंड्रा के साथ इंटरैक्ट करने वाले अन्य टूल) को कॉन्फ़िगर करना होगा.
एसएसएल की सुविधा वाला JMX, सादा टेक्स्ट और एन्क्रिप्ट (सुरक्षित) किए गए JMX पासवर्ड, दोनों के साथ काम करता है.
कैसेंड्रा के लिए SSL के साथ JMX को सक्षम करने के लिए, नीचे दी गई प्रक्रिया का उपयोग करें:
- JMX को चालू करें. अगर ज़रूरी हो, तो पासवर्ड को एन्क्रिप्ट (सुरक्षित) करने की सुविधा चालू करें.
- कैसंड्रा के लिए JMX की पुष्टि करने की सुविधा चालू करें.
जैसा कि ऊपर बताया गया है. पक्का करें कि nodetool कॉन्फ़िगर किए गए उपयोगकर्ता नाम और पासवर्ड के साथ काम कर रहा है.
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
कीस्टोर और ट्रस्टस्टोर तैयार करें.
कीस्टोर में एक कुंजी और प्रमाणपत्र होना चाहिए और इसका उपयोग Cassandra सर्वर को कॉन्फ़िगर करने के लिए किया जाता है. अगर कीस्टोर में एक से ज़्यादा कुंजी के जोड़े हैं, तो एसएसएल को चालू करने के लिए, कैसंड्रा पहले कुंजी के जोड़े का इस्तेमाल करता है.
ध्यान दें कि कीस्टोर और 'की' के पासवर्ड एक ही होने चाहिए (यह डिफ़ॉल्ट रूप से तब होता है, जब कीटूल का इस्तेमाल करके कुंजी जनरेट की जाती है).
- Truststore में सिर्फ़ सर्टिफ़िकेट होना चाहिए. क्लाइंट (apigee-सेवा आधारित निर्देश या nodetool) इसका इस्तेमाल करके JMX से कनेक्ट करते हैं.
ऊपर दी गई ज़रूरी शर्तों की पुष्टि करने के बाद:
- कीस्टोर फ़ाइल को
/opt/apigee/customer/application/apigee-cassandra/
में रखें. - पक्का करें कि कीस्टोर फ़ाइल को सिर्फ़ Apigee उपयोगकर्ता पढ़ सकते हैं. इसके लिए, आपको
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
डालना होगाchmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
- यह तरीका अपनाकर, एसएसएल के साथ जेएमएक्स के लिए कैसंड्रा को कॉन्फ़िगर करें:
-
apigee-service apigee-cassandra stop
डालकर कैसंड्रा नोड को रोकें /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
- फ़ाइल के मालिक को apigee:apigee में बदलें, जैसा कि नीचे दिए गए उदाहरण में बताया गया है:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- कैसेंड्रा पर कॉन्फ़िगर करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- कैसंड्रा को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- यह प्रक्रिया अन्य सभी कैसंड्रा नोड पर दोहराएं.
-
apigee-service apigee-cassandra start
डालकर कैसंड्रा नोड शुरू करें
-
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
को कॉन्फ़िगर करने के कई विकल्प हैं. उपयोगिता और सुरक्षा के अपने तरीकों के आधार पर कोई विकल्प चुनें.- पहला विकल्प (फ़ाइल में सेव किए गए एसएसएल आर्ग्युमेंट)
- दूसरा विकल्प (एनवायरमेंट वैरिएबल में स्टोर किए गए एसएसएल आर्ग्युमेंट)
- तीसरा विकल्प (एसएसएल के तर्क सीधे
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
विकल्प 2 (एनवायरमेंट वैरिएबल में स्टोर किए गए एसएसएल आर्ग्युमेंट)
इन एनवायरमेंट वैरिएबल को सेट करें:
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 के लिए जेएमएक्स पैरामीटर को पास करना ज़रूरी है. एसएसएल की सुविधा वाले जेएमएक्स के साथ चलाने के लिए, node टूल को कॉन्फ़िगर करने के दो तरीके हैं. इनके बारे में नीचे कॉन्फ़िगरेशन के विकल्पों में बताया गया है:
एसएसएल से जुड़े कॉन्फ़िगरेशन को nodetool पर भेजने के तरीके के हिसाब से, विकल्प अलग-अलग होते हैं. दोनों ही मामलों में, nodetool चलाने वाले उपयोगकर्ता के पास Truststore फ़ाइल के लिए पढ़ने की अनुमति होनी चाहिए. उपयोगिता और सुरक्षा के अपने तरीकों के मुताबिक सही विकल्प चुनें.
nodetool पैरामीटर के बारे में ज़्यादा जानने के लिए, 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
ऊपर बताए गए Truststore पाथ को ऐसे किसी भी उपयोगकर्ता से ऐक्सेस किया जाना चाहिए जो 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
एसएसएल कॉन्फ़िगरेशन को पहले जैसा करें
अगर आपको ऊपर बताए गए तरीके में बताए गए एसएसएल कॉन्फ़िगरेशन पहले जैसे करने हैं, तो यह तरीका अपनाएं:
-
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
- कैसेंड्रा पर कॉन्फ़िगर करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- कैसंड्रा को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- यह प्रक्रिया अन्य सभी कैसंड्रा नोड पर दोहराएं.
JConsole का इस्तेमाल करें: टास्क के आंकड़ों पर नज़र रखें
JConsole और नीचे दिए गए सेवा यूआरएल का इस्तेमाल करके, जेएमएक्स के ज़रिए दिए जाने वाले जेएमएक्स एट्रिब्यूट (एमबीईएन) मॉनिटर करें:
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
जहां IP_address, कैसंड्रा सर्वर का आईपी है.
कैसंड्रा जेएमएक्स के आंकड़े
जेएमएक्स एमबीएन | JMX एट्रिब्यूट |
---|---|
कॉलमपरिवार/ऐप्लिकेशन/परिवेश कॉलमपरिवार/ऐप्लिकेशन/संगठन कॉलमFamilies/apprepo/apiप्रॉक्सी_revisions कॉलमFamilies/apprepo/apiproxies कॉलमपरिवार/ऑडिट/ऑडिट कॉलमफै़मिली/ऑडिट/ऑडिट_ref |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
क्लस्टर नोड मैनेज करने के लिए nodetool इस्तेमाल करना
nodetool उपयोगिता, Cassandra के लिए कमांड-लाइन इंटरफ़ेस है, जो
क्लस्टर नोड को मैनेज करता है. उपयोगिता को /opt/apigee/apigee-cassandra/bin
पर ढूंढा जा सकता है.
नीचे दिए गए कॉल सभी Cassandra क्लस्टर नोड पर किए जा सकते हैं:
- रिंग की सामान्य जानकारी (एक कैसंड्रा नोड के लिए भी संभव है): सभी नोड के लिए
"अप" और "सामान्य" देखें.
nodetool [-u username -pw password] -h localhost ring
आपको अपना उपयोगकर्ता नाम और पासवर्ड सिर्फ़ तब भेजना होगा, जब आपने कैसंड्रा के लिए जेएमएक्स की पुष्टि करने की सुविधा चालू की हो.
ऊपर दिए गए निर्देश का आउटपुट इस तरह से दिखेगा:
Datacenter: dc-1 ========== Address Rack Status State Load Owns Token 192.168.124.201 ra1 Up Normal 1.67 MB 33,33% 0 192.168.124.202 ra1 Up Normal 1.68 MB 33,33% 5671...5242 192.168.124.203 ra1 Up Normal 1.67 MB 33,33% 1134...0484
- नोड के बारे में सामान्य जानकारी (हर नोड के लिए कॉल)
nodetool [-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 कॉन्फ़िगरेशन फ़ाइल में सेट किए गए क्रेडेंशियल का इस्तेमाल करें. ज़्यादा जानकारी के लिए, एज कॉन्फ़िगरेशन फ़ाइल का रेफ़रंस देखें.
सूची और मैसेज मॉनिटर करें
बाएं नेविगेशन पैनल में, Java-Broker > Virtualhosts > 'सूची' पर जाएं. यूज़र इंटरफ़ेस (यूआई) के मुख्य हिस्से में किसी सूची की जानकारी देखने के लिए, उसे चुनें. ज़्यादा जानकारी वाले व्यू में, लिस्ट एट्रिब्यूट और आंकड़े देखे जा सकते हैं. इसमें डिलीवर किए गए मैसेज, लाइन में जोड़े गए मैसेज, मैसेज की दरों वगैरह की जानकारी शामिल है.
लॉग फ़ाइलें देखना और डाउनलोड करना
बाईं ओर दिए गए नेविगेशन पैनल में, Java-Broker > ब्रोकरलॉगर > लॉगफ़ाइल पर जाएं. मुख्य यूज़र इंटरफ़ेस (यूआई) की जानकारी वाले व्यू में, लॉग फ़ाइल की जानकारी देखी जा सकती है और लॉग फ़ाइलें डाउनलोड की जा सकती हैं.
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 कीटूल दस्तावेज़ देखें.
ज़रूरी शर्तों की पुष्टि करने के बाद
- कीस्टोर और सर्टिफ़िकेट फ़ाइलों को
/opt/apigee/customer/application/apigee-qpidd
में रखें. - पक्का करें कि कीस्टोर फ़ाइल को सिर्फ़ 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
- फ़ाइल के मालिक को apigee:apigee:
chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
में बदलें - Qpidd कॉन्फ़िगर करें:
apigee-service apigee-qpidd configure
- Qpidd को रीस्टार्ट करें:
apigee-service apigee-qpidd restart
- 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
- Qpidd कॉन्फ़िगर करें:
apigee-service apigee-qpidd configure
- Qpidd को रीस्टार्ट करें:
apigee-service apigee-qpidd restart
- weather_for_ ready के साथ स्टेटस देखें:
apigee-service apigee-qpidd wait_for_ready
अपाची ज़ूकीपर
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) या telnet का इस्तेमाल करके पोर्ट 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
LDAP लेवल टेस्ट
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
) देखी जा सकती हैं.