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

Edge for Private Cloud v4.19.01

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

खास जानकारी

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

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

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

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

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 को चालू करने के लिए:

  1. कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइल में बदलाव करें. यह फ़ाइल यहां स्थित है 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.

  2. 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
  3. कॉन्फ़िगरेशन फ़ाइल सेव करें.
  4. 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 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

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

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

इस एपीआई कॉल के लिए, आपको अपने Apigee एडमिन के क्रेडेंशियल की पुष्टि करनी होगी.

इन एंडपॉइंट का इस्तेमाल करने के लिए, curl जैसी एक उपयोगिता शुरू करें. निम्न सिंटैक्स:

curl http://host:port_number/v1/servers/self/up -H "Accept: [application/json|application/xml]"
curl http://host:port_number/v1/servers/self -u username:password -H "Accept: [application/json|application/xml]"

कहां:

  • host उस सर्वर का आईपी पता है जिसकी आपको जांच करनी है. अगर आपने लॉग इन किया हुआ है तो आप "localhost" का इस्तेमाल कर सकते हैं; अगर ऐसा नहीं है, तो सर्वर का आईपी पता भी तय करें का इस्तेमाल किया जा सकता है.
  • port_number, उस सर्वर के लिए Management API पोर्ट है जिसकी आपको जांच करनी है. यह है हर तरह के कॉम्पोनेंट के लिए एक अलग पोर्ट है. उदाहरण के लिए, मैनेजमेंट सर्वर का Management API पोर्ट 8080 है. इस्तेमाल किए जाने वाले Management API के पोर्ट नंबर की सूची देखने के लिए, यहां देखें JMX और Management API मॉनिटरिंग पोर्ट

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

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

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

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

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

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

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

curl http://host:port_number/v1/users -u sysAdminEmail:password
curl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password

जहां port_number, मैनेजमेंट सर्वर के लिए 8080 या मैसेज के लिए 8082 है प्रोसेसर.

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

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

  1. किसी भी तरह की गड़बड़ी के लिए सर्वर लॉग देखें. लॉग यहां मौजूद होते हैं:
    • मैनेजमेंट सर्वर: opt/apigee/var/log/edge-management-server
    • मैसेज प्रोसेसर: opt/apigee/var/log/edge-message-processor
  2. सर्वर ठीक से काम कर रहा है या नहीं, यह देखने के लिए सर्वर पर कॉल करें.
  3. सर्वर को ईएलबी से हटाएं और उसे रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service service_name restart
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

    जहां service_name है:

    • edge-management-server
    • edge-message-processor

apigee-service निर्देश की मदद से स्टेटस देखें

आप apigee-service कमांड का इस्तेमाल करके Edge की सेवाओं का इस्तेमाल कर सकते हैं सेवा को चलाने वाले सर्वर में लॉग इन करें.

apigee-service के साथ काम करने वाली किसी सेवा की स्थिति देखने के लिए:

  1. सर्वर में लॉग इन करें और नीचे दिया गया कमांड चलाएं:
    /opt/apigee/apigee-service/bin/apigee-service service_name status
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

    जहां service_name, इनमें से एक है:

    • मैनेजमेंट सर्वर: edge-management-server
    • मैसेज प्रोसेसर: edge-message-processor
    • पोस्टग्रेस: edge-postgres-server
    • क्यूपीआईडी: edge-qpid-server
    • राऊटर: edge-router

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

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
  2. अगर सेवा नहीं चल रही है, तो सेवा शुरू करें:
    /opt/apigee/apigee-service/bin/apigee-service service_name start
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  3. सेवा को पुनः प्रारंभ करने के बाद, या तो apigee-service status निर्देश, जिसे आपने पहले या Management API का इस्तेमाल करके इस्तेमाल किया था इस बारे में जानकारी Management API की मदद से मॉनिटर करें में दी गई है.

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

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

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

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

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

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

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

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

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

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

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

नीचे दिए गए निर्देशों का पालन करके, Postgres और Qpid आंकड़ों के सर्वर की स्थिति की पुष्टि की जा सकती है 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.

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

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

