इस दस्तावेज़ में उन कॉम्पोनेंट की निगरानी करने की तकनीकों के बारे में बताया गया है जो कंपनी की इमारत में काम करते हैं Apigee Edge का डिप्लॉयमेंट.
खास जानकारी
Edge, सेवाओं के बारे में जानकारी पाने और उनकी जांच करने के कई तरीके उपलब्ध कराता है स्थितियां. नीचे दी गई टेबल में उन जांचों की सूची दी गई है जो ज़रूरी शर्तें पूरी करने वाले हर मामले में की जा सकती हैं सेवा:
एमजीएमटी एपीआई | |||||||
सेवा | मेमोरी का इस्तेमाल [JMX*] | सेवा की जांच | उपयोगकर्ता/संगठन/ डिप्लॉयमेंट का स्टेटस | एक्सस्टेटस | डेटाबेस की जांच | apigee-service में डेटा सोर्स का स्टेटस |
apigee-monit ** |
मैनेजमेंट सर्वर | |||||||
मैसेज प्रोसेसर | |||||||
Postgres | |||||||
Qpid | |||||||
राऊटर | |||||||
ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | ज़्यादा जानकारी | |
* JMX का इस्तेमाल करने से पहले, आपको इसे इस तरह चालू करना होगा: इस बारे में जेएमएक्स चालू करें में बताया गया है. ** |
JMX और Management API मॉनिटरिंग पोर्ट
हर कॉम्पोनेंट अलग-अलग पोर्ट पर JMX और Management API मॉनिटरिंग कॉल के साथ काम करता है. कॉन्टेंट बनाने नीचे दी गई टेबल में, हर तरह के सर्वर के JMX और Management API पोर्ट दिए गए हैं:
कॉम्पोनेंट | JMX पोर्ट | Management API पोर्ट |
---|---|---|
मैनेजमेंट सर्वर | 1099 | 8080 |
राऊटर | 1100 | 8081 |
मैसेज प्रोसेसर | 1101 | 8082 |
Qpid | 1102 | 8083 |
Postgres | 1103 | 8084 |
मॉनिटर करने के लिए JMX का इस्तेमाल करें
मैनेजमेंट सर्वर, मैसेज प्रोसेसर, Qpid, और Postgres की मॉनिटरिंग की प्रोसेस JMX का इस्तेमाल करते हैं. हालांकि, JMX सिर्फ़ कैसेंड्रा के लिए डिफ़ॉल्ट रूप से चालू है और सभी के लिए डिफ़ॉल्ट रूप से बंद है अन्य Edge कॉम्पोनेंट शामिल होते हैं. इसलिए, पहले हर कॉम्पोनेंट के लिए अलग-अलग जेएमएक्स चालू करें निगरानी कर सकती है.
JMX की पुष्टि करने की सुविधा, डिफ़ॉल्ट रूप से चालू नहीं होती है. आप सभी के लिए JMX प्रमाणीकरण सक्षम कर सकते हैं कॉम्पोनेंट. कैसेंड्रा के लिए, इसके निर्देशों का इस्तेमाल करें कैसंड्रा के लिए JMX की पुष्टि करने की सुविधा चालू करें.
JMX को चालू करें
JMX सिर्फ़ कैसेंड्रा के लिए डिफ़ॉल्ट रूप से चालू है और बाकी सभी Edge के लिए डिफ़ॉल्ट रूप से बंद है कॉम्पोनेंट. इस सेक्शन में बताया गया है कि दूसरे Edge कॉम्पोनेंट के लिए JMX कैसे चालू किया जाता है.
JMX को चालू करने के लिए:
- कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइल में बदलाव करें. यह फ़ाइल यहां स्थित है
opt/apigee/edge-component_name/bin/start
. प्रोडक्शन में ये कॉन्फ़िगरेशन फ़ाइलें अलग-अलग मशीनों पर होंगी.हर सर्वर पर, नीचे दी गई फ़ाइल की जगहों में से चुनें:
- मैनेजमेंट सर्वर:
/opt/apigee/edge-management-server/bin/start
- मैसेज प्रोसेसर:
/opt/apigee/edge-message-processor/bin/start
- पोस्टग्रेस:
/opt/apigee/edge-postgres-server/bin/start
- क्यूपीआईडी:
/opt/apigee/edge-qpid-server/bin/start
- राऊटर:
/opt/apigee/edge-router/bin/start
उदाहरण के लिए, इसके सर्वर पर प्रबंधन सर्वर की कॉन्फ़िगरेशन फ़ाइल
/opt/apigee/edge-management-server/bin/start
. - मैनेजमेंट सर्वर:
exec
में येcom.sun.management.jmxremote
विकल्प जोड़ें कॉम्पोनेंट को शुरू करने वाली लाइन:-Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=port_number \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false
जहां port_number, सेवा के लिए JMX पोर्ट है. अपनी सेवा के JMX को पाने के लिए पोर्ट नंबर के लिए, JMX और Management API मॉनिटरिंग पोर्ट देखें.
उदाहरण के लिए, मैनेजमेंट सर्वर पर JMX को चालू करने के लिए, मैनेजमेंट में इन्हें जोड़ें सर्वर की कॉन्फ़िगरेशन फ़ाइल:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts \ -Djava.security.auth.login.config=$conf_path/jaas.config \ -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path \ -Ddata.dir=$data_dir \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=1099 \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ $* $debug_options com.apigee.kernel.MicroKernel
यह उदाहरण, मैनेजमेंट सर्वर के लिए पोर्ट 1099 के बारे में बताता है. जैसा कि पहले बताया गया है, हर एक सेवा का अपना पोर्ट नंबर है.
कॉन्फ़िगरेशन फ़ाइल में बदलाव की गई लाइन कुछ इस तरह दिखती है:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts -Djava.security.auth.login.config=$conf_path/jaas.config -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false $* $debug_options com.apigee.kernel.MicroKernel
- कॉन्फ़िगरेशन फ़ाइल सेव करें.
restart
निर्देश की मदद से कॉम्पोनेंट को रीस्टार्ट करें.उदाहरण के लिए, Management Server को रीस्टार्ट करने के लिए, नीचे दिया गया कमांड रन करें:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
JMX के लिए पुष्टि करने की सुविधा, डिफ़ॉल्ट रूप से चालू नहीं होती है. आप सभी के लिए JMX प्रमाणीकरण सक्षम कर सकते हैं कॉम्पोनेंट, जैसा कि JMX की पुष्टि करने की सुविधा चालू करें में बताया गया है. JMX को चालू करने के लिए कैसेंड्रा के लिए प्रमाणीकरण, देखें कैसंड्रा के लिए JMX की पुष्टि करने की सुविधा चालू करें.
JMX की पुष्टि करने की सुविधा चालू करें
JMX की पुष्टि करने की सुविधा, डिफ़ॉल्ट रूप से चालू नहीं होती है. आप सभी के लिए JMX प्रमाणीकरण सक्षम कर सकते हैं कॉम्पोनेंट. कैसेंड्रा के लिए, इसके निर्देशों का इस्तेमाल करें कैसंड्रा के लिए JMX की पुष्टि करने की सुविधा चालू करें
JMX की पुष्टि करने की सुविधा चालू करने के लिए, नीचे दी गई change_jmx_auth
कार्रवाई करें
नोड:
/opt/apigee/apigee-service/bin/apigee-service component_name change_jmx_auth [options|-f config_file]
कहां:
- component इनमें से एक है:
edge-management-server
edge-message-processor
edge-postgres-server
edge-qpid-server
edge-router
- options नीचे दी गई चीज़ों के बारे में बताता है:
-u username
-p password
-e [y|n]
(चालू या बंद करें)
- config_file उस कॉन्फ़िगरेशन फ़ाइल की जगह के बारे में बताता है जिसमें आप तय करते हैं
निम्न:
JMX_USERNAME=username
JMX_ENABLED=y|n
JMX_PASSWORD=password
(अगर सेट नहीं किया गया है या इसके साथ पास नहीं किया गया है-p
, आपसे पूछा जाएगा)
उपयोगकर्ता नाम तय करने के लिए, कमांड-लाइन वाले विकल्पों या कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल किया जा सकता है, पासवर्ड और स्थिति को चालू/बंद करें. आप विकल्पों का सेट और कॉन्फ़िगरेशन, दोनों तय नहीं करते फ़ाइल से लिए जाते हैं.
नीचे दिए गए उदाहरण में, निर्देश का इस्तेमाल करके मैनेजमेंट सर्वर के लिए जेएमएक्स की पुष्टि करने की सुविधा चालू की गई है पंक्ति विकल्प:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y
इस उदाहरण में कमांड-लाइन विकल्पों के बजाय, कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल किया गया है:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f /tmp/my-config-file
अगर Edge को एक से ज़्यादा नोड पर चलाया जा रहा है, तो सभी नोड पर कमांड को चलाएं. साथ ही, कमांड को सभी नोड पर लागू करें उपयोगकर्ता नाम और पासवर्ड.
कमांड लाइन पर JMX की पुष्टि करने की सुविधा बंद करने के लिए, "-e n" का इस्तेमाल करें विकल्प है, जैसा कि यहां बताया गया है: उदाहरण में यह दिखाया गया है:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n
JConsole की मदद से मॉनिटर करें
सेहत की जांच को मैनेज करने और उसे मॉनिटर करने के साथ-साथ आंकड़ों को प्रोसेस करने के लिए, JConsole (JMX के साथ काम करने वाला टूल) का इस्तेमाल करें. JConsole के साथ, अपने सर्वर से दिखाए गए JMX के आंकड़ों का इस्तेमाल किया जा सकता है और उन्हें ग्राफ़िकल इंटरफ़ेस. ज़्यादा जानकारी के लिए, यह देखें 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 |
|
इस्तेमाल |
|
Management API की मदद से मॉनिटर करें
Edge में कई एपीआई शामिल हैं. इनका इस्तेमाल करके, अपने सर्वर और सर्वर पर सेवा की जांच की जा सकती है अपने उपयोगकर्ताओं, संगठनों, और डिप्लॉयमेंट को देखें. इस सेक्शन में, इन एपीआई के बारे में बताया गया है.
सेवा जांच करें
Management API, आपको अपनी समस्याओं की निगरानी और उनका पता लगाने के लिए कई एंडपॉइंट देता है सेवाओं. इन एंडपॉइंट में ये शामिल हैं:
एंडपॉइंट | ब्यौरा |
---|---|
/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 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 का इस्तेमाल करके इस्तेमाल किया था इस बारे में जानकारी 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 आंकड़ों के सर्वर की स्थिति की पुष्टि की जा सकती है
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 डेटाबेस
इस सेक्शन में उन तकनीकों के बारे में बताया गया है जिनका इस्तेमाल खास तौर पर पोस्टग्रेज़ की निगरानी करने के लिए किया जा सकता है डेटाबेस.
check_postgres.pl
स्क्रिप्ट का इस्तेमाल करें
PostgreSQL डेटाबेस को मॉनिटर करने के लिए, स्टैंडर्ड मॉनिटरिंग स्क्रिप्ट का इस्तेमाल किया जा सकता है.
check_postgres.pl
. ज़्यादा जानकारी के लिए, यह देखें
http://bucardo.org/wiki/Check_postgres.
स्क्रिप्ट चलाने से पहले:
- आपको हर Postgres नोड पर check_postgres.pl स्क्रिप्ट इंस्टॉल करना होगा.
- पक्का करें कि आपने
perl-Time-HiRes.x86_64
इंस्टॉल किया है, जो कि एक Perl मॉड्यूल है जो हाई रिज़ॉल्यूशन वाले अलार्म, स्लीप, गेटटाइम ऑफ़ डे, और इंटरवल टाइमर को लागू करता है. उदाहरण के लिए, आपके निम्न आदेश का उपयोग करके इसे इंस्टॉल कर सकता है:
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
का इस्तेमाल करने वाले एपीआई कॉल का डिफ़ॉल्ट आउटपुट, Nagios है
साथ काम करता है. स्क्रिप्ट इंस्टॉल करने के बाद, ये जांच करें:
- डेटाबेस का साइज़ देखें:
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
स्थिति दिखाता है. अगर
पोस्टग्रेशन की प्रोसेस पूरी नहीं हुई है और चल नहीं रही है. इससे 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}/data/apigee-cassandra/jmxremote.password conf_cassandra-env_com.sun.management.jmxremote.access.file=${APIGEE_ROOT}/data/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/data/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/data/apigee-cassandra/jmxremote.password
jmxremote.password
फ़ाइल में बदलाव करें और अपना JMX उपयोगकर्ता नाम और पासवर्ड जोड़ें यहां दिए गए सिंटैक्स का इस्तेमाल करके:JMX_USERNAME JMX_PASSWORD
जहां JMX_USERNAME और JMX_PASSWORD JMX उपयोगकर्ता नाम हैं और आपके द्वारा पहले सेट किया गया पासवर्ड.
- पक्का करें कि फ़ाइल का मालिकाना हक "apigee" के पास हो और फ़ाइल मोड 400 है:
chown apigee:apigee /opt/apigee/data/apigee-cassandra/jmxremote.password
chmod 400 /opt/apigee/data/apigee-cassandra/jmxremote.password
- इस फ़ाइल को अपनी
jmxremote.access
फ़ाइल को कॉपी करें और उसमें बदलाव करें:- इस फ़ाइल को अपनी
$JAVA_HOME
डायरेक्ट्री से इसमें कॉपी करें/opt/apigee/data/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.access $APIGEE_ROOT/data/apigee-cassandra/jmxremote.access
- jmxremote.access फ़ाइल में बदलाव करें और यह भूमिका जोड़ें:
JMX_USERNAME readwrite
- पक्का करें कि फ़ाइल का मालिकाना हक "apigee" के पास हो और फ़ाइल मोड 400 है:
chown apigee:apigee /opt/apigee/data/apigee-cassandra/jmxremote.access
chmod 400 /opt/apigee/data/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
फ़ाइल खोलें.- फ़ाइल में इन पंक्तियों की टिप्पणी हटाएं:
-
JVM_OPTS="$JVM_OPTS -Djava.security.auth.login.config={T}conf_cassandra-env_java.security.auth.login.config{/T}"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.login.config=ApigeeSecureFileLoginModule"
-
- कमांड लाइन पर, सही पासवर्ड डालकर SHA1 हैश जनरेट करें
echo -n 'Secret' | openssl dgst -sha1
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है jmxremote.password
में उपयोगकर्ता नाम के लिए पासवर्ड सेट करें.- अपडेट के बाद,
cassandra-env.sh
फ़ाइल को 'सिर्फ़ पढ़ने के लिए' में बदलें.
कैसंड्रा के लिए एसएसएल के साथ जेएमएक्स चालू करें
एसएसएल के साथ जेएमएक्स को चालू करने से, जेएमएक्स आधारित कम्यूनिकेशन के लिए अतिरिक्त सुरक्षा और एन्क्रिप्शन की सुविधा मिलती है कास्सा. एसएसएल के साथ जेएमएक्स को चालू करने के लिए, आपको कैसंड्रा को एक कुंजी और एक सर्टिफ़िकेट देना होगा, ताकि एसएसएल-आधारित JMX कनेक्शन स्वीकार करें. आपको nodetool (और ऐसे अन्य टूल जो कैसे संपर्क करें)
एसएसएल की सुविधा वाला JMX, सादा टेक्स्ट और एन्क्रिप्ट (सुरक्षित) किए गए JMX पासवर्ड, दोनों के साथ काम करता है.
कैसेंड्रा के लिए SSL के साथ JMX को सक्षम करने के लिए, नीचे दी गई प्रक्रिया का उपयोग करें:
- JMX को चालू करें. अगर ज़रूरी हो, तो पासवर्ड को एन्क्रिप्ट (सुरक्षित) करने की सुविधा चालू करें.
- कैसंड्रा के लिए JMX की पुष्टि करने की सुविधा चालू करें.
जैसा कि ऊपर बताया गया है. पक्का करें कि nodetool कॉन्फ़िगर किए गए कॉन्फ़िगरेशन के साथ काम कर रहा है
उपयोगकर्ता नाम और पासवर्ड.
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
कीस्टोर और ट्रस्टस्टोर तैयार करें.
कीस्टोर में एक कुंजी और प्रमाणपत्र होना चाहिए, और इसका इस्तेमाल Cassandra सर्वर को कॉन्फ़िगर करने के लिए किया जाता है. अगर कीस्टोर में कई कुंजी के जोड़े हैं, तो कैसंड्रा पहले कुंजी के जोड़े का इस्तेमाल करता है पर जाएं.
ध्यान दें कि कीस्टोर और 'की' के पासवर्ड एक ही होने चाहिए (यह डिफ़ॉल्ट रूप से तब होता है, जब keytool का इस्तेमाल करके कुंजी जनरेट की जाती है).
- Truststore में सिर्फ़ सर्टिफ़िकेट होना चाहिए और इसका इस्तेमाल क्लाइंट (apigee-service आधारित) करते हैं कमांड या nodetool) शामिल करें.
ऊपर दी गई ज़रूरी शर्तों की पुष्टि करने के बाद:
- कीस्टोर फ़ाइल को
/opt/apigee/data/apigee-cassandra
में रखें. - यह पक्का करें कि कीस्टोर फ़ाइल को सिर्फ़ नीचे टाइप करके ही Apigee उपयोगकर्ता पढ़ सके
chown apigee:apigee /opt/apigee/data/apigee-cassandra/keystore.node1 chmod 400 /opt/apigee/data/apigee-cassandra/keystore.node1
- नीचे दिए गए तरीके से एसएसएल के साथ जेएमएक्स के लिए कैसंड्रा को कॉन्फ़िगर करें:
- दर्ज करके कैसंड्रा नोड बंद करें
apigee-service apigee-cassandra stop
- इसके द्वारा कैसंड्रा में SSL सक्षम करें
/opt/apigee/customer/application/cassandra.properties
फ़ाइल खुल रही है और ये लाइन जोड़ें:conf_cassandra-env_com.sun.management.jmxremote.ssl=true
फ़ाइल का मालिकाना हक
apigee:apigee
के पास होना चाहिए. - कैसंड्रा में एसएसएल से जुड़े कॉन्फ़िगरेशन को, नीचे बताए गए तरीके से चालू करें.
फ़ाइल खोलें
/opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है और निम्न पंक्तियों को अनटिप्पणी करें, जिससे पथ बदल जाएगा/opt/apigee/data/apigee-cassandra/keystore.node1
और कीस्टोर पासवर्ड को ज़रूरत के हिसाब से बदलें. पक्का करें कि फ़ाइल का मालिकाना हकJVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=/opt/apigee/data/apigee-cassandra/keystore.node1" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=keystore-password" JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true"
apigee:apigee
के पास हो. - दर्ज करके कैसंड्रा नोड शुरू करें
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 के लिए जेएमएक्स पैरामीटर को पास करना ज़रूरी है. इसके दो तरीके हैं आप कॉन्फ़िगरेशन के विकल्प नीचे दिए गए हैं:
एसएसएल से जुड़े कॉन्फ़िगरेशन को 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
एसएसएल कॉन्फ़िगरेशन को पहले जैसा करें
अगर आपको इस प्रोसेस में बताए गए एसएसएल कॉन्फ़िगरेशन वापस करने हैं ऊपर, नीचे दिए गए चरण करें:
- दर्ज करके
apigee-cassandra
रोकेंapigee-service apigee-cassandra stop
- यहां से
conf_cassandra-env_com.sun.management.jmxremote.ssl=true
लाइन हटाएं/opt/apigee/customer/application/cassandra.properties
फ़ाइल. /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 का इस्तेमाल करें: टास्क के आंकड़ों पर नज़र रखें
के ज़रिए ऑफ़र की गई 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 क्लस्टर नोड पर किए जा सकते हैं:
- रिंग की सामान्य जानकारी (एकल कैसंड्रा नोड के लिए भी संभव है):
"ऊपर" और "सामान्य" सभी नोड के लिए उपलब्ध है.
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.
अपाची ज़ूकीपर
ZooKeeper का स्टेटस देखें
- पक्का करें कि ZooKeeper प्रोसेस चल रही है. ZooKeeper, यहाँ एक PID फ़ाइल लिखता है
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
. - ZooKeeper पोर्ट की जांच करें, ताकि यह पक्का किया जा सके कि आप पोर्ट 2181 और 3888 को हर ZooKeeper सर्वर पर.
- पक्का करें कि ZooKeeper डेटाबेस में मौजूद वैल्यू को पढ़ा जा सकता है. ZooKeeper की मदद से कनेक्ट करें
क्लाइंट लाइब्रेरी (या
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
) जोड़ी जा सकती हैं और कोई वैल्यू पढ़ी जा सकती है डेटाबेस से बाहर रखा जाता है. - स्टेटस देखें:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
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
) का इस्तेमाल करके कैश मेमोरी के बारे में जानकारी पाएं.