एपिजी-मोनीट के साथ खुद को ठीक करना

Apigee Edge for Private Cloud में apigee-monit शामिल है. यह ओपन सोर्स monit यूटिलिटी पर आधारित एक टूल है. apigee-monit समय-समय पर Edge की सेवाओं को पोल करता है. अगर कोई सेवा उपलब्ध नहीं है, तो apigee-monit उसे रीस्टार्ट करने की कोशिश करता है.

apigee-monit का इस्तेमाल करने के लिए, आपको इसे मैन्युअल तरीके से इंस्टॉल करना होगा. यह स्टैंडर्ड इंस्टॉलेशन का हिस्सा नहीं है.

डिफ़ॉल्ट रूप से, apigee-monit हर 60 सेकंड में Edge की सेवाओं की स्थिति की जांच करता है.

तुरंत शुरू करना

इस सेक्शन में, apigee-monit को तुरंत इस्तेमाल करने का तरीका बताया गया है.

अगर Amazon Linux या Oracle-Linux-7.X का इस्तेमाल किया जा रहा है, तो पहले Fedora की मदद से monit इंस्टॉल करें. अगर ऐसा नहीं है, तो यह चरण छोड़ दें.

sudo yum install -y https://kojipkgs.fedoraproject.org/packages/monit/5.25.1/1.el6/x86_64/monit-5.25.1-1.el6.x86_64.rpm

apigee-monit को इंस्टॉल करने के लिए, यह तरीका अपनाएं:

  apigee-monit इंस्टॉल करें
/opt/apigee/apigee-service/bin/apigee-service apigee-monit install
/opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

इससे apigee-monit इंस्टॉल हो जाता है. साथ ही, यह डिफ़ॉल्ट रूप से नोड पर मौजूद सभी कॉम्पोनेंट की निगरानी शुरू कर देता है.

  कॉम्पोनेंट को मॉनिटर करना बंद करना
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
  कॉम्पोनेंट की परफ़ॉर्मेंस मॉनिटर करना
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all
  खास जानकारी के स्टेटस के बारे में जानकारी पाना
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
  apigee-monit लॉग फ़ाइलें देखना
cat /opt/apigee/var/log/apigee-monit/apigee-monit.log

इन विषयों और अन्य विषयों के बारे में, यहां दिए गए सेक्शन में पूरी जानकारी दी गई है.

apigee-monit के बारे में जानकारी

apigee-monit यह पक्का करने में मदद करता है कि नोड पर मौजूद सभी कॉम्पोनेंट चालू रहें और काम करते रहें. यह कई तरह की सेवाएं उपलब्ध कराता है. जैसे:

  • काम न करने वाली सेवाओं को रीस्टार्ट करना
  • खास जानकारी दिखाना
  • लॉगिंग की निगरानी की स्थिति
  • सूचनाएं भेजना
  • Edge से बाहर की सेवाओं की निगरानी करना

Apigee का सुझाव है कि apigee-monit पर नज़र रखें, ताकि यह पक्का किया जा सके कि यह काम कर रहा है. ज़्यादा जानकारी के लिए, apigee-monit को मॉनिटर करना लेख पढ़ें.

apigee-monit आर्किटेक्चर

Apigee Edge for Private Cloud को इंस्टॉल और कॉन्फ़िगर करने के दौरान, आपके पास अपने क्लस्टर के हर नोड पर apigee-monit का एक अलग इंस्टेंस इंस्टॉल करने का विकल्प होता है. apigee-monit के ये अलग-अलग इंस्टेंस, एक-दूसरे से अलग काम करते हैं: ये अपने कॉम्पोनेंट की स्थिति के बारे में अन्य नोड को नहीं बताते. साथ ही, ये मॉनिटरिंग यूटिलिटी के काम न करने की जानकारी भी किसी सेंट्रल सर्विस को नहीं देते.

इस इमेज में, पांच नोड वाले क्लस्टर में apigee-monit का आर्किटेक्चर दिखाया गया है:

पांच नोड वाले क्लस्टर में Apigee monit का आर्किटेक्चर
पहली इमेज: क्लस्टर के हर नोड पर, apigee-monit का एक अलग इंस्टेंस आइसोलेशन में चलता है

कॉम्पोनेंट कॉन्फ़िगरेशन

apigee-monit, कॉम्पोनेंट कॉन्फ़िगरेशन का इस्तेमाल करके यह तय करता है कि किन कॉम्पोनेंट पर नज़र रखनी है, कॉम्पोनेंट के किन पहलुओं की जांच करनी है, और गड़बड़ी होने पर क्या कार्रवाई करनी है.

