दिन का अच्छा समय!
... ग्राहक ने
MongoDB निगरानी का अनुरोध किया। इंटरनेट के माध्यम से अफवाह, मैं ऑनलाइन निगरानी प्रणाली
MongoDB (MMS) के बारे में एक लेख में आया था, लेकिन यह विकल्प अच्छी तरह से काम नहीं करता है क्योंकि: सबसे पहले, आंकड़े अपने सर्वर से आगे नहीं जाना चाहिए, दूसरी बात, कंपनी की निगरानी
Zabbix, जो मेरी राय में उत्कृष्ट थी, को उठाया गया था। । MobgoDB वेबसाइट पर, मॉनिटरिंग और डायग्नॉस्टिक्स सेक्शन में,
मिकूमि "MongoDB प्लगइन" से समाप्त
ज़ैबिक्स प्लगइन के लिए एक उल्लेख था।
इसका उपयोग करने का निर्णय लिया गया। टिप्पणियों से देखते हुए, उन्होंने एक व्यक्ति से अर्जित किया और वास्तव में प्रक्रिया में कुछ कठिनाइयां थीं। मैंने उन गलतियों के बारे में लिखा था जो मैंने डेवलपर को देखी थीं, लेकिन उसने एक भी पत्र का जवाब नहीं दिया।
निम्नलिखित अशुद्धियाँ देखी गईं:
- डेटाबेस की संख्या की गलत गणना (php फ़ाइल में त्रुटि)- टेम्प्लेट के विवरण में, लॉग फ़ाइल सांख्यिकी पुनर्प्राप्ति के लिए पैरामीटर थे, लेकिन वास्तविकता में नहीं (टेम्पलेट में त्रुटि)Journaling: Commits in last 1 Minute Journaling: Commits in Writelocks in last 1 Minute Journaling: Datafile Write Time (ms) in last 1 Minute Journaling: Datafile Writes (MB) in last 1 Minute Journaling: Early Commits in last 1 Minute Journaling: Journal Write Time (ms) in last 1 Minute Journaling: Journal Writes (MB) in last 1 Minute Journaling: Log Buffer Prep Time (ms) in last 1 Minute
- ट्रिगर काम नहीं किया (टेम्पलेट में एक त्रुटि भी) One or more databases have been created One or more databases have been destroyed One or more replication members need attention One or more members have been removed from the ReplicaSet One or more members have been added to the ReplicaSet One or more new shard chunks have been created One or more shards have been added to the cluster One or more shards have been removed from the cluster One or more new sharded collections have been created One or more collections have been dropped One or more collections have been added One or more indexes have been dropped One or more indexes have been added
सब कुछ तय है, काम कर रहा है और परीक्षण किया है।
तो हमारे पास क्या है:
डेबियन निचोड़ज़ैबिक्स 1.8.10MongoDB-10genमैं इस आलेख के दायरे से बाहर होने के बाद से MongoDB OS (ऑपरेटिंग सिस्टम), SM (मॉनिटरिंग सिस्टम) और DBMS (डेटाबेस मैनेजमेंट सिस्टम) को स्थापित करने पर विचार नहीं करूंगा। स्थापना और कॉन्फ़िगरेशन प्रलेखन पर्याप्त से अधिक है।
इसलिए आगे बढ़ें।
सभी इंस्टॉलेशन केवल Zabbix CM वाले सर्वर पर होते हैं। MongoDB सर्वर पर, आपको केवल 27017 पोर्ट खोलना होगा।
काम करने के लिए प्लगइन के लिए,
zabbix-agen t स्थापित करें, जिसमें हमें
आवश्यक zabbix प्रेषक शामिल
है ।
sudo apt-get install zabbix-agent
बाह्य स्क्रिप्ट के लिए एक निर्देशिका बनाएँ - बाहरी लिपियों की मेजबानी:
sudo mkdir -p /etc/zabbix/externalscripts/
ज़ैबिक्स दिखाएं जहां बाहरी स्क्रिप्ट इसके लिए रहती हैं, इसके लिए हम
" बाहरी स्क्रिप्ट
" अनुभाग को देखते हैं और इसे निम्न दृश्य पर ठीक करते हैं (एक पंक्ति संपादित करें):
sudo nano /etc/zabbix/zabbix_server.conf
### Option: ExternalScripts # Location of external scripts # Mandatory: no # Default: ExternalScripts=/etc/zabbix/externalscripts
MongoDB प्लगइन स्वयं MongoDB PHP ड्राइवर के साथ काम करता है, जिसे इंस्टॉल किया जाना चाहिए। इसके लिए, निम्नलिखित पैकेजों की आवश्यकता होगी:
sudo apt-get install php5-dev php-pear gcc make git
अब सीधे ही MongoDB PHP ड्राइवर स्थापित करें:
sudo pecl install mongo
एक सफल स्थापना के बाद, आपको इसे सक्षम करना होगा।
Php.ini में, "
डायनेमिक एक्सटेंशन" अनुभाग देखें और वहां एक पंक्ति जोड़ें।
sudo find /etc/ -name "php.ini"
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
हमारे मामले में, हम दोनों मिली फ़ाइलों को जोड़ते हैं:
;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; extension=mongo.so
संपादन के बाद, वेब सर्वर को फिर से शुरू करने के लिए परिवर्तनों के लिए:
sudo apache2ctl -k graceful
ड्राइवर का परीक्षण , इसके लिए हम ऐसी सामग्री के साथ एक फ़ाइल बनाते हैं
nano ~/test.php
<?php // connect $m = new Mongo(); // select a database $db = $m->comedy; // select a collection (analogous to a relational database's table) $collection = $db->cartoons; // add a record $obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" ); $collection->insert($obj); // add another record, with a different "shape" $obj = array( "title" => "XKCD", "online" => true ); $collection->insert($obj); // find everything in the collection $cursor = $collection->find(); // iterate through the results foreach ($cursor as $obj) { echo $obj["title"] . "\n"; } ?>
परीक्षण स्क्रिप्ट चलाएँ
/usr/bin/php5 test.php
यदि सब कुछ काम करता है, तो परिणाम होना चाहिए:
Calvin and Hobbes XKCD
नोट:
यदि डेटाबेस लोकलहोस्ट पर नहीं है, तो टेस्ट स्क्रिप्ट में कनेक्शन स्ट्रिंग इस तरह होगी:
यह था
$m = new Mongo();
बन गया है
$m = new Mongo( "example.com:27017" );
प्लगइन स्वयं डाउनलोड करें (
शेल और
php स्क्रिप्ट) और वांछित फ़ोल्डर में फ़ाइलों को कॉपी करें।
sudo cd ~ && git clone git://gist.github.com/2634051.git gist-2634051 && cp ~/gist-2634051/mikoomi-mongodb-plugin.* /etc/zabbix/externalscripts/
दोनों को निष्पादन योग्य बनाना
sudo chmod 755 /etc/zabbix/externalscripts/mikoomi-mongodb-plugin.*
मालिक को बेनकाब करें
sudo chown -R zabbix:zabbix /etc/zabbix/externalscripts/
zabbix सर्वर पुनरारंभ होता है
sudo /etc/init.d/zabbix-server restart
Miookomi से Zabbix के लिए टेम्पलेट डाउनलोड करें। और पहले से ही एसएम के वेब इंटरफेस से हम टेम्पलेट आयात करते हैं।
- सेटिंग्स टेम्पलेट्स
- ऊपरी दाएं कोने में "आयात टेम्पलेट" बटन पर क्लिक करें।
- पहले से डाउनलोड किए गए टेम्पलेट का पता लगाएं।
- टेम्पलेट डाउनलोड करें।
हम MongoDB सर्वर को CM से जोड़ते हैं
- * सेटअप - होस्ट
- * ऊपरी दाहिने कोने में बटन पर क्लिक करें "एक मेजबान बनाएँ"
- * आवश्यक पैरामीटर भरें
- * "जोड़ें" बटन पर क्लिक करें और "Template_MongoDB" निर्दिष्ट करें
मैक्रोज़ अनुभाग में, तीन मैक्रोज़ जोड़ें (यदि डेटाबेस का कनेक्शन प्राधिकरण के बिना है)
{$MONGODB_HOSTNAME} = IP {$MONGODB_PORT} = , 27017 {$MONGODB_ZABBIX_NAME} = ()
यदि कनेक्शन प्राधिकरण के साथ है, तो दो और मैक्रोज़
{$MONGODB_USER} = {$MONGODB_PASS} =
और अंत में, "सहेजें" को मत भूलना।
यह कुछ इस तरह दिखना चाहिए:

प्लगइन की जाँच
cd /etc/zabbix/externalscripts/
./mikoomi-mongodb-plugin.sh [-D -h 127.0.0.1 -p 27017 -z MongoDB_ZabbixN ]
यदि सब कुछ सामान्य है, तो लॉग फाइल होनी चाहिए
tail -f /tmp/mikoomi-mongodb-plugin.php_MongoDB_ZabbixN.log
"response":"success", "info":"Processed 66 Failed 5 Total 71 Seconds spent 0.000747"}] Info from server: "Processed 66 Failed 5 Total 71 Seconds spent 0.000747" sent: 71; skipped: 2; total: 73
लॉग फ़ाइल और बनाई गई डेटा फ़ाइल को zabbix उपयोगकर्ता से नहीं हटाएं
rm -rf /tmp/mikoomi-mongodb-plugin.php_MongoDB_ZabbixN.*
हम एक मिनट के लिए इंतजार कर रहे हैं और लॉग फिर से दिखाई देंगे, अगर ऊपर है, तो यह सब काम किया। हम वेब इंटरफ़ेस "मॉनिटरिंग" में जाते हैं - "हालिया डेटा" और परिणाम का आनंद लें :)
डिफ़ॉल्ट रूप से, टेम्पलेट में निम्न शामिल हैं:
13 समूह (जिसमें 77 डेटा आइटम शामिल हैं)
14 ट्रिगर
चार्ट के 4 समूह
चार्ट उदाहरण
"अंतिम मिनट में लेनदेन की गणना"

"पत्रिका का उपयोग"