check_postgres.pl आउटपुट

check_postgres.pl का इस्तेमाल करने वाले एपीआई कॉल का डिफ़ॉल्ट आउटपुट, Nagios है साथ काम करता है. स्क्रिप्ट इंस्टॉल करने के बाद, ये जांच करें:

  1. डेटाबेस का साइज़ देखें:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -include=apigee -action database_size --warning='800 GB' --critical='900 GB'
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  2. डेटाबेस में, आने वाले कनेक्शन की संख्या की जांच करें. साथ ही, अनुमति वाले ज़्यादा से ज़्यादा कनेक्शन की तुलना करें कनेक्शन:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  3. देखें कि डेटाबेस चल रहा है और उपलब्ध है या नहीं:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  4. डिस्क में बचा स्टोरेज देखें:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  5. किसी Postgres नोड में शामिल संगठन और एनवायरमेंट की संख्या देखें:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action=custom_query --query="select count(*) as result from pg_tables where schemaname='analytics' and tablename like '%fact'" --warning='80' --critical='90' --valtype=integer
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

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

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

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

फिर चलाएं:

\d analytics."org.env.fact"

पोस्टग्रेशन की प्रोसेस के स्वास्थ्य की स्थिति देखना

नीचे दिए गए curl को चालू करके, Postgres मशीन पर एपीआई की जांच की जा सकती है आदेश:

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

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

Postgres के संसाधन

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

अपाचे कासांड्रा

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

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

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

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

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

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

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

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

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

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

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

  1. source/conf/casssandra-env.sh फ़ाइल खोलें.
  2. फ़ाइल में इन पंक्तियों की टिप्पणी हटाएं:
    • 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"
  3. कमांड लाइन पर, सही पासवर्ड डालकर SHA1 हैश जनरेट करें echo -n 'Secret' | openssl dgst -sha1 अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  4. jmxremote.password में उपयोगकर्ता नाम के लिए पासवर्ड सेट करें.
  5. अपडेट के बाद, cassandra-env.sh फ़ाइल को 'सिर्फ़ पढ़ने के लिए' में बदलें.

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

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

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

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

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

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

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

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

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

ColumnFamilies/apprepo/environments

ColumnFamilies/apprepo/organizations

ColumnFamilies/apprepo/apiproxy_revisions

ColumnFamilies/apprepo/apiproxies

ColumnFamilies/audit/audits

ColumnFamilies/audit/audits_ref

PendingTasks

MemtableColumnsCount

MemtableDataSize

ReadCount

RecentReadLatencyMicros

TotalReadLatencyMicros

WriteCount

RecentWriteLatencyMicros

TotalWriteLatencyMicros

TotalDiskSpaceUsed

LiveDiskSpaceUsed

LiveSSTableCount

BloomFilterFalsePositives

RecentBloomFilterFalseRatio