डिफ़ॉल्ट रूप से, apigee-monit किसी नोड पर मौजूद सभी Edge कॉम्पोनेंट की निगरानी करता है. इसके लिए, वह पहले से तय किए गए कॉम्पोनेंट कॉन्फ़िगरेशन का इस्तेमाल करता है. डिफ़ॉल्ट सेटिंग देखने के लिए, apigee-monit कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइलें देखें. डिफ़ॉल्ट कॉम्पोनेंट कॉन्फ़िगरेशन में बदलाव नहीं किया जा सकता.

apigee-monit किसी कॉम्पोनेंट के अलग-अलग पहलुओं की जांच करता है. यह इस बात पर निर्भर करता है कि वह किस कॉम्पोनेंट की जांच कर रहा है. इस टेबल में बताया गया है कि apigee-monit हर कॉम्पोनेंट के लिए क्या जांच करता है. साथ ही, इसमें यह भी बताया गया है कि हर कॉम्पोनेंट का कॉन्फ़िगरेशन कहां मौजूद है. ध्यान दें कि कुछ कॉम्पोनेंट, एक ही कॉन्फ़िगरेशन फ़ाइल में तय किए जाते हैं. वहीं, कुछ कॉम्पोनेंट के अपने कॉन्फ़िगरेशन होते हैं.

कॉम्पोनेंट कॉन्फ़िगरेशन की जगह किस तरह की गतिविधि को मॉनिटर किया जाता है
मैनेजमेंट सर्वर /opt/apigee/edge-management-server/monit/default.conf apigee-monit जांच:
  • तय किए गए पोर्ट खुले हैं और अनुरोध स्वीकार कर रहे हैं
  • बताए गए प्रोटोकॉल काम करते हैं
  • जवाब की स्थिति

इसके अलावा, इन कॉम्पोनेंट के लिए apigee-monit:

  • कार्रवाई करने से पहले, तय की गई साइकल के दौरान कई बार गड़बड़ी होना ज़रूरी है
  • अनुरोध का कस्टम पाथ सेट करता है
मैसेज प्रोसेसर /opt/apigee/edge-message-processor/monit/default.conf
Postgres सर्वर /opt/apigee/edge-postgres-server/monit/default.conf
Qpid Server /opt/apigee/edge-qpid-server/monit/default.conf
राऊटर /opt/apigee/edge-router/monit/default.conf
Cassandra
New Edge यूज़र इंटरफ़ेस (यूआई)
SymasLDAP
Postgres
Qpid
Zookeeper
/opt/apigee/data/apigee-monit/monit.conf apigee-monit checks:
  • सेवा चालू है

यहां दिए गए उदाहरण में, edge-router कॉम्पोनेंट के लिए डिफ़ॉल्ट कॉम्पोनेंट कॉन्फ़िगरेशन दिखाया गया है:

check host edge-router with address localhost
  restart program = "/opt/apigee/apigee-service/bin/apigee-service edge-router monitrestart"
  if failed host 10.1.1.0 port 8081 and protocol http
    and request "/v1/servers/self/uuid"
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

  if failed port 15999 and protocol http
    and request "/v1/servers/self"
    and status < 600
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

यहां दिए गए उदाहरण में, New Edge UI (edge-management-ui) कॉम्पोनेंट के डिफ़ॉल्ट कॉन्फ़िगरेशन के बारे में बताया गया है:

check process edge-management-ui
 with pidfile /opt/apigee/var/run/edge-management-ui/edge-management-ui.pid
 start program = "/opt/apigee/apigee-service/bin/apigee-service edge-management-ui start" with timeout 55 seconds
 stop program = "/opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop"

Apigee Edge for Private Cloud के किसी भी कॉम्पोनेंट के लिए, डिफ़ॉल्ट कॉम्पोनेंट कॉन्फ़िगरेशन नहीं बदले जा सकते. हालांकि, बाहरी सेवाओं के लिए अपने कॉम्पोनेंट कॉन्फ़िगरेशन जोड़े जा सकते हैं. जैसे, टारगेट एंडपॉइंट या httpd सेवा. ज़्यादा जानकारी के लिए, Apigee के अलावा अन्य कॉम्पोनेंट के कॉन्फ़िगरेशन देखें.

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

apigee-monit इंस्टॉल करना

