ज़बिक्स एक उद्यम-स्तरीय ओपन-सोर्स मॉनिटरिंग सिस्टम है। वर्तमान में, ज़ब्बिक्स सबसे लोकप्रिय और शक्तिशाली मुफ्त निगरानी प्रणालियों में से एक है। इसकी सरल स्थापना और कॉन्फ़िगरेशन के कारण, ज़ैबिक्स का उपयोग सैकड़ों मेजबानों के साथ-साथ छोटे कॉन्फ़िगरेशन के साथ बड़े बुनियादी ढांचे की निगरानी के लिए किया जा सकता है। इस लेख में हम आपको दिखाएंगे कि लिनक्स उबंटू और सेंटोस पर वेब इंटरफेस के साथ ज़ैबिक्स सर्वर 5.0 की बुनियादी सुविधाओं को कैसे स्थापित और कॉन्फ़िगर किया जाए, और विंडोज या लिनक्स चलाने वाले सर्वर पर ज़ैबिक्स एजेंट कैसे स्थापित किया जाए और निगरानी के लिए नए होस्ट जोड़े जाएं।
आप नीचे स्क्रीनशॉट में ज़ब्बिक्स सर्वर डैशबोर्ड इंटरफ़ेस देख सकते हैं।
सरल और कॉन्फ़िगर करने में आसान ज़ैबिक्स सी (एक सर्वर, एक प्रॉक्सी और एक एजेंट) और पीएचपी (फ्रंटएंड) पर लिखा गया है। ज़बिक्स सर्वर और ज़ब्बिक्स प्रॉक्सी लिनक्स सिस्टम में ही काम करते हैं। ज़ब्बिक्स एजेंट को विभिन्न प्रकार के समर्थित ऑपरेटिंग सिस्टम और प्लेटफॉर्म पर स्थापित किया जा सकता है।
ज़ैबिक्स सर्वर इंस्टॉलेशन में निम्न शामिल हैं:
- एक zabbix_server बाइनरी (आमतौर पर, यह एक सेवा के रूप में काम कर रहा है);
- MySQL/MariaDB/PostgreSQL डेटाबेस; PHP हैंडलर के साथ
- Apache2/Nginx वेब सर्वर;
- फ्रंटेंड साइट फ़ाइलें (.php, .js, .css, आदि)।
आमतौर पर, ऑपरेटिंग स्कीम इस तरह दिखती है:
- ज़बिक्स एजेंट सर्वर को डेटा भेजता है;
- एक Zabbix सर्वर डेटा प्राप्त करता है और संसाधित करता है;
- यदि प्राप्त डेटा निर्दिष्ट शर्तों को पूरा करता है, तो एक ट्रिगर सक्रिय हो जाता है;
- सक्रिय ट्रिगर इंगित करता है कि कोई समस्या है। फ़्रंटएंड (साइट पर) में एक सूचना दिखाई देती है, और कॉन्फ़िगरेशन के आधार पर, एक ईमेल सूचना भेजी जाती है या कुछ क्रियाएं की जाती हैं (उदाहरण के लिए, एक निगरानी सेवा पुनरारंभ होती है)।
ज़ैबिक्स सभी ज्ञात प्रोटोकॉल के साथ काम कर सकता है। बाहरी स्क्रिप्ट का उपयोग करने की क्षमता के लिए धन्यवाद, ज़ैबिक्स किसी भी निष्पादन योग्य स्क्रिप्ट/बायनेरिज़ से डेटा निष्पादित और प्राप्त कर सकता है।
लिनक्स (उबंटू, सेंटोस) पर ज़ैबिक्स सर्वर कैसे स्थापित करें?
इस ट्यूटोरियल में हम दिखाएंगे कि पैकेज मैनेजर का उपयोग करके लिनक्स (उबंटू सर्वर 18.4 और सेंटोस 8) पर ज़ैबिक्स सर्वर कैसे स्थापित करें।
डाउनलोड पेज https://www.zabbix.com/download पर जाएं और उस रिपॉजिटरी का चयन करें जो आपके लिनक्स वितरण से मेल खाती हो। सभी लोकप्रिय लिनक्स डिस्ट्रो के लिए तैयार पैकेज हैं।
उदाहरण के लिए, उबंटू 18.04 पर ज़ैबिक्स को स्थापित करने के लिए, निम्नलिखित को बदले में चुनें:
Zabbix संस्करण (5.0 LTS) -> OS वितरण (उबंटू) -> OS संस्करण (18.04 बायोनिक) -> डेटाबेस (MySQL) -> वेब सर्वर (Nginx या Apache)।
डाउनलोड करें और रिपॉजिटरी जोड़ें:
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb
# dpkg -i zabbix-release_5.0-1+bionic_all.deb
# apt update
फिर आप आवश्यक पैकेज स्थापित कर सकते हैं:
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent
CentOS 8/RHEL 8 पर Zabbix को स्थापित करने के लिए, रिपॉजिटरी को नवीनतम Zabbix संस्करण से कनेक्ट करें (आप Zabbix को 4.0/5.0 LTS शाखा या नवीनतम Zabbix 5.2 से स्थापित कर सकते हैं):
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
मान लीजिए कि सर्वर पर nginx, MySQL/MariaDB, php और php-fpm पहले से ही इंस्टॉल हैं। Zabbix सर्वर और एजेंट को स्थापित करने के लिए dnf (yum) पैकेज मैनेजर का उपयोग करें:
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent
फिर MySQL में Zabbix के लिए एक डेटाबेस बनाएं (आप MySQL के बजाय PostgreSQL का उपयोग कर सकते हैं, बस पिछले कमांड में 'mysql' को 'pgsql' से बदलें)।
एक डेटाबेस बनाएं और उपयोगकर्ता खाते को अनुमति दें, जिसके तहत ज़ब्बिक्स डीबी तक पहुंचेगा:
mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'ZabbixP@$$w0rd';
mysql> quit;
ज़ब्बिक्स डेटाबेस आयात करें। उपयोगकर्ता बनाते समय आपके द्वारा निर्दिष्ट पासवर्ड दर्ज करें।
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbix
संपादित करें /etc/zabbix/zabbix_server.conf
, आपके द्वारा बनाए गए उपयोगकर्ता का पासवर्ड निर्दिष्ट करें।
DBPassword=Zabbix_User_Password
चूंकि मेरे मामले में nginx का उपयोग वेब सर्वर के रूप में किया जाता है, nginx.conf को निम्न पंक्तियों को हटाकर संपादित करें:
# listen 80; # server_name example.com;
#
हटाएं और example.com को Zabbix सर्वर होस्टनाम से बदलें। मेरे मामले में यह test.zabbix.local है।
/etc/httpd/conf.d/zabbix.conf
संपादित करें .
PHP में समय क्षेत्र सेट करें। /etc/zabbix/php-fpm.conf
में निम्न पंक्ति को अनकम्मेंट करें :
php_value[date.timezone] = Canada/Pacificसुनिश्चित करें कि आपके ज़ब्बिक्स सर्वर पर समय एक विश्वसनीय एनटीपी स्रोत के साथ सिंक्रनाइज़ है।
आप इन PHP पैरामीटर को /etc/php.ini में भी सेट कर सकते हैं:
memory_limit 128M upload_max_filesize 8M post_max_size 16M max_execution_time 300 max_input_time 300 max_input_vars 10000
zabbix-server सेवा को स्टार्टअप में जोड़ें और इसे चलाएं:
# systemctl enable zabbix-server zabbix-agent nginx php7.2-fpm
# systemctl restart zabbix-server zabbix-agent nginx php7.2-fpm
ज़ब्बिक्स वेब इंटरफ़ेस कॉन्फ़िगरेशन
अब आपको ज़ब्बिक्स फ्रंटेंट (वेब इंटरफ़ेस) को कॉन्फ़िगर करना होगा। एक ब्राउज़र में पहले निर्दिष्ट Zabbix सर्वर URL खोलें। मेरे मामले में, यह test.zabbix.local (या आपके द्वारा निर्दिष्ट डोमेन है। इसे अपनी होस्ट फ़ाइल या DNS सर्वर पर पंजीकृत करना याद रखें)। सुनिश्चित करें कि सभी इंस्टॉलर आवश्यकताओं के आगे OK दिखाया गया है।
डीबी से कनेक्ट करने के लिए डेटाबेस कनेक्शन पैरामीटर और उपयोगकर्ता प्रमाण-पत्र निर्दिष्ट करें। पहले बनाए गए उपयोगकर्ता नाम और पासवर्ड का उपयोग करें।
अपने ज़ैबिक्स सर्वर का नाम निर्दिष्ट करें। मैं डिफ़ॉल्ट पोर्ट - टीसीपी 10051 छोड़ने की सलाह देता हूं।
डिफ़ॉल्ट रूप से, ज़ब्बिक्स दो नेटवर्क पोर्ट का उपयोग करता है:- टीसीपी 10050 — पैसिव एजेंट पोर्ट, जिसे Zabbix सर्वर क्लाइंट को पोल करने के लिए इस्तेमाल करता है;;
- टीसीपी 10051 — पोर्ट जिसके माध्यम से ज़ैबिक्स सर्वर क्लाइंट (सक्रिय एजेंट) से डेटा प्राप्त करता है।
इन पोर्ट को फायरवॉल पर खोलना न भूलें। उदाहरण के लिए, CentOS चलाने वाले Zabbix सर्वर पर आप फ़ायरवॉल-cmd का उपयोग करके फ़ायरवॉल में पोर्ट खोल सकते हैं:
# firewall-cmd --add-service={http,https} --permanentfirewall-cmd --add-port={10051/tcp,10050/tcp} –permanent
एजेंट पर पोर्ट 10050 खोलने के लिए पर्याप्त है:
# firewall-cmd --permanent --add-port=10050/tcp
फायरवॉल पुनः प्रारंभ करें:
# firewall-cmd –reload
फिर अगला चरण . क्लिक करें और समाप्त करें . स्थापना के बाद, आपको लॉगिन करने के लिए प्रेरित किया जाएगा। डिफ़ॉल्ट लॉगिन व्यवस्थापक . है , डिफ़ॉल्ट पासवर्ड zabbix . है (इसे बदलें)।
ज़ैबिक्स सर्वर इंस्टालेशन खत्म हो गया है।
आप अन्य ओएस पर ज़ैबिक्स सर्वर इंस्टॉलेशन पर चरण-दर-चरण निर्देश पा सकते हैं और स्रोत कोड से ज़ैबिक्स-सर्वर कैसे बनाएं या इसे https://www.zabbix.com/download पर डॉकटर कंटेनरों में कैसे चलाएं। /पी> आप सक्रिय निर्देशिका एलडीएपी का उपयोग कर उपयोगकर्ताओं को प्रमाणित करने के लिए ज़ब्बिक्स को कॉन्फ़िगर कर सकते हैं।
Windows पर Zabbix Agent कैसे स्थापित करें?
आइए विंडोज़ चलाने वाले सर्वर पर ज़ब्बिक्स एजेंट स्थापित करने का प्रयास करें और इसे हमारे ज़ब्बिक्स मॉनिटरिंग सर्वर में जोड़ें। आप यहां विंडोज के लिए ज़ब्बिक्स एजेंट संस्करण डाउनलोड कर सकते हैं:https://www.zabbix.com/download_agents।
आपको जिस एजेंट संस्करण की आवश्यकता है उसे चुनें। मैं msi . चुनूंगा (amd64) (ओपनएसएसएल के बिना)। यदि आप GPO या SCCM का उपयोग करके डोमेन सर्वर/कंप्यूटर पर Zabbix Agent स्थापित करने जा रहे हैं, तो आप बाइनरी और कॉन्फ़िगरेशन फ़ाइलों के साथ एक ज़िप संग्रह डाउनलोड कर सकते हैं।
इंस्टॉलर चलाएं, लाइसेंस समझौते को स्वीकार करें और ज़ब्बिक्स सर्वर से कनेक्ट करने के लिए सेटिंग्स निर्दिष्ट करें। कृपया ध्यान दें कि "सक्रिय जांच के लिए सर्वर या प्रॉक्सी" फ़ील्ड में मैंने IP:PORT
में एक IP पता दर्ज किया है प्रारूप। चूंकि मैंने एक डिफ़ॉल्ट पोर्ट छोड़ा है, इसलिए मैंने 192.168.20.30:10051
. दर्ज किया है ।
अगला क्लिक करें एक दो बार, फिर इंस्टॉल करें . क्लिक करें ।
सुनिश्चित करें कि एजेंट स्थापित किया गया है। ज़ब्बिक्स एजेंट को सेवाओं की सूची में प्रकट होना चाहिए।
अपने विंडोज होस्ट पर विंडोज फ़ायरवॉल में अपने ज़ैबिक्स सर्वर आईपी पते से इनबाउंड कनेक्शन की अनुमति दें:
New-NetFirewallRule -DisplayName "ZabbixMonitoring" –RemoteAddress 192.168.20.30 -Direction Inbound -Protocol TCP –LocalPort 10050 -Action Allow
ज़बिक्स सर्वर पर नया होस्ट कैसे जोड़ें?
यह सुनिश्चित करने के लिए कि एजेंट संचालित है, अपने ज़ब्बिक्स सर्वर में टेस्टनोड 2 होस्ट जोड़ें और इसे कुछ चेक (टेम्पलेट्स) असाइन करें।
नोट . Zabbix में दो तरह के चेक होते हैं:- पैसिव — Zabbix सर्वर एजेंट से कुछ डेटा का अनुरोध करता है;
- सक्रिय — एजेंट सर्वर को डेटा भेज रहा है।
एजेंट की स्थापना के दौरान, हमने सक्रिय जांच के लिए सर्वर को IP:PORT के रूप में निर्दिष्ट किया।
आप ज़ैबिक्स वेब इंटरफेस के माध्यम से एक नया मॉनिटरिंग होस्ट जोड़ सकते हैं। कॉन्फ़िगरेशन पर जाएं -> होस्ट ।
होस्ट बनाएं क्लिक करें और विवरण भरें। ध्यान दें कि होस्ट नाम एजेंट कॉन्फ़िगरेशन फ़ाइल में डिवाइस होस्टनाम या होस्टनाम पैरामीटर के मान से सटीक रूप से मेल खाना चाहिए।
टेम्पलेट्स . में अंतर्निहित Windows टेम्प्लेट जोड़ें टैब। ज़ैबिक्स में टेम्प्लेट मानों, ट्रिगर, ग्राफ़ और खोज नियमों के सेट हैं जिन्हें एक या अधिक होस्ट को सौंपा जा सकता है।
बिल्ट-इन टेम्प्लेट में "सक्रिय" लेबल होता है, और इसका मतलब है कि सक्रिय जांच का उपयोग किया जाएगा।
जोड़ें Click क्लिक करें . सर्वर और एजेंट एक-दूसरे को देखने तक प्रतीक्षा न करने के लिए (आमतौर पर इसमें कुछ मिनट लगते हैं), टेस्टनोड 2 पर ज़ैबिक्स एजेंट सेवा को पुनरारंभ करें और एजेंट लॉग देखें (C:\Program Files\Zabbix Agent\zabbix_agentd.txt
)।
“started [active checks #1]
"संदेश का अर्थ है कि सर्वर पर होस्ट के लिए कुछ सक्रिय चेक पाए गए हैं। फिर उस डेटा पर एक नज़र डालें जो आपके ज़ब्बिक्स सर्वर को एजेंट से प्राप्त हुआ था। ऐसा करने के लिए, निगरानी . पर जाएं -> नवीनतम डेटा और होस्ट . में होस्ट का चयन करें फ़ील्ड.
यह खंड चयनित होस्ट या ज़ब्बिक्स सर्वर पर आए मेजबानों के समूहों पर नवीनतम डेटा दिखाता है।
कृपया ध्यान दें कि मेरे मामले में ज़ब्बिक्स डैशबोर्ड में एक सूचना है कि बिट्स सेवा नहीं चल रही है। जब से हमने अपने होस्ट को बिल्ट-इन टेम्प्लेट असाइन किए हैं, तब से अधिसूचना दिखाई दी। टेम्प्लेट में से एक में BITS चेक होता है, और यदि BITS सेवा चालू स्थिति में नहीं है, तो संबंधित ट्रिगर सक्रिय हो जाता है।
Windows के लिए एजेंट कॉन्फ़िगर किया गया है।
लिनक्स पर ज़ैबिक्स एजेंट इंस्टॉल करना
आइए लिनक्स पर ज़ैबिक्स एजेंट स्थापित करें। पैकेज मैनेजर का उपयोग करके उबंटू सर्वर 18.04 पर ज़ैबिक्स एजेंट को स्थापित करने के लिए, ज़ैबिक्स रेपो को डाउनलोड और इंस्टॉल करें। फिर रिपॉजिटरी से Zabbix Agent इंस्टॉल करें:# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
# sudo dpkg -i zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
# sudo apt update
# sudo apt -y install zabbix-agent
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-agent
ज़ब्बिक्स एजेंट शुरू करने से पहले, कॉन्फ़िगरेशन फ़ाइल /etc/zabbix/zabbix_agentd.conf. सक्रिय जांच के लिए अपने ज़ैबिक्स सर्वर का आईपी पता निर्दिष्ट करें।
Server=IP ServerActive=192.168.20.30:10051 Hostname=testagent
फिर एजेंट सेवा शुरू करें:
# service zabbix-agent start
सुनिश्चित करें कि एजेंट सफलतापूर्वक शुरू हो गया है।
# cat /var/log/zabbix/zabbix_agentd.log
लाइन “सक्रिय जांचों की सूची को पार्स नहीं कर सकती " का अर्थ है कि सर्वर पर होस्ट के लिए कोई सक्रिय जांच नहीं है।
विंडोज एजेंट की तरह, आपको अपने लिनक्स होस्ट को ज़ब्बिक्स में जोड़ना होगा। अपने ज़ैबिक्स सर्वर की होस्ट सेटिंग्स में होस्ट नाम पैरामीटर पर ध्यान दें:यह होस्टनाम पैरामीटर से मेल खाना चाहिए जो हमने ज़ब्बिक्स एजेंट कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट किया है। ऊपर की कॉन्फ़िगरेशन फ़ाइल में मैंने होस्ट नाम को testagent . के रूप में निर्दिष्ट किया है ।
अपने ज़ब्बिक्स एजेंट को पुनरारंभ करें और लॉग की जांच करें। सुनिश्चित करें कि एजेंट का डेटा आपके ज़ब्बिक्स सर्वर पर दिखाई दिया है। Linux पर Zabbix एजेंट कॉन्फ़िगर किया गया है।
अगले लेख में हम ICMP Ping के माध्यम से Zabbix में होस्ट उपलब्धता की एजेंट रहित निगरानी देखेंगे।