Zabbix + Voximplant: कॉल के साथ निगरानी, ​​या चिंता को कैसे रोकें और जल्दी से इसे स्थापित करें

Zabbix - स्मार्ट, लचीला, अनुकूलन - सब कुछ कर सकता है। या लगभग सब कुछ। यह अजीब होगा यदि वह क्लाउड टेलीफोनी के साथ दोस्त नहीं बना सकता है, खासकर जब उत्तरार्द्ध में एक सुविधाजनक HTTP एपीआई है - अपने स्वास्थ्य का उपयोग करें। आज हम Voximplant के माध्यम से सूचना कॉल के लिए ज़ैबिक्स को कॉन्फ़िगर करने का तरीका प्रदर्शित करेंगे, जो किसी आपातकालीन स्थिति में बहुत उपयोगी हो सकता है ("समझाने का समय नहीं है, आपको कॉल करने की आवश्यकता है - युद्ध सर्वर अभी गिर गया")।

फिल्म "द मैट्रिक्स" (द मैट्रिक्स) (1999), वार्नर ब्रदर्स से फ्रेम के आधार पर।
नोट: ट्यूटोरियल मानता है कि आपके पास पहले से ही एक कार्यशील ज़ैबिक्स है और एक ज़ैबिक्स फ्रंटेंड कॉन्फ़िगर किया गया है। ज़ैबिक्स की प्रारंभिक स्थापना इस लेख का उद्देश्य नहीं है, इस तरह के एक गाइड की जरूरत है / आधिकारिक दस्तावेज और / या Google पर देख सकते हैं।

हम किसके साथ काम करेंगे


हमारा उदाहरण सेंटोस 7 के साथ वीडीएस का उपयोग करता है, जिस पर ज़ैबिक्स 4.2.6 स्थापित है (लेखन के समय नवीनतम स्थिर संस्करण)। हम उसी सर्वर की निगरानी करेंगे जहां Zabbix काम करता है। Voximplant को JS के लिए प्लेटफ़ॉर्म पर एक खाता और एक कॉल प्रोसेसिंग स्क्रिप्ट की आवश्यकता होती है। और अब थोड़ा और।

हम क्या करेंगे


कोई रॉकेट साइंस नहीं है, चलो एक बहुत ही सरल निगरानी करते हैं जो / tmp / habrTriggerFile फ़ाइल के प्रकट होने पर प्रतिक्रिया करता है: जब ऐसी कोई फ़ाइल दिखाई देती है, तो Zabbix HTTP API के माध्यम से Voximplant से संपर्क करेगा, एक स्क्रिप्ट काम करेगी जो निर्दिष्ट फोन नंबर को कॉल करेगी, "ध्यान दें।" सर्वर पर एक फ़ाइल बनाई गई थी। ” और लटक जाओ। यदि आप फ़ाइल को हटाते हैं / नाम बदलते हैं, और फिर उसे वापस करते हैं, तो फिर से कॉल करना होगा। यदि आप कुछ नहीं करते हैं, तो केवल एक कॉल होगी।

Voximplant


अपने खाते में प्रवेश करें (या रजिस्टर करें ) और हैबर ऐप बनाएं। एप्लिकेशन के अंदर, परिदृश्य टैब पर जाएं और इस कोड के साथ एक सूचना स्क्रिप्ट बनाएं:

VoxEngine.addEventListener(AppEvents.Started, () => { const call = VoxEngine.callPSTN(" ", "   ") call.addEventListener(CallEvents.PlaybackFinished, () => { VoxEngine.terminate() }) call.addEventListener(CallEvents.Connected, () => { setTimeout( () => call.say(".     .", Language.RU_RUSSIAN_FEMALE), 1000 ) }) }) 

आप इस स्क्रिप्ट को HTTP अनुरोध के साथ चला सकते हैं (और फोन नंबर खरीदे बिना)। कॉल पीएसटीएन में फोन नंबर स्थानापन्न करना न भूलें: पहला वह है जो प्लेटफॉर्म कॉल करेगा, दूसरा कॉलराइड है, जिसे कॉल किए गए ग्राहक पर प्रदर्शित किया जाएगा; यह या तो आपका व्यक्तिगत नंबर हो सकता है जिसे प्लेटफ़ॉर्म पर सत्यापित किया गया है, या पहले वोक्सीमप्लांट से खरीदा गया नंबर (नोट, वर्चुअल नंबर का उपयोग नहीं किया जा सकता है)। स्क्रिप्ट नंबर को कॉल करता है, कनेक्शन के बाद यह रिपोर्ट करता है कि एक फ़ाइल बनाई गई है और लटका हुआ है।