apigee-monit डिफ़ॉल्ट रूप से इंस्टॉल नहीं होता है. अपग्रेड करने या Apigee Edge for Private Cloud के 4.19.01 या इसके बाद के वर्शन को इंस्टॉल करने के बाद, इसे मैन्युअल तरीके से इंस्टॉल किया जा सकता है.

इस सेक्शन में, apigee-monit को इंस्टॉल करने का तरीका बताया गया है.

apigee-monit को अनइंस्टॉल करने के बारे में जानकारी पाने के लिए, apigee-monit को अनइंस्टॉल करना लेख पढ़ें.

apigee-monit इंस्टॉल करना

इस सेक्शन में, apigee-monit को इंस्टॉल करने का तरीका बताया गया है.

apigee-monit को इंस्टॉल करने के लिए:

  1. apigee-monit को इंस्टॉल करने के लिए, यह कमांड डालें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit install
  2. apigee-monit को इस कमांड की मदद से कॉन्फ़िगर करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  3. इस निर्देश का इस्तेमाल करके, apigee-monit को चालू करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit start
  4. अपने क्लस्टर के हर नोड पर यह तरीका दोहराएं.

कॉम्पोनेंट की मॉनिटरिंग बंद और शुरू करना

जब कोई सेवा किसी वजह से बंद हो जाती है, तो apigee-monit उसे फिर से चालू करने की कोशिश करता है.

अगर आपको किसी कॉम्पोनेंट को जानबूझकर रोकना है, तो इससे समस्या हो सकती है. उदाहरण के लिए, हो सकता है कि आपको किसी कॉम्पोनेंट का बैक अप लेने या उसे अपग्रेड करने के लिए, उसे रोकना पड़े. अगर बैकअप लेने या अपग्रेड करने के दौरान apigee-monit सेवा को फिर से शुरू करता है, तो रखरखाव की प्रक्रिया में रुकावट आ सकती है. ऐसा होने पर, हो सकता है कि रखरखाव की प्रक्रिया पूरी न हो पाए.

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

किसी कॉम्पोनेंट को बंद करना और उसकी निगरानी करना बंद करना

किसी कॉम्पोनेंट को रोकने और उसकी निगरानी बंद करने के लिए, यह कमांड चलाएं:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop-component -c component_name
component_name इनमें से कोई एक हो सकता है:
  • apigee-cassandra (कैसेंड्रा)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL डेटाबेस)
  • apigee-qpidd (Qpidd)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (मैनेजमेंट सर्वर)
  • edge-management-ui (New Edge UI)
  • edge-message-processor (मैसेज प्रोसेसर)
  • edge-postgres-server (Postgres Server)
  • edge-qpid-server (Qpid Server)
  • edge-router (Edge Router)

ध्यान दें कि stop-component के लिए "all" मान्य विकल्प नहीं है. stop-component की मदद से, एक बार में सिर्फ़ एक कॉम्पोनेंट को मॉनिटर करना बंद किया जा सकता है और उसे मॉनिटरिंग से हटाया जा सकता है.

कॉम्पोनेंट को फिर से शुरू करने और मॉनिटरिंग जारी रखने के लिए, यह कमांड चलाएं:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start-component -c component_name

ध्यान दें कि start-component के लिए, "all" एक मान्य विकल्प नहीं है.

सभी कॉम्पोनेंट को मॉनिटर करना बंद करने और उन्हें मॉनिटर न करने के बारे में निर्देश पाने के लिए, सभी कॉम्पोनेंट को मॉनिटर करना बंद करना और उन्हें मॉनिटर न करना लेख पढ़ें.

किसी कॉम्पोनेंट की निगरानी बंद करना (लेकिन उसे रोकना नहीं)

किसी कॉम्पोनेंट की निगरानी बंद करने के लिए, यह कमांड चलाएं:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
component_name इनमें से कोई एक हो सकता है:
  • apigee-cassandra (कैसेंड्रा)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL डेटाबेस)
  • apigee-qpidd (Qpidd)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (मैनेजमेंट सर्वर)
  • edge-management-ui (New Edge UI)
  • edge-message-processor (मैसेज प्रोसेसर)
  • edge-postgres-server (Postgres Server)
  • edge-qpid-server (Qpid Server)
  • edge-router (Edge Router)

कॉम्पोनेंट की निगरानी फिर से शुरू करने के लिए, यह कमांड चलाएं:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name

सभी कॉम्पोनेंट की निगरानी करना बंद करें (लेकिन उन्हें बंद न करें)

