Ubuntu 24.04 वर Zabbix 7.0 LTS स्थापित करण्याची पद्धत
Ubuntu 24.04 वर Zabbix 7.0 LTS स्थापित करा: repository जोडा, MySQL schema import करा, nginx frontend आणि agent2 जोडताना येणाऱ्या त्रुटींचे निराकरण करा.
तुम्ही काय उभारत आहात
एकच Ubuntu 24.04 VPS, ज्यावर संपूर्ण Zabbix 7.0 LTS स्टॅक चालेल: मतदान आणि सूचना देणारा zabbix-server daemon, प्रत्येक मेट्रिक साठवणारा MariaDB/MySQL डेटाबेस, nginx द्वारे उपलब्ध केलेला PHP frontend आणि स्वतःच्या यंत्रणेकडून मेट्रिक्स गोळा करणारा zabbix-agent2. हे सुरू झाल्यावर ते दुसऱ्या सर्व्हरकडे निर्देशित करा, एक template जोडा आणि डिस्क भरली किंवा एखादी service बंद पडली की लगेच ईमेल मिळवा.
Zabbix हे status-page साधनापेक्षा अधिक संसाधने वापरते. ही templates, triggers, escalation आणि इतिहास ठेवण्याची सुविधा असलेली वास्तविक time-series प्रणाली आहे. बहुतेक अडचणी लोक वगळत असलेल्या 3 टप्प्यांमध्ये असतात: डेटाबेस schema import करणे, server प्रत्यक्षात वाचत असलेला डेटाबेस password सेट करणे आणि nginx config मध्ये 2 ओळींचे comment काढणे. हे योग्य प्रकारे केल्यास उर्वरित प्रक्रिया wizard द्वारे पूर्ण होते. तुम्हाला फक्त up/down checks आणि share करता येईल असे status page हवे असल्यास, हलका Uptime Kuma status monitor हे एका container मध्ये करते. अनेक hosts साठी प्रत्येक metric चे thresholds आणि escalation हवे असल्यास Zabbix योग्य पर्याय आहे.
7.0 LTS line वापरा. तिचे server, frontend, agent2 आणि schema यांची versions एकमेकांशी सुसंगत आहेत आणि अनेक वर्षे security fixes मिळतात. खालील repository filename कॉपी करण्यापूर्वी अधिकृत Zabbix download page तपासा. latest release package नेहमी नवीनतम 7.0 point release कडे निर्देशित होते. तुम्हाला अचूक 7.0-N build निश्चित करायचे असल्यास, त्या page वर त्याचे filename देखील दिलेले असते. येथील इतर सर्व commands संपूर्ण 7.0 line मध्ये स्थिर आहेत.
आकारमान, पोर्ट आणि पूर्वअट
root किंवा sudo अधिकारांसह नवीन Ubuntu 24.04 KVM VPS गृहीत धरा. संसाधनांबाबत वास्तववादी अंदाज ठेवा: एका सर्व्हरवर server, database, nginx आणि PHP चालवून काही मोजक्या hosts चे निरीक्षण करण्यासाठी 2 GB RAM आणि दोन vCPUs ही व्यवहार्य किमान आवश्यकता आहे. 1 GB क्षमतेचा सर्व्हर सुरू होतो; परंतु history वाढत गेल्यावर database साठी संसाधने अपुरी पडतात. काही डझन hosts पेक्षा जास्त असल्यास 4 GB RAM ची योजना करा. शंभरपेक्षा जास्त hosts असल्यास database स्वतंत्र server वर हलवा. तुम्ही किती items गोळा करता आणि history किती काळ ठेवता यावर disk चा वापर वाढतो. सुरुवातीला काही gigabytes ची तरतूद करा. तुम्ही निश्चित केलेल्या retention windows नुसार housekeeper जुना data काढून टाकतो.
Ports: frontend साठी 80 आणि 443 वापरा. हे ports सार्वजनिक ठेवू शकता किंवा केवळ तुमच्या स्वतःच्या IP पर्यंत मर्यादित करू शकता. Active agents data पाठवण्यासाठी TCP 10051 वर server शी connect होतात. Server polling करत असलेल्या प्रत्येक agent वर TCP 10050 वर listening सुरू असते. समोर firewall असल्यास, तुम्ही बाहेरून उपलब्ध करून दिलेले portsच उघडा. Frontend साठी DNS A record ठेवणे उपयुक्त ठरते, कारण त्यावर खरे certificate वापरण्याची आवश्यकता असेल. Zabbix box तुम्ही चालवत असलेल्या इतर सर्व services चे निरीक्षण करते. त्यामुळे ते नंतर जोडलेली व्यवस्था म्हणून नव्हे, तर 2026 मध्ये चालवण्यासारख्या व्यापक self-hosting stack चा भाग म्हणून ठेवणे योग्य आहे.
पायरी 1, अधिकृत Zabbix 7.0 repository जोडा
zabbix-release package एकच काम करते: ते तुमच्या system वर apt source list आणि signing key ठेवते. ते install करा, त्यानंतर index refresh करा.
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo apt updatewget ने 404 Not Found परत केल्यास filename बदललेले आहे. Zabbix download page उघडा, Ubuntu 24.04 निवडा आणि ते दाखवत असलेली अचूक zabbix-release URL कॉपी करा. स्वच्छ apt update मध्ये repo.zabbix.com line दिसते आणि key warning दिसत नाही; The following signatures couldn't be verified because the public key is not available म्हणजे release package ने त्याची key install केलेली नाही. त्यामुळे dpkg -i पुन्हा चालवा आणि पुन्हा update करा.
टप्पा 2, server, frontend आणि agent स्थापित करा
MySQL साठी तयार केलेला server, PHP frontend, nginx config, SQL schema files आणि agent2 एकाच वेळी स्थापित करा.
sudo apt install -y zabbix-server-mysql zabbix-frontend-php \
zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2zabbix-server-mysql हा MySQL/MariaDB साठी compile केलेला server आहे. PostgreSQL साठी त्याऐवजी zabbix-server-pgsql स्थापित करा आणि खालील database steps त्यानुसार बदला. zabbix-sql-scripts मध्ये तुम्ही पुढे import करणार असलेला schema असतो. 7.0 मध्ये ते स्वतंत्र package आहे. ते विसरल्यास import path नंतर सापडत नाही. यापैकी कोणतेही package database engine स्थापित करत नाही. त्यामुळे system वर आधीपासून database engine नसल्यास आता MariaDB स्थापित करा.
sudo apt install -y mariadb-server
sudo systemctl enable --now mariadbचरण 3, योग्य वर्णसंचासह डेटाबेस तयार करा
Zabbix collation बाबत कठोर आहे: डेटाबेस utf8mb4 असावा आणि त्यामध्ये utf8mb4_bin असावे. अन्यथा foreign-key त्रुटींमुळे import मध्येच थांबतो. sudo mysql वापरून root shell उघडा आणि हे चालवा:
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'choose-a-strong-password';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
SET GLOBAL log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;ही SET GLOBAL ओळ import साठी सुरक्षा उपाय आहे. Zabbix schema stored functions तयार करते. Binary logging सुरू असताना zabbix सारखे non-SUPER खाते त्या functions तयार करू शकत नाही. MySQL 8 मध्ये binary logging डीफॉल्टनुसार सुरू असते. काही managed MariaDB builds मध्येही ते सुरू असते; stock MariaDB मध्ये नसते. Binary logging सुरू असलेल्या server वर हा flag वगळल्यास import ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled सह थांबतो. Root म्हणून ही setting केल्याने समस्या दूर होते. Import पूर्ण झाल्यावर ती पुन्हा बंद करा. Password अचूक नोंदवा. Server config मध्ये byte स्तरावर हाच string आवश्यक आहे.
पायरी 4, स्कीमा आयात करा (ही पायरी लोक वगळतात)
नवीन frontend लोड न होण्याचे हे सर्वात सामान्य कारण आहे: तुम्ही तयार केलेला database रिकामा आहे. zabbix-sql-scripts मध्ये समाविष्ट असलेली schema त्यात लोड करा.
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | \
mysql --default-character-set=utf8mb4 -uzabbix -p zabbixयामध्ये zabbix password विचारला जातो. लहान VPS वर ही प्रक्रिया तीस ते साठ सेकंद चालते. यशस्वी झाल्यावर काहीही छापले जात नाही; येथे शांतता अपेक्षित आहे. zcat: /usr/share/zabbix-sql-scripts/mysql/server.sql.gz: No such file or directory म्हणजे zabbix-sql-scripts package install केलेले नाही (Step 2 वर परत जा). ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' म्हणजे Step 3 मधील password किंवा grant चुकीचा आहे. प्रक्रिया पूर्ण झाल्यावर safety flag पुन्हा बंद करा:
sudo mysql -e "SET GLOBAL log_bin_trust_function_creators = 0;"sudo mysql -e "SELECT COUNT(*) FROM zabbix.users;" वापरून लोडची खात्री करा. संख्या दिसल्यास schema लोड झाली आहे; doesn't exist error दिसत नाही.
टप्पा 5, zabbix_server.conf मध्ये डेटाबेस पासवर्ड सेट करा
सर्व्हर त्याचे डेटाबेस क्रेडेन्शियल्स /etc/zabbix/zabbix_server.conf मधून वाचतो. फक्त पासवर्ड सेट करणे आवश्यक आहे; DBName आणि DBUser यांची डीफॉल्ट किंमत आधीपासून zabbix आहे. # DBPassword= ओळ अनकमेंट करून ती सेट करा:
DBName=zabbix
DBUser=zabbix
DBPassword=choose-a-strong-passwordपासवर्ड हा टप्पा 3 मधील पासवर्डशी byte-for-byte समान असला पाहिजे. रिक्त किंवा चुकीचा DBPassword हा नंतर दिसणाऱ्या "Zabbix server is not running" बॅनरचे प्रमुख कारण आहे: डिमन सुरू होतो, लॉग इन करण्यात अपयशी ठरतो आणि बंद होतो. स्क्रीनवर याबद्दल कोणताही संदेश दिसत नाही; फक्त लॉगमध्ये ही माहिती असते.
चरण 6, frontend साठी nginx निर्देशित करा
zabbix-nginx-conf package /etc/zabbix/nginx.conf येथे server block install करते आणि /etc/nginx/conf.d/zabbix.conf मधून तो nginx मध्ये link करते. मात्र listen आणि server_name ओळी comment केलेल्या असतात. त्यामुळे त्या संपादित करेपर्यंत nginx Zabbix साठी काहीही serve करत नाही:
server {
listen 80;
server_name zabbix.example.com;
...
}तुमचे domain वापरा. DNS अद्याप उपलब्ध नसल्यास server चा public IP वापरा. दोन महत्त्वाच्या बाबी आहेत. Ubuntu ची default nginx welcome site port 80 वरही listening असते आणि तिला default server म्हणून चिन्हांकित केलेले असते. त्यामुळे request चे नाव तिच्याशी जुळत नसल्यास तीच request हाताळते. ती काढून टाका, अन्यथा चुकीचे पृष्ठ load होईल: sudo rm -f /etc/nginx/sites-enabled/default. तसेच /etc/nginx/conf.d/zabbix.conf अनपेक्षितपणे missing असल्यास, जे packaging मधील ज्ञात समस्या आहे, sudo ln -s /etc/zabbix/nginx.conf /etc/nginx/conf.d/zabbix.conf वापरून link स्वतः तयार करा. त्यानंतर चाचणी घेऊन reload करा:
sudo nginx -t
sudo systemctl reload nginxnginx -t ने test is successful प्रदर्शित केले पाहिजे. त्याऐवजी nginx: [emerg] a duplicate default server for 0.0.0.0:80 प्रदर्शित झाल्यास, default site आणि Zabbix block दोन्ही default_server चा दावा करत आहेत. Default site काढून पुन्हा चाचणी घ्या. अधिक वेळा चाचणी केवळ conflicting server name warning सह यशस्वी होते, पण browser मध्ये अजूनही साधे welcome page दिसते. याचा अर्थ unmatched name साठी default site request हाताळत आहे. ती काढल्यावर समस्या दूर होते.
पायरी 7, सेवा सुरू करा आणि सक्षम करा
सर्व्हर, एजंट, PHP-FPM आणि nginx सुरू करा. रीबूटनंतरही ते सुरू राहावेत यासाठी त्या सक्षम करा.
sudo systemctl restart zabbix-server zabbix-agent2 nginx php8.3-fpm
sudo systemctl enable zabbix-server zabbix-agent2 nginx php8.3-fpmUbuntu 24.04 मध्ये PHP 8.3 समाविष्ट आहे. त्यामुळे FPM सेवा php8.3-fpm आहे. zabbix-nginx-conf पॅकेज त्याचे फ्रंटएंड त्याच मास्टरअंतर्गत चालवते. सर्व्हर सुरू झाला आणि सुरूच राहिला याची खात्री करा:
sudo systemctl status zabbix-server --no-pager
sudo tail -n 20 /var/log/zabbix/zabbix_server.logनिरोगी लॉगचा शेवट सर्व्हर सुरू झाल्याचे आणि त्याच्या housekeeper, poller आणि trapper प्रक्रिया कार्यरत असल्याचे दर्शवतो. [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' दिसल्यास, पायरी 5 मधील DBPassword जुळत नाही. ते दुरुस्त करून पुन्हा सुरू करा. [Z3005] query failed: [1146] Table 'zabbix.dbversion' doesn't exist ओळ दिसल्यास, तुम्ही पायरी 4 मधील स्कीमा आयात वगळला आहे. त्यामुळे सर्व्हरकडे वाचण्यासाठी काहीही नाही.
पायरी 8, वेब सेटअप विझार्ड पूर्ण करा
http://your-domain-or-ip वर ब्राउझ करा. Zabbix सेटअप विझार्ड उघडेल. पुढील प्रक्रिया करा:
- स्वागत, भाषा निवडा.
- पूर्वआवश्यकतांची तपासणी, सुरुवातीपासून प्रत्येक रकान्यात OK दिसायला हवे; पॅकेज केलेला
/etc/zabbix/php-fpm.confpool Zabbix ला आवश्यक असलेल्या PHP मर्यादा आधीच वाढवतो. - DB कनेक्शन कॉन्फिगर करा, डेटाबेस प्रकार MySQL, host
localhost, port0(याचा अर्थ default port किंवा socket), डेटाबेसचे नावzabbix, userzabbixआणि Step 3 मधील password द्या. चुकीची credentials किंवा schema उपलब्ध नसणे याच टप्प्यावर दिसून येते. - सेटिंग्ज, Zabbix server host
localhostआणि port10051तसेच installation चे नाव तसेच ठेवा. - इन्स्टॉलेशनपूर्व सारांश, त्यानंतर Install निवडा; विझार्ड
/etc/zabbix/web/zabbix.conf.phpलिहितो. - समाप्त,
Admin(capital A) म्हणून passwordzabbixवापरून log in करा आणि Users अंतर्गत तो password त्वरित बदला.
विझार्डने Cannot create the configuration file दाखविल्यास, web user /etc/zabbix/web/ मध्ये लिहू शकत नाही. विझार्डने सुचवलेली zabbix.conf.php डाउनलोड करा, sudo वापरून ती तेथे स्वहस्ते ठेवा आणि Finish वर क्लिक करा.
पायरी 9, स्थानिक होस्ट जोडा आणि टेम्पलेट संलग्न करा
Zabbix स्वतःचे निरीक्षण आपोआप करत नाही. Data collection → Hosts → Create host येथे जा. होस्टचे नाव zabbix-server ठेवा. तो Linux servers गटात जोडा. तसेच IP 127.0.0.1 आणि port 10050 असलेला Agent इंटरफेस जोडा. Templates अंतर्गत Linux by Zabbix agent लिंक करा. हा passive-poll प्रकार आहे; Linux by Zabbix agent active मध्ये agent push वापरला जातो. Save करा.
एका मिनिटाच्या आत होस्टच्या पंक्तीत हिरवा ZBX लेबल दिसेल आणि मेट्रिक्स Monitoring → Latest data अंतर्गत दिसू लागतील. लाल ZBX लेबलाचा अर्थ server agent पर्यंत पोहोचू शकत नाही. या अपयशाच्या प्रकाराचे स्पष्टीकरण पुढे दिले आहे. ही या पायरीतील चूक नाही.
पायरी 10, एक उपयुक्त ट्रिगर आणि ईमेल सूचना
Linux by Zabbix agent टेम्पलेटमध्ये CPU वापर जास्त असणे, मेमरी कमी असणे आणि डिस्क पूर्ण भरणे यांसाठीचे ट्रिगर आधीपासून उपलब्ध आहेत. त्यामुळे ते लिंक करताच तुम्हाला सूचना मिळतात. त्यापैकी एक ट्रिगर कसा तयार केला आहे हे पाहण्यासाठी स्वतःचा ट्रिगर जोडा: host उघडा, Triggers → Create trigger वर जा, त्याला Root filesystem over 90% full on {HOST.NAME} असे नाव द्या, severity High निवडा आणि हे expression वापरा:
last(/zabbix-server/vfs.fs.dependent.size[/,pused])>90vfs.fs.dependent.size[/,pused] हा root filesystem साठी टेम्पलेटच्या filesystem discovery ने तयार केलेला, वापरलेल्या क्षमतेची टक्केवारी दर्शवणारा item आहे. 7.0 च्या Linux template मध्ये vfs.fs.get एकदाच गोळा केला जातो आणि प्रत्येक mount साठी dependent items त्यावरून तयार केले जातात. त्यामुळे अतिरिक्त data collection शिवाय ट्रिगर सक्रिय होतो. तो जतन करा.
action कोणालातरी सूचना पाठवत नाही तोपर्यंत ट्रिगर dashboard वरील row चा रंगच बदलतो. Alerts → Media types → Email अंतर्गत SMTP server, port, sender address, connection security (सामान्यतः STARTTLS) आणि relay credentials असल्यास ते सेट करा. त्यानंतर Test वापरा. Test अयशस्वी झाल्यास कोणत्याही प्रत्यक्ष सूचनेवर अवलंबून राहण्यापूर्वी SMTP मार्ग चुकीचा असल्याचे समजा. Users → Users → Admin → Media → Add अंतर्गत Admin user साठी address जोडा आणि कोणत्या severity साठी सूचना पाठवायच्या ते निवडा. त्यानंतर Alerts → Actions → Trigger actions → Create action अंतर्गत action तयार करा: Trigger severity >= Warning सारखी condition जोडा आणि Operations अंतर्गत Email द्वारे Admin ला पाठवा. ते जतन करून सक्षम करा. Chat पसंत असल्यास, Zabbix 7.0 मध्ये Slack, Discord आणि Telegram साठी webhook media types उपलब्ध आहेत. Email प्रमाणेच एक configure करा आणि ते एखाद्या user ला assign करा.
agent वापरून दुसऱ्या सर्व्हरचे निरीक्षण
दुसऱ्या सर्व्हरचे निरीक्षण करण्यासाठी तेथेही Zabbix repository जोडा. Ubuntu 24.04 मध्ये स्वतःची Zabbix packages उपलब्ध नाहीत. त्यानंतर फक्त agent install करा:
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo apt update
sudo apt install -y zabbix-agent2/etc/zabbix/zabbix_agent2.conf संपादित करा. Passive polling साठी Server मध्ये Zabbix server चा IP द्या. Active checks साठी ServerActive मध्ये Zabbix server द्या आणि frontend मध्ये तयार करणार असलेल्या host शी जुळणारे अद्वितीय Hostname सेट करा:
Server=10.0.0.10
ServerActive=10.0.0.10
Hostname=web-01sudo systemctl enable --now zabbix-agent2 चालवा आणि Zabbix server कडून या मशीनवर TCP 10050 साठी प्रवेश उघडा. त्यानंतर frontend मध्ये असा host तयार करा की त्याचा Agent interface या मशीनच्या IP कडे निर्देश करेल. Linux template लिंक करा. तो एका मिनिटाच्या आत अहवाल देऊ लागेल.
तुम्हाला दिसणाऱ्या स्ट्रिंग्ससह अपयशाच्या स्थिती
Frontend वर Error connecting to database किंवा database त्रुटी दिसते. Wizard मधील DB टप्प्यात Access denied for user 'zabbix'@'localhost' (using password: YES) म्हणजे password Step 3 मधील password शी जुळत नाही किंवा GRANT कधीच चालवले गेले नाही. Database शी connection होत असेल, पण frontend The frontend does not match Zabbix database किंवा Table 'zabbix.users' doesn't exist दाखवत असेल, तर Step 4 मधील schema import वगळले गेले आहे किंवा अयशस्वी झाले आहे. नव्याने तयार केलेल्या database मध्ये ते पुन्हा चालवा.
Orange banner: Zabbix server is not running: the information displayed may not be current. Frontend सुरू आहे, पण त्याला कार्यरत server पर्यंत पोहोचता येत नाही. तीन संभाव्य कारणे आहेत; सर्वाधिक संभाव्य कारण प्रथम दिले आहे. Service बंद आहे; systemctl status zabbix-server तपासा आणि ती सुरू करा. Service चालू आहे, पण तिला तिच्या database पर्यंत पोहोचता येत नाही. Log मध्ये [Z3001] connection to database 'zabbix' failed: [1045] Access denied दिसते, म्हणजे DBPassword चुकीचे किंवा रिक्त आहे. किंवा frontend चुकीच्या server कडे निर्देश करत आहे. ही माहिती /etc/zabbix/web/zabbix.conf.php मध्ये host localhost आणि port 10051 म्हणून साठवलेली आहे. Ubuntu मध्ये default ने SELinux नसते. त्यामुळे RHEL मार्गदर्शकांमध्ये नमूद केलेले SELinux-socket कारण लागू होत नाही. येथे कारण जवळजवळ नेहमी database password किंवा बंद असलेली service असते.
Host वर लाल ZBX label दिसते; item error Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Connection refused. Agent चालू नाही किंवा तो listening करत नाही. systemctl status zabbix-agent2 तपासा आणि ListenPort=10050 निश्चित करा. "connection refused" ऐवजी timeout मिळत असल्यास firewall port 10050 वरील traffic टाकून देत आहे. संबंधित Received empty response from Zabbix Agent. Assuming that agent dropped connection because of access permissions. म्हणजे agent पर्यंत पोहोचता येते, पण त्याच्या Server= line मध्ये Zabbix server चा IP नमूद केलेला नाही. तो IP जोडा आणि agent पुन्हा सुरू करा.
साधे nginx welcome page किंवा 502 Bad Gateway. Welcome page दिसत असल्यास default site अजून enabled आहे किंवा Zabbix block link केलेला नाही. /etc/nginx/sites-enabled/default काढा आणि Step 6 प्रमाणे /etc/nginx/conf.d/zabbix.conf अस्तित्वात असल्याची खात्री करा. 502 म्हणजे nginx PHP पर्यंत पोहोचले आहे, पण PHP-FPM बंद आहे किंवा वेगळ्या socket वर listening करत आहे. php8.3-fpm सुरू करा आणि Zabbix block मधील fastcgi_pass socket चालू असलेल्या pool शी जुळत असल्याची खात्री करा.
बॅकअप, अपग्रेड आणि TLS
डेटाबेसमध्ये संपूर्ण इतिहास असतो. त्यामुळे नियोजित वेळापत्रकानुसार mysqldump वापरून त्याचा बॅकअप घ्या आणि dump या सर्व्हरच्या बाहेर सुरक्षित ठेवा:
mysqldump --single-transaction zabbix | gzip > zabbix-$(date +%F).sql.gz/etc/zabbix config files लहान आहेत आणि जतन करण्यासारख्या आहेत. मात्र त्या पुन्हा तयार करता येतात; डेटा पुन्हा तयार करता येत नाही. पुनर्संचयित करण्याची प्रक्रिया उलट क्रमाने करा: डेटाबेस तयार करा, dump import करा आणि config मध्ये त्या डेटाबेसचा संदर्भ द्या.
7.0 मालिकेतील अपग्रेड नेहमीच्या apt update && apt upgrade run प्रमाणे करा. पुढील start वेळी सर्व्हर आवश्यक schema migrations लागू करतो. त्यामुळे packages अपग्रेड करा आणि zabbix-server restart करा. भविष्यातील major line वर जाणे हा जाणीवपूर्वक करायचा बदल आहे. त्याच्या upgrade notes वाचा, आधी डेटाबेसचा dump घ्या आणि schema मध्ये एकमार्गी बदल होण्याची अपेक्षा ठेवा. हाच एकमार्गी बदल LTS line निश्चित करून त्यावर टिकून राहण्याचे मुख्य कारण आहे.
frontend plain HTTP वर ठेवू नका. DNS या सर्व्हरकडे निर्देश करू लागल्यानंतर Ubuntu 24.04 वर nginx साठी Certbot आणि Let's Encrypt वापरून त्यावर certificate लावा. यामुळे server block मध्ये 443 वर listening करण्यासाठी आणि 80 वरून redirect करण्यासाठी आवश्यक बदल होतात. तुम्ही इतर सर्व्हरवर login करून त्यांचे logs पाहण्यासाठी वापरत असलेल्या सर्व्हरची सुरक्षा मजबूत करताना त्याचे SSH देखील brute-force SSH प्रयत्नांना fail2ban ने प्रतिबंधित करणे वापरून सुरक्षित करा. Monitoring login cleartext मध्ये जाऊ नये आणि त्याचा प्रवेशद्वार password guesses करणाऱ्यांसाठी उघडा राहू नये.
FAQ
मला Zabbix agent आवश्यक आहे का, की त्याशिवाय monitoring करू शकतो?
दोन्ही पर्याय कार्य करतात. agent (agent2) प्रत्येक host साठी सविस्तर metrics, CPU, memory, disks, processes, services आणि log files देतो. तुम्ही नियंत्रित करत असलेल्या servers साठी हा नेहमीचा पर्याय आहे. ज्या devices वर software install करता येत नाही, त्यांच्यासाठी agentless monitoring वापरता येते: switches आणि printers साठी SNMP, उपलब्धता तपासण्यासाठी ICMP ping, endpoints साठी HTTP checks आणि hardware health साठी IPMI. प्रत्यक्षातील बहुतेक deployments मध्ये दोन्ही पर्याय वापरले जातात.
frontend मध्ये Zabbix server चालू नाही असे का दिसते?
frontend कार्यरत असते, परंतु ते चालू असलेल्या zabbix-server process शी संपर्क साधू शकत नाही. सामान्यतः server सुरू होतो, zabbix_server.conf मधील DBPassword चुकीचा किंवा रिकामा असल्यामुळे login करण्यात अपयशी ठरतो आणि लगेच बंद होतो. systemctl status zabbix-server चालवा आणि /var/log/zabbix/zabbix_server.log वाचा; [Z3001] connection to database ... failed ओळ याची पुष्टी करते. Password दुरुस्त करून server पुन्हा सुरू करा. एक मिनिटाच्या आत banner नाहीसा होईल.
मला MySQL वापरणे आवश्यक आहे का, की PostgreSQL वापरू शकतो?
दोन्ही पूर्णपणे supported आहेत: या मार्गदर्शकाप्रमाणे MariaDB किंवा MySQL सह zabbix-server-mysql, किंवा PostgreSQL सह zabbix-server-pgsql. लहान installations साठी निवडीचा फारसा फरक पडत नाही. मोठ्या installations साठी TimescaleDB extension सह PostgreSQL history tables चे partitions करते आणि housekeeping चा खर्च मोठ्या प्रमाणात कमी करते. त्यामुळे मोठ्या sites मध्ये त्याला प्राधान्य दिले जाते. एक पर्याय निवडा आणि तोच वापरा. नंतर migration करण्यासाठी config switch पुरेसा नसतो; पूर्ण export आणि re-import करावे लागते.
Zabbix all-in-one server साठी किती RAM आवश्यक आहे?
एका box वर काही hosts चे monitoring करण्यासाठी 2 GB ही व्यवहार्य किमान क्षमता आहे. काही डझन hosts पेक्षा अधिक असल्यास 4 GB योग्य ठरते. Memory चा बहुतांश वापर database cache आणि server च्या pollers साठी होतो. 1 GB VPS चालतो, परंतु history वाढत गेल्यावर database साठी memory अपुरी पडते. शंभरपेक्षा अधिक hosts असल्यास database स्वतंत्र server वर ठेवा आणि एका machine मध्ये अधिक RAM वाढवत जाण्याऐवजी त्याचा buffer pool tune करा.
दोन servers साठी Zabbix गरजेपेक्षा अधिक मोठे solution आहे का?
असे असू शकते. तुम्हाला फक्त “ते चालू आहे का?” आणि share करता येईल असे page आवश्यक असल्यास, uptime आणि status monitoring साठी Uptime Kuma सारखे हलके tool अधिक जलद deploy करता येते आणि एका दृष्टीक्षेपात समजणे सोपे असते. Per-metric thresholds, historical graphs, templated hosts आणि escalation rules आवश्यक असल्यास Zabbix निवडा. साधा pinger संपूर्ण fleet साठी या सुविधा देऊ शकत नाही.