BloomFilterFalseRatio

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

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

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

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

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

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

    Datacenter: dc-1
    ==========
    Address            Rack     Status State   Load    Owns    Token
    192.168.124.201    ra1      Up     Normal  1.67 MB 33,33%  0
    192.168.124.202    ra1      Up     Normal  1.68 MB 33,33%  5671...5242
    192.168.124.203    ra1      Up     Normal  1.67 MB 33,33%  1134...0484
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

  2. नोड के बारे में सामान्य जानकारी (हर नोड पर कॉल)
    nodetool [-u username -pw password]  -h localhost info

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

    ID                     : e2e42793-4242-4e82-bcf0-oicu812
    Gossip active          : true
    Thrift active          : true
    Native Transport active: true
    Load                   : 273.71 KB
    Generation No          : 1234567890
    Uptime (seconds)       : 687194
    Heap Memory (MB)       : 314.62 / 3680.00
    Off Heap Memory (MB)   : 0.14
    Data Center            : dc-1
    Rack                   : ra-1
    Exceptions             : 0
    Key Cache              : entries 150, size 13.52 KB, capacity 100 MB, 1520781 hits, 1520923 requests, 1.000 recent hit rate, 14400 save period in seconds
    Row Cache              : entries 0, size 0 bytes, capacity 0 bytes, 0 hits, 0 requests, NaN recent hit rate, 0 save period in seconds
    Counter Cache          : entries 0, size 0 bytes, capacity 50 MB, 0 hits, 0 requests, NaN recent hit rate, 7200 save period in seconds
    Token                  : 0
  3. थ्रिफ़्ट सर्वर की स्थिति (क्लाइंट एपीआई दिखाना)
    nodetool [-u username -pw password] -h localhost statusthrift

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

    running

  4. डेटा स्ट्रीमिंग की कार्रवाइयों की स्थिति: कैसंड्रा नोड के ट्रैफ़िक पर नज़र रखें:
    nodetool [-u username -pw password] -h localhost netstats

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

    Mode: NORMAL
    Not sending any streams.
    Read Repair Statistics:
    Attempted: 151612
    Mismatch (Blocking): 0
    Mismatch (Background): 0
    Pool Name                    Active   Pending      Completed   Dropped
    Commands                        n/a         0              0         0
    Responses                       n/a         0              0       n/a

nodetool के बारे में ज़्यादा जानने के लिए, इसे देखें Nodetool उपयोगिता के बारे में जानकारी.

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

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

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

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

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

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

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

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

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

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

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

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

    वापसी:

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

    वापसी:

    Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
    Clients:
    /0:0:0:0:0:0:0:1:33467[0](queued=0,recved=1,sent=0)
    /192.168.124.201:42388[1](queued=0,recved=8433,sent=8433)
    /192.168.124.202:42185[1](queued=0,recved=1339,sent=1347)
    /192.168.124.204:39296[1](queued=0,recved=7688,sent=7692)
    Latency min/avg/max: 0/0/128
    Received: 26144
    Sent: 26160
    Connections: 4
    Outstanding: 0
    Zxid: 0x2000002c2
    Mode: follower
    Node count: 283
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  3. अगर netcat (nc) मौजूद नहीं है, तो विकल्प के तौर पर Python का इस्तेमाल किया जा सकता है. फ़ाइल बनाना नाम zookeeper.py, जिसमें ये शामिल हैं:
    import time, socket,
    sys c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    c.connect((sys.argv[1], 2181))
    c.send(sys.argv[2])
    time.sleep(0.1)
    print c.recv(512)

    अब इन Python लाइनों को चलाएं:

    python zookeeper.py 192.168.124.201 ruok
    python zookeeper.py 192.168.124.201 stat

LDAP लेवल टेस्ट

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

  1. एंट्री से जुड़ी क्वेरी के लिए ldapsearch (yum install openldap-clients) का इस्तेमाल करें एडमिन होते हैं. इस एंट्री का इस्तेमाल, सभी एपीआई कॉल की पुष्टि करने के लिए किया जाता है.
    ldapsearch -b "uid=admin,ou=users,ou=global,dc=apigee,dc=com" -x -W -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -LLL

    इसके बाद आपको LDAP एडमिन पासवर्ड के लिए प्रॉम्प्ट किया जाता है:

    Enter LDAP Password:

    पासवर्ड डालने के बाद, आपको इस फ़ॉर्म में एक जवाब दिखेगा:

    dn:
    uid=admin,ou=users,ou=global,dc=apigee,dc=com
    objectClass: organizationalPerson
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: top
    uid: admin
    cn: admin
    sn: admin
    userPassword:: e1NTSEF9bS9xbS9RbVNXSFFtUWVsU1F0c3BGL3BQMkhObFp2eDFKUytmZVE9PQ=
     =
    mail: opdk@google.com
  2. यह देखें कि मैनेजमेंट सर्वर इस निर्देश की मदद से अब भी LDAP से कनेक्ट है या नहीं:
    curl -u userEMail:password http://localhost:8080/v1/users/ADMIN
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

    वापसी:

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

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