सभी कॉम्पोनेंट की निगरानी बंद करने के लिए (लेकिन उन्हें बंद न करें), यह कमांड चलाएं:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

सभी कॉम्पोनेंट की निगरानी फिर से शुरू करने के लिए, यह कमांड चलाएं:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

सभी कॉम्पोनेंट को बंद करना और उनकी निगरानी करना बंद करना

सभी कॉम्पोनेंट को रोकने और उनकी निगरानी बंद करने के लिए, ये कमांड चलाएं:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
/opt/apigee/apigee-service/bin/apigee-all stop

सभी कॉम्पोनेंट को फिर से चालू करने और मॉनिटरिंग फिर से शुरू करने के लिए, ये कमांड चलाएं:

/opt/apigee/apigee-service/bin/apigee-all start
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

सभी कॉम्पोनेंट की निगरानी बंद करने के लिए, apigee-monit को भी बंद किया जा सकता है. इसके बारे में apigee-monit को बंद करना, शुरू करना, और बंद करना लेख में बताया गया है.

apigee-monit को रोकना, चालू करना, और बंद करना

किसी भी सेवा की तरह, apigee-monit को apigee-service कमांड का इस्तेमाल करके रोका और चालू किया जा सकता है. इसके अलावा, apigee-monit में unmonitor कमांड का इस्तेमाल किया जा सकता है. इससे कॉम्पोनेंट की निगरानी को कुछ समय के लिए रोका जा सकता है.

apigee-monit को बंद करें

apigee-monit को बंद करने के लिए, यह निर्देश दें:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop

apigee-monit शुरू करें

apigee-monit को शुरू करने के लिए, यह कमांड दें:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

apigee-monit को बंद करना

इस निर्देश का इस्तेमाल करके, नोड पर मौजूद सभी कॉम्पोनेंट की निगरानी को निलंबित किया जा सकता है:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

इसके अलावा, नोड से apigee-monit को अनइंस्टॉल करके, इसे हमेशा के लिए बंद किया जा सकता है. इसके बारे में apigee-monit को अनइंस्टॉल करना लेख में बताया गया है.

apigee-monit को अनइंस्टॉल करना

apigee-monit को अनइंस्टॉल करने के लिए:

  1. अगर आपने apigee-monit की निगरानी करने के लिए cron जॉब सेट अप की है, तो apigee-monit को अनइंस्टॉल करने से पहले cron जॉब हटा दें:
    sudo rm /etc/cron.d/apigee-monit.cron
  2. इस कमांड की मदद से, apigee-monit को बंद करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit stop
  3. apigee-monit को अनइंस्टॉल करने के लिए, यह कमांड दें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit uninstall
  4. अपने क्लस्टर के हर नोड पर यह तरीका दोहराएं.

हाल ही में इंस्टॉल किए गए कॉम्पोनेंट को मॉनिटर करना

अगर apigee-monit को चलाने वाले नोड पर कोई नया कॉम्पोनेंट इंस्टॉल किया जाता है, तो apigee-monit के restart कमांड को चलाकर उसकी निगरानी शुरू की जा सकती है. इससे एक नई monit.conf फ़ाइल जनरेट होती है. इसमें कॉम्पोनेंट कॉन्फ़िगरेशन में नया कॉम्पोनेंट शामिल होगा.

यहां दिए गए उदाहरण में, apigee-monit को फिर से शुरू करने का तरीका बताया गया है:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit restart

apigee-monit को पसंद के मुताबिक बनाना

apigee-monit की कई सेटिंग को पसंद के मुताबिक बनाया जा सकता है. जैसे:

  1. apigee-monit की डिफ़ॉल्ट कंट्रोल सेटिंग
  2. ग्लोबल कॉन्फ़िगरेशन सेटिंग
  3. Apigee के अलावा अन्य कॉम्पोनेंट के कॉन्फ़िगरेशन

apigee-monit कंट्रोल की डिफ़ॉल्ट सेटिंग

आपके पास apigee-monit कंट्रोल की डिफ़ॉल्ट सेटिंग को पसंद के मुताबिक बनाने का विकल्प होता है. जैसे, स्टेटस की जांच करने की फ़्रीक्वेंसी और apigee-monit फ़ाइलों की जगह. इसके लिए, कॉन्फ़िगरेशन के साथ कोड तकनीक का इस्तेमाल करके, प्रॉपर्टी फ़ाइल में बदलाव करें. Apigee Edge for Private Cloud को अपग्रेड करने के बाद भी, प्रॉपर्टी फ़ाइलें बनी रहेंगी.