एक नियम बनाने के लिए स्क्रिप्ट को सहेजें और रूटिंग टैब पर जाएं:

नियम सहेजें और नोट - इसकी आईडी कॉपी करें।


अगला, आपको एपीआई कुंजियों की आवश्यकता होगी, उन्हें मुख्य मेनू के उपयुक्त अनुभाग में ले जाएं।
एपीआई कुंजियों और नियम आईडी को जानकर, आप उन्हें हमारे HTTP एपीआई के स्टार्टसेनवेयर विधि में स्थानापन्न कर सकते हैं, यह कुछ इस तरह दिखेगा:

 https://api.voximplant.com/platform_api/StartScenarios/?account_id=1&api_key=4ed5695e-4690-448r-95e8-3f8f0001287c&rule_id=28 

थोड़ी देर बाद, हम निगरानी स्थापित करते समय इस अनुरोध का उपयोग करते हैं, जिसे पहले ही शुरू किया जा सकता है।

Zabbix


अपने उपयोगकर्ता (या व्यवस्थापक) के रूप में अपना Zabbix फ्रंटेंड दर्ज करें, फिर कॉन्फ़िगरेशन - होस्ट्स अनुभाग में, होस्ट बनाएँ पर क्लिक करें। नाम में, स्थानीयहोस्ट लिखें, समूहों में परीक्षण समूह निर्दिष्ट करें और नीचे जोड़ें पर क्लिक करें।


अब मेजबानों की सूची में आपको डिफ़ॉल्ट ज़ैबिक्स सर्वर और लोकलहोस्ट दोनों दिखाई देंगे। यहां से हम कॉन्फ़िगर करना जारी रखेंगे।

Zabbix निगरानी 3 संस्थाओं की एक श्रृंखला पर आधारित है: आइटम - ट्रिगर - लड़ाई। सभी तीन लिंक अनिवार्य हैं, इसलिए आपको उनमें से प्रत्येक को अनुक्रम में बनाना होगा।

मद


आइटम एक डेटा संचायक है, और डेटा के बिना, निगरानी कुछ भी प्रतिक्रिया नहीं करेगी। एक आइटम बनाने के लिए, होस्ट की सूची में, स्थानीयहोस्ट नाम के दाईं ओर आइटम पर क्लिक करें। आप होस्ट नाम पर भी क्लिक कर सकते हैं और खुलने वाली स्क्रीन पर, आइटम टैब पर जाएं - सार समान है। एक बार आइटम टैब में, ऊपरी दाएं कोने में आइटम बनाएं पर क्लिक करें। नाम दर्ज करें - हब्र आइटम , फिर कुंजी फ़ील्ड के आगे जोड़ें पर क्लिक करें - नीचे स्क्रॉल करें, हमें मानक कुंजी vfs.file.exists की आवश्यकता है, इसे चुनें और इसे कुंजी फ़ील्ड में प्रतिस्थापित किया जाएगा। वर्तमान पथ के साथ फ़ाइल बदलें, हमारे मामले में कुंजी इस प्रकार होगी: vfs.file.exists [/ tmp / habrTriggerFile] । अद्यतन अंतराल फ़ील्ड में, 5s सेट करें ताकि होस्ट पर फ़ाइल बनाते समय निगरानी तेजी से प्रतिक्रिया दे। पृष्ठ के निचले भाग में, जोड़ें पर क्लिक करें, और तुरंत नया आइटम देखें।



उत्प्रेरक


ट्रिगर किए गए डेटा का मूल्यांकन करते हैं और जब वे निर्दिष्ट सीमा तक पहुंचते हैं, तो वे प्रतिक्रिया करते हैं - वे कार्रवाई शुरू करते हैं। बनाए गए आइटम के साथ स्क्रीन पर, ट्रिगर टैब पर जाएं:


ट्रिगर बनाएं पर क्लिक करें, इसे हबल ट्रिगर नाम दें। एक्सप्रेशन फ़ील्ड का मान कंस्ट्रक्टर - ऐड बटन का उपयोग करके आसानी से एकत्र किया जाता है। स्क्रीनशॉट में सेटिंग सेट करें और सम्मिलित करें पर क्लिक करें:


पृष्ठ के नीचे स्थित जोड़ें पर क्लिक करें - किया, ट्रिगर बनाया गया है।

कार्य


एक्शन एक एक्शन है जो एक ट्रिगर ट्रिगर को फायर करता है। कॉन्फ़िगरेशन खोलें - क्रियाएँ टैब, क्रिया बनाएँ पर क्लिक करें। नाम अचानक है - हब्र क्रिया । नीचे, नई स्थिति ब्लॉक में, सब कुछ डिफ़ॉल्ट के रूप में छोड़ दें और हैबर जोड़ें, परिणामस्वरूप, ट्रिगर नाम में हब्र स्थिति प्राप्त की जाएगी। एक शर्त जोड़ने के लिए जोड़ें पर क्लिक करें - यह तुरंत शर्तों ब्लॉक में दिखाई देगा, स्क्रीनशॉट देखें:


यहां, ऑपरेशंस टैब पर जाएं, फिर ऑपरेशंस ब्लॉक में, क्रिया जोड़ने के लिए नया पर क्लिक करें। ऑपरेशन प्रकार में, दूरस्थ कमांड का चयन करें, लक्ष्य सूची ब्लॉक और कमांड इनपुट क्षेत्र दिखाई देगा। लक्ष्य सूची ब्लॉक में, नया पर क्लिक करें, आपको डिफ़ॉल्ट लक्ष्य की पेशकश की जाएगी - वर्तमान होस्ट, आपको इसकी आवश्यकता है - जोड़ें पर क्लिक करें और लक्ष्य सूची में दिखाई देगा। इनपुट फ़ील्ड में, कर्ल + पहले से उत्पन्न अनुरोध Voximplant में डालें:

 curl "https://api.voximplant.com/platform_api/StartScenarios/?account_id=1&api_key=4ed5695e-4690-448r-95e8-3f8f0001287c&rule_id=28" 

फिर इस क्रिया को जोड़ें (एक लिंक के रूप में जोड़ें), और उसके बाद ही क्रिया के निर्माण को पूरा करने के लिए जोड़ें बटन पर क्लिक करें।


एक महत्वपूर्ण बिंदु: हमने रिमोट कमांड एक्शन के प्रकार को चुना, जिसे ज़ैबिक्स एजेंट कॉन्फ़िगरेशन में डिफ़ॉल्ट रूप से बंद कर दिया गया है। इसे ठीक करने के लिए, होस्ट पर, कॉन्फ़िगरेशन खोलें और EnableRemoteCommands के लिए 1 का मान डालें:

 vi /etc/zabbix/zabbix_agentd.conf // EnableRemoteCommands = 1 

उसके बाद, एजेंट सेवा को फिर से शुरू करें:

 service zabbix-agent restart 


हम कार्यों की श्रृंखला शुरू करते हैं


Zabbix पैनल में, मॉनिटरिंग - प्रॉब्लम्स सेक्शन में जाएँ। जल्द ही हम यहां एक चेतावनी देखेंगे कि ट्रिगर ने काम किया।

होस्ट पर, एक फ़ाइल बनाएँ:

 touch /tmp/habrTriggerFile 

समस्या पैनल में 5 सेकंड के बाद हम एक नया संदेश देखेंगे; PROBLEM स्टेटस कॉलम में फ्लैश करेगा, और यदि आप एक्शन के कॉलम में आइकन पर क्लिक करते हैं, तो आपको एक्शन का विवरण दिखाई देगा (स्क्रीनशॉट क्लिक करने योग्य है):



साथ ही, फोन नंबर पर एक कॉल किया जाएगा जिसे हमने Voximplant स्क्रिप्ट में निर्दिष्ट किया था।

फिल्म "द मैट्रिक्स" (द मैट्रिक्स) (1999), वार्नर ब्रदर्स से फ्रेम के आधार पर।

यदि आप फ़ाइल का नाम बदलते हैं,

 mv /tmp/habrTriggerFile /tmp/habrTriggerFile_ 

फिर 5 सेकंड के बाद समस्या की स्थिति RESOLVED हो जाएगी।

हो गया! आप महान हैं क्योंकि आपने मेजबान को सेट किया है - ज़ैबिक्स - वोक्सिमप्लांट इंटरैक्शन चेन और, इसी सिद्धांत से, अधिसूचना कॉल के लिए मनमाने ढंग से जटिल तर्क सेट कर सकते हैं।

Source: https://habr.com/ru/post/hi465491/


All Articles