मैं Zabbix और पायथन स्क्रिप्ट के लिए एक तैयार-किए गए टेम्पलेट की पेशकश करता हूं ताकि नए ज़ेडर्मा प्रदाता संख्याओं (आपके द्वारा खरीदी गई संख्याओं के अर्थ में) का स्वचालित रूप से पता लगाया जा सके।
टेम्पलेट में कई ट्रिगर हैं और कमरों के बारे में बुनियादी जानकारी है। स्क्रिप्ट Zadarma API या MySQL डेटाबेस के साथ काम करती है।
MySQL के साथ काम करने के लिए, यह आवश्यक है कि पहले से ही मुकुट पर या सीधे एक अलग स्क्रिप्ट का उपयोग करके डेटा को डायलन से डाल दिया जाए।
कट के नीचे दोनों स्क्रिप्ट।
zadarma_number.pyस्क्रिप्ट को zabbiz एजेंट के लिए स्क्रिप्ट के साथ निर्देशिका में रखा जाना चाहिए, मेरे पास यह है
/etc/zabbix/scripts/
इसके अलावा, इसे चलाने का अधिकार दें और मामले में, मालिक और zabbix के समूह को बदलें:
chmod +x /etc/zabbix/scripts/zadarma_number.py chown zabbix:zabbix /etc/zabbix/scripts/zadarma_number.py
सैद्धांतिक रूप से, दिए गए डेटाबेस के साथ काम करना अधिक प्रासंगिक हो सकता है, क्योंकि प्रत्येक कॉल के बाद जानकारी जोड़ने के लिए एक स्क्रिप्ट चल सकती है। इस प्रकार, डेटाबेस में जानकारी सीधे Zabbix से एपीआई के साथ प्रत्यक्ष काम की तुलना में थोड़ा अधिक प्रासंगिक हो सकती है।
Zabbix टेम्पलेट में, मैक्रो {$ FORCE_API} स्क्रिप्ट को Zadarma API के साथ काम करने के लिए मजबूर करता है।
मैक्रो {$ CUT} का उपयोग SIP-URI अनुरोध स्ट्रिंग को "@" से पहले और बाद के भागों में विभाजित करने के लिए किया जाता है।
स्क्रिप्ट को चलाने के लिए कई कुंजियाँ हैं।
कुंजियों के बिना या -l स्विच के साथ, स्क्रिप्ट जोंस प्रारूप में संख्याओं की एक सूची लौटाएगी, जो zabbix में संख्याओं के ऑटो-डिटेक्शन के लिए उपयुक्त है।
स्क्रिप्ट कुंजी के लिए सहायता:उपयोग: Zabbix [-h] [-l] [-n फोन नंबर] [-S] [-ग] [-ई] [-ड] [-s] के लिए ज़ादर्मा
[-एम] [-ए] [-बी] [-एफ] [-सी [०,१,२] या कोई नहीं]
यह कार्यक्रम Zadarma प्रदाता की संख्या और निगरानी के लिए बनाया गया है
मूल रूप से zabbiz एजेंट की स्क्रिप्ट के रूप में कल्पना की गई।
optional arguments: -h, --help show this help message and exit -l, --allnumbers "Show all found phone numbers in a format suitable for zabbix. Running a script without parameters (or with the -f option) leads to the same result." -n phone number, --number phone number "Phone number and -s or -S or -g or -e or -d or -m or -a " -S, --status -g, --start_date -e, --stop_date -d, --description -s, --sip "can be used in combination with "-c"" -m, --monthly_fee "The amount required to renew a phone number or all phone numbers" -a, --autorenew -b, --balance All balance numbers -f, --force_API "Force the use of api, the database is ignored" -c [0,1,2] or none, --cut [0,1,2] or none Used only in conjunction with "-s" 0 - The whole line, 1- Part of the string before "@", 2 - Part of the line after "@"
चाबियाँ "-S, -s, -g, -e, -d, -a" केवल एक संख्या के साथ संयोजन में उपयोग की जाती हैं
-M स्विच का उपयोग एक नंबर के साथ या उसके बिना किया जा सकता है
की-बी, केवल संख्या के बिना
-सी स्विच केवल -s स्विच के साथ
-F स्विच एपीआई के उपयोग को मजबूर करता है, इसके बिना, डेटाबेस को एक अनुरोध भेजा जाता है और इसे किसी भी स्विच के साथ उपयोग किया जा सकता है।
दूसरी स्क्रिप्ट:
स्क्रिप्ट API_to_MySqlइसलिए इसे चलाने का अधिकार दें:
chmod +x ./main.py
स्क्रिप्ट को कैसे कॉल किया जाए और इसे कहां रखा जाए, यह खुद तय करें।
कंसोल पर जानकारी के आउटपुट को अक्षम करने के लिए, आपको लाइन को अनइंस्टॉल करने की आवश्यकता है
debug = false
काम करने के लिए दोनों लिपियों के लिए, आपको "अनुरोध" स्थापित करने की आवश्यकता होगी
pip install requests
संख्या के लिए तालिका CREATE TABLE IF NOT EXISTS `zadarma_numbers` ( `id` int(10) NOT NULL, `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `number` varchar(12) DEFAULT NULL, `number_name` varchar(60) DEFAULT NULL, `description` varchar(60) NOT NULL DEFAULT '', `sip` varchar(80) DEFAULT NULL, `start_date` datetime NOT NULL, `stop_date` datetime NOT NULL, `monthly_fee` int(5) DEFAULT NULL, `status` int(1) DEFAULT NULL, `channels` int(3) DEFAULT NULL, `autorenew` int(1) DEFAULT NULL ) ENGINE=InnoDB AUTO_INCREMENT=205 DEFAULT CHARSET=utf8; ALTER TABLE `zadarma_numbers` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `number` (`number`), ADD KEY `calldate` (`date`), ADD KEY `accountcode` (`monthly_fee`); ALTER TABLE `zadarma_numbers` MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
संतुलन के लिए तालिका CREATE TABLE IF NOT EXISTS `zadarma_balance` ( `id` int(10) NOT NULL, `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `balance` int(10) DEFAULT NULL, `monthly_fee` int(10) DEFAULT NULL ) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8; ALTER TABLE `zadarma_balance` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `balance` (`balance`), ADD KEY `calldate` (`date`); ALTER TABLE `zadarma_balance` MODIFY `id` int(10) NOT NULL AUTO_INCREMENT;
Mysql टेम्पलेट, स्क्रिप्ट और डंप के साथ
भंडार ।