यहां दी गई टेबल में, apigee-monit की डिफ़ॉल्ट कंट्रोल सेटिंग के बारे में बताया गया है. इन्हें अपनी पसंद के मुताबिक बनाया जा सकता है:

प्रॉपर्टी ब्यौरा
conf_monit_httpd_port httpd डीमन का पोर्ट. apigee-monit, अपने डैशबोर्ड ऐप्लिकेशन के लिए httpd का इस्तेमाल करता है. साथ ही, रिपोर्ट/खास जानकारी पाने की सुविधा चालू करने के लिए भी इसका इस्तेमाल करता है. डिफ़ॉल्ट वैल्यू 2812 है.
conf_monit_httpd_allow httpd डीमन को अनुरोध भेजने पर पाबंदियां. apigee-monit, अपने डैशबोर्ड ऐप्लिकेशन को चलाने और रिपोर्ट/खास जानकारी को चालू करने के लिए, httpd का इस्तेमाल करता है. यह वैल्यू, लोकल होस्ट (वह होस्ट जिस पर httpd चल रहा है) पर ले जानी चाहिए.

अगर आपको अनुरोधों में उपयोगकर्ता नाम और पासवर्ड शामिल करना है, तो इस सिंटैक्स का इस्तेमाल करें:

conf_monit_httpd_allow=allow username:"password"\nallow 127.0.0.1

उपयोगकर्ता नाम और पासवर्ड जोड़ते समय, हर शर्त के बीच "\n" डालें. वैल्यू में नई लाइन या नई लाइन शुरू करने का चिह्न शामिल न करें.

conf_monit_monit_datadir वह डायरेक्ट्री जिसमें इवेंट की जानकारी सेव की जाती है.
conf_monit_monit_delay_time apigee-monit को मेमोरी में लोड होने के बाद, उसे चलने में लगने वाला समय. इससे सिर्फ़ apigee-monit पहली प्रोसेस की जांच पर असर पड़ता है.
conf_monit_monit_logdir apigee-monit लॉग फ़ाइल की जगह.
conf_monit_monit_retry_time apigee-monit हर प्रोसेस की जांच कितनी बार करता है. डिफ़ॉल्ट रूप से, यह 60 सेकंड है.
conf_monit_monit_rundir पीआईडी और स्टेट फ़ाइलों की जगह, जिनका इस्तेमाल apigee-monit प्रोसेस की जांच करने के लिए करता है.

apigee-monit कंट्रोल की डिफ़ॉल्ट सेटिंग को पसंद के मुताबिक बनाने के लिए:

  1. इस फ़ाइल में बदलाव करें:
    /opt/apigee/customer/application/monit.properties

    अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं और मालिक को "apigee" उपयोगकर्ता के तौर पर सेट करें:

    chown apigee:apigee /opt/apigee/customer/application/monit.properties

    ध्यान दें कि अगर फ़ाइल पहले से मौजूद है, तो हो सकता है कि इसमें ऊपर दी गई टेबल में मौजूद कॉन्फ़िगरेशन प्रॉपर्टी के अलावा, अन्य कॉन्फ़िगरेशन प्रॉपर्टी भी मौजूद हों. आपको ऊपर बताई गई प्रॉपर्टी के अलावा, अन्य प्रॉपर्टी में बदलाव नहीं करना चाहिए.

  2. अपनी नई वैल्यू के साथ प्रॉपर्टी की वैल्यू सेट करें या बदलें.

    उदाहरण के लिए, लॉग फ़ाइल की जगह को /tmp में बदलने के लिए, यहां दी गई प्रॉपर्टी को जोड़ें या उसमें बदलाव करें:

    conf_monit_monit_logdir=/tmp/apigee-monit.log
  3. monit.properties फ़ाइल में किए गए बदलावों को सेव करें.
  4. इस निर्देश की मदद से, apigee-monit को फिर से कॉन्फ़िगर करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  5. इस कमांड का इस्तेमाल करके, apigee-monit को फिर से लोड करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    अगर apigee-monit को रीस्टार्ट नहीं किया जा सकता, तो गड़बड़ियों के लिए लॉग फ़ाइल देखें. इसके बारे में, apigee-monit की लॉग फ़ाइलें ऐक्सेस करना में बताया गया है.

  6. अपने क्लस्टर के हर नोड के लिए, इस प्रोसेस को दोहराएं.

ग्लोबल कॉन्फ़िगरेशन सेटिंग

apigee-monit के लिए, ग्लोबल कॉन्फ़िगरेशन सेटिंग तय की जा सकती हैं. उदाहरण के लिए, सूचनाओं के लिए ईमेल सूचनाएं जोड़ी जा सकती हैं. इसके लिए, /opt/apigee/data/apigee-monit डायरेक्ट्री में एक कॉन्फ़िगरेशन फ़ाइल बनाएं. इसके बाद, apigee-monit को रीस्टार्ट करें.

apigee-monit के लिए ग्लोबल कॉन्फ़िगरेशन सेटिंग तय करने के लिए:

  1. इस जगह पर कॉम्पोनेंट कॉन्फ़िगरेशन की नई फ़ाइल बनाएं:
    /opt/apigee/data/apigee-monit/filename.conf

    यहां filename कोई भी मान्य फ़ाइल का नाम हो सकता है. हालांकि, "monit" नहीं.

  2. नई कॉन्फ़िगरेशन फ़ाइल के मालिक को "apigee" उपयोगकर्ता में बदलें, जैसा कि इस उदाहरण में दिखाया गया है:
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-mail-config.conf
  3. नई फ़ाइल में अपनी ग्लोबल कॉन्फ़िगरेशन सेटिंग जोड़ें. यहां दिए गए उदाहरण में, मेल सर्वर को कॉन्फ़िगर किया गया है. साथ ही, सूचना पाने वाले लोगों को सेट किया गया है:
    SET MAILSERVER smtp.gmail.com PORT 465
      USERNAME "example-admin@gmail.com" PASSWORD "PASSWORD"
      USING SSL, WITH TIMEOUT 15 SECONDS
    
    SET MAIL-FORMAT {
      from: edge-alerts@example.com
      subject: Monit Alert -- Service: $SERVICE $EVENT on $HOST
    }
    SET ALERT fred@example.com
    SET ALERT nancy@example.com

    ग्लोबल कॉन्फ़िगरेशन के सभी विकल्पों की पूरी सूची देखने के लिए, monit का दस्तावेज़ देखें.

  4. कॉम्पोनेंट की कॉन्फ़िगरेशन फ़ाइल में किए गए बदलावों को सेव करें.
  5. इस कमांड का इस्तेमाल करके, apigee-monit को फिर से लोड करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    अगर apigee-monit फिर से शुरू नहीं होता है, तो गड़बड़ियों के लिए लॉग फ़ाइल देखें. इसके बारे में apigee-monit लॉग फ़ाइलें ऐक्सेस करना लेख में बताया गया है.

  6. अपने क्लस्टर के हर नोड के लिए, यह तरीका दोहराएं.

Apigee के अलावा अन्य कॉम्पोनेंट के कॉन्फ़िगरेशन

apigee-monit में अपने कॉन्फ़िगरेशन जोड़े जा सकते हैं, ताकि यह उन सेवाओं की जांच कर सके जो Apigee Edge for Private Cloud का हिस्सा नहीं हैं. उदाहरण के लिए, apigee-monit का इस्तेमाल करके यह पता लगाया जा सकता है कि आपके एपीआई काम कर रहे हैं या नहीं. इसके लिए, आपको अपने टारगेट एंडपॉइंट पर अनुरोध भेजने होंगे.

Apigee से बाहर के कॉम्पोनेंट का कॉन्फ़िगरेशन जोड़ने के लिए:

  1. इस जगह पर कॉम्पोनेंट कॉन्फ़िगरेशन की नई फ़ाइल बनाएं:
    /opt/apigee/data/apigee-monit/filename.conf

    filename की जगह, फ़ाइल का कोई भी मान्य नाम हो सकता है. हालांकि, "monit" नहीं हो सकता.

    ज़रूरत के मुताबिक, कॉम्पोनेंट कॉन्फ़िगरेशन की कितनी भी फ़ाइलें बनाई जा सकती हैं. उदाहरण के लिए, हर उस नॉन-Apigee कॉम्पोनेंट के लिए एक अलग कॉन्फ़िगरेशन फ़ाइल बनाई जा सकती है जिसे आपको नोड पर मॉनिटर करना है.

  2. नई कॉन्फ़िगरेशन फ़ाइल के मालिक को "apigee" उपयोगकर्ता में बदलें. इसके लिए, यहां दिया गया उदाहरण देखें: shows:
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-config.conf
  3. नई फ़ाइल में अपने कस्टम कॉन्फ़िगरेशन जोड़ें. यहां दिए गए उदाहरण में, लोकल सर्वर पर टारगेट एंडपॉइंट की जांच की गई है:
    CHECK HOST localhost_validate_test WITH ADDRESS localhost
      IF FAILED
        PORT 15999
        PROTOCOL http
        REQUEST "/validate__test"
        CONTENT = "Server Ready"
        FOR 2 times WITHIN 3 cycles
      THEN alert

    कॉन्फ़िगरेशन की सभी संभावित सेटिंग की सूची देखने के लिए, monit का दस्तावेज़ देखें.

  4. कॉन्फ़िगरेशन फ़ाइल में किए गए बदलावों को सेव करें.
  5. इस कमांड का इस्तेमाल करके, apigee-monit को फिर से लोड करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    अगर apigee-monit रीस्टार्ट नहीं होता है, तो गड़बड़ियों के लिए लॉग फ़ाइल देखें. इसके बारे में apigee-monit की लॉग फ़ाइलों को ऐक्सेस करना में बताया गया है.

  6. अपने क्लस्टर के हर नोड के लिए, इस प्रोसेस को दोहराएं.

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

apigee-monit की लॉग फ़ाइलें ऐक्सेस करना

apigee-monit, सभी गतिविधियों को लॉग फ़ाइल में लॉग करता है. इनमें इवेंट, रीस्टार्ट, कॉन्फ़िगरेशन में बदलाव, और चेतावनियां शामिल हैं.

लॉग फ़ाइल की डिफ़ॉल्ट जगह यह है:

/opt/apigee/var/log/apigee-monit/apigee-monit.log

apigee-monit कंट्रोल की सेटिंग को पसंद के मुताबिक बनाकर, जगह की डिफ़ॉल्ट जानकारी को बदला जा सकता है.

लॉग फ़ाइल की एंट्री इस फ़ॉर्मैट में होती हैं:

'edge-message-processor' trying to restart
[UTC Dec 14 16:20:42] info     : 'edge-message-processor' trying to restart
'edge-message-processor' restart: '/opt/apigee/apigee-service/bin/apigee-service edge-message-processor monitrestart'

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

apigee-monit की मदद से, एग्रीगेट किया गया स्टेटस देखना

apigee-monit में ये कमांड शामिल होती हैं. इनसे आपको नोड पर मौजूद कॉम्पोनेंट की स्थिति के बारे में एग्रीगेट की गई जानकारी मिलती है:

निर्देश इस्तेमाल
report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
summary
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

इनमें से हर निर्देश के बारे में ज़्यादा जानकारी, इसके बाद के सेक्शन में दी गई है.

रिपोर्ट

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

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report

यहां दिए गए उदाहरण में, एआईओ (ऑल-इन-वन) कॉन्फ़िगरेशन पर report का आउटपुट दिखाया गया है:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
up:            11 (100.0%)
down:           0 (0.0%)
initialising:   0 (0.0%)
unmonitored:    1 (8.3%)
total:         12 services

इस उदाहरण में, apigee-monit ने 12 में से 11 सेवाओं के चालू होने की जानकारी दी है. फ़िलहाल, एक सेवा की निगरानी नहीं की जा रही है.

report कमांड को पहली बार चलाने पर, आपको Connection refused गड़बड़ी का मैसेज मिल सकता है. ऐसे में, conf_monit_monit_delay_time प्रॉपर्टी की अवधि खत्म होने तक इंतज़ार करें. इसके बाद, फिर से कोशिश करें.

खास जानकारी

summary कमांड, हर कॉम्पोनेंट की सूची दिखाता है और उसकी स्थिति बताता है. यहां दिए गए उदाहरण में, summary कमांड को लागू करने का तरीका बताया गया है:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

यहां दिए गए उदाहरण में, एआईओ (ऑल-इन-वन) कॉन्फ़िगरेशन पर summary आउटपुट दिखाया गया है:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
Monit 5.25.1 uptime: 4h 20m
 Service Name                     Status                      Type
 host_name                        OK                          System
 apigee-zookeeper                 OK                          Process
 apigee-cassandra                 OK                          Process
 apigee-openldap                  OK                          Process
 apigee-qpidd                     OK                          Process
 apigee-postgresql                OK                          Process
 edge-management-ui               OK                          Process
 edge-qpid-server                 OK                          Remote Host
 edge-postgres-server             OK                          Remote Host
 edge-management-server           OK                          Remote Host
 edge-router                      OK                          Remote Host
 edge-message-processor           OK                          Remote Host

अगर आपको पहली बार summary कमांड को लागू करने पर Connection refused गड़बड़ी मिलती है, तो conf_monit_monit_delay_time प्रॉपर्टी की अवधि तक इंतज़ार करें. इसके बाद, फिर से कोशिश करें.

apigee-monit को मॉनिटर करना

यह सबसे सही तरीका है कि आप नियमित तौर पर यह जांच करें कि apigee-monit हर नोड पर चल रहा है या नहीं.

यह देखने के लिए कि apigee-monit चल रहा है या नहीं, इस निर्देश का इस्तेमाल करें:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

Apigee का सुझाव है कि apigee-monit चलाने वाले हर नोड पर, समय-समय पर इस कमांड को जारी करें. ऐसा करने का एक तरीका यह है कि cron जैसी किसी यूटिलिटी का इस्तेमाल किया जाए. यह यूटिलिटी, पहले से तय किए गए इंटरवल पर शेड्यूल किए गए टास्क को पूरा करती है.

apigee-monit को मॉनिटर करने के लिए, cron का इस्तेमाल करने के लिए:

  1. apigee-monit.cron डायरेक्ट्री को /etc/cron.d डायरेक्ट्री में कॉपी करके, cron का समर्थन जोड़ें. ऐसा करने का तरीका यहां दिए गए उदाहरण में बताया गया है:
    cp /opt/apigee/apigee-monit/cron/apigee-monit.cron /etc/cron.d/
  2. apigee-monit.cron फ़ाइल में बदलाव करने के लिए, उसे खोलें.

    apigee-monit.cron फ़ाइल, cron जॉब को तय करती है, ताकि उसे लागू किया जा सके. साथ ही, यह भी तय करती है कि उस जॉब को कितनी बार लागू किया जाए. यहां दिए गए उदाहरण में, डिफ़ॉल्ट वैल्यू दिखाई गई हैं:

    # Cron entry to check if monit process is running. If not start it
    */2 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

    यह फ़ाइल इस सिंटैक्स का इस्तेमाल करती है. इसमें पहले पांच फ़ील्ड उस समय के बारे में बताते हैं जब apigee-monit अपनी कार्रवाई को लागू करता है:

    min hour day_of_month month day_of_week task_to_execute

    उदाहरण के लिए, डिफ़ॉल्ट तौर पर एक्ज़ीक्यूशन का समय */2 * * * * होता है. इससे cron को हर दो मिनट में apigee-monit प्रोसेस की जांच करने का निर्देश मिलता है.

    cron जॉब को एक मिनट में एक से ज़्यादा बार नहीं चलाया जा सकता.

    cron का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, अपने सर्वर ओएस का दस्तावेज़ या मैन पेज देखें.

  3. अपने संगठन की नीतियों के मुताबिक, cron की सेटिंग बदलें. उदाहरण के लिए, अगर आपको टास्क के बार-बार होने की फ़्रीक्वेंसी को हर पांच मिनट में बदलना है, तो जॉब की परिभाषा को इस तरह सेट करें:
    */5 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
  4. apigee-monit.cron फ़ाइल सेव करें.
  5. अपने क्लस्टर के हर नोड के लिए, यह तरीका दोहराएं.

अगर cron ने apigee-monit देखना शुरू नहीं किया है, तो पक्का करें कि:

  • cron जॉब की परिभाषा के बाद एक खाली लाइन है.
  • फ़ाइल में सिर्फ़ एक cron जॉब के बारे में बताया गया है. (टिप्पणी वाली लाइनों को नहीं गिना जाता.)

अगर आपको apigee-monit को रोकना है या कुछ समय के लिए बंद करना है, तो आपको इस cron जॉब को भी बंद करना होगा. ऐसा न करने पर, cron फिर से apigee-monit शुरू कर देगा.

cron को बंद करने के लिए, इनमें से कोई एक तरीका अपनाएं:

  • /etc/cron.d/apigee-monit.cron फ़ाइल मिटाएं:
    sudo rm /etc/cron.d/apigee-monit.cron

    अगर आपको बाद में apigee-monit देखने के लिए, cron को फिर से चालू करना है, तो आपको इसे फिर से कॉपी करना होगा.

    या

  • /etc/cron.d/apigee-monit.cron फ़ाइल में बदलाव करें और लाइन की शुरुआत में "#" जोड़कर, जॉब की परिभाषा को टिप्पणी के तौर पर मार्क करें. उदाहरण के लिए:
    # 10 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit