Ubuntu 24.04 वर Zabbix 7.0 LTS कसे इंस्टॉल करावे
Ubuntu 24.04 वर Zabbix 7.0 LTS स्थापित करण्यासाठी संपूर्ण मार्गदर्शक. MySQL schema import आणि nginx configuration मधील त्रुटी कशा सुधाराव्यात ते येथे पहा.
तुम्ही काय तयार करत आहात
एक Ubuntu 24.04 VPS ज्यावर पूर्ण Zabbix 7.0 LTS स्टॅक असेल: डेटा गोळा करणारा आणि अलर्ट देणारा zabbix-server daemon, सर्व metrics साठवणारी MariaDB/MySQL database, nginx द्वारे चालवला जाणारा PHP frontend, आणि स्वतः त्या मशीनवरील metrics गोळा करणारा zabbix-agent2. सर्व सेटअप पूर्ण झाल्यावर, तुम्ही तो दुसऱ्या सर्व्हरशी जोडू शकता, टेम्पलेट लावू शकता आणि डिस्क भरली किंवा एखादी service बंद झाली की लगेच ईमेल मिळवू शकता.
Zabbix हे केवळ status-page टूल नाही: हे templates, triggers, escalation आणि history retention असलेले एक खरे time-series system आहे. बहुतेक समस्या तीन पायऱ्यांमुळे येतात ज्या लोक सोडून देतात — database schema import करणे, सर्व्हरला आवश्यक असलेला database password सेट करणे, आणि nginx config मधील दोन ओळी uncomment करणे. या गोष्टी योग्य केल्या की पुढील प्रक्रिया सोपी आहे. जर तुम्हाला फक्त up/down checks आणि shareable status page हवा असेल, तर a lightweight Uptime Kuma status monitor हे एकाच container मध्ये उपलब्ध आहे; परंतु जेव्हा तुम्हाला प्रत्येक metric साठी thresholds आणि अनेक hosts साठी escalation हवे असते, तेव्हा Zabbix अधिक प्रभावी ठरते.
7.0 LTS आवृत्ती वापरा: याचे server, frontend, agent2 आणि schema एकत्रितपणे versioned आहेत आणि याला अनेक वर्षे security fixes मिळतील. खाली दिलेली repository filename कॉपी करण्यापूर्वी, अधिकृत Zabbix download page तपासा — latest release package नेहमी सर्वात नवीन 7.0 point release वर जाते, परंतु जर तुम्हाला एखादी विशिष्ट 7.0-N build हवी असेल, तर त्या पानावर ती filename देखील दिली आहे. येथे दिलेले इतर सर्व commands संपूर्ण 7.0 line साठी स्थिर (stable) आहेत.
Sizing, ports and prerequisites
एक नवीन Ubuntu 24.04 KVM VPS (root किंवा sudo परवान्यासह) गृहीत धरा. संसाधनांबाबत (resources) वास्तववादी राहा: काही मोजक्या hosts चे मॉनिटरिंग करण्यासाठी एकाच मशीनवर server, database, nginx आणि PHP चालवण्यासाठी 2 GB RAM आणि दोन vCPUs ही किमान आवश्यकता आहे. 1 GB RAM असलेले मशीन सुरू (boot) होते, परंतु डेटा वाढल्यास database ला अपुरे पडते; काही दशकानंतर (dozens of hosts) 4 GB RAM नियोजित करा, आणि शंभरपेक्षा जास्त hosts असल्यास database वेगळ्या server वर हलवा. तुम्ही किती items गोळा करता आणि किती काळ history ठेवता यावर disk वापरा अवलंबून असतो; सुरुवातीला काही gigabytes साठी नियोजन करा. तुम्ही सेट केलेल्या retention windows नुसार housekeeper जुना डेटा काढून टाकतो (prunes).
Ports: frontend साठी 80 आणि 443, जे सार्वजनिक (public) किंवा तुमच्या स्वतःच्या IP साठी मर्यादित असू शकतात. Active agents कडून डेटा मिळवण्यासाठी server TCP 10051 वर listen करते, आणि प्रत्येक agent server कडून डेटा घेण्यासाठी TCP 10050 वर listen करते. जर firewall असेल, तर फक्त आवश्यक ports उघडा. Frontend साठी DNS A record असणे फायदेशीर आहे, कारण तुम्हाला त्यावर रिअल सर्टिफिकेट हवे असेल — Zabbix तुमच्या इतर सर्व सेवांवर लक्ष ठेवते, म्हणून ते 2026 मध्ये चालवण्यासाठी उपयुक्त असलेल्या व्यापक self-hosting stack चा भाग असावे, केवळ नंतर जोडलेली गोष्ट नको.
Step 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 updateजर wget ने 404 Not Found दिले, तर filename बदलले आहे — Zabbix download page उघडा, Ubuntu 24.04 निवडा आणि तिथे दिलेला अचूक zabbix-release URL copy करा. जर 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 करा.
Step 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 साठी कंपाईल केलेला server आहे; PostgreSQL साठी zabbix-server-pgsql इंस्टॉल करा आणि खालील database स्टेप्समध्ये बदल करा. zabbix-sql-scripts मध्ये schema समाविष्ट आहे जो तुम्हाला पुढे import करायचा आहे — 7.0 मध्ये हा एक वेगळा package आहे, आणि तो इंस्टॉल न केल्यामुळे नंतर import path missing दाखवतो. यांपैकी कोणताही package database engine इंस्टॉल करत नाही, त्यामुळे जर तुमच्या system मध्ये आधीपासून database नसेल, तर आता MariaDB इंस्टॉल करा.
sudo apt install -y mariadb-server
sudo systemctl enable --now mariadbStep 3 — योग्य character set सह database तयार करा
Zabbix मध्ये collation अत्यंत महत्त्वाचे आहे: database utf8mb4 आणि utf8mb4_bin सह असणे आवश्यक आहे, अन्यथा import प्रक्रियेत foreign-key त्रुटींमुळे प्रक्रिया मध्येच थांबते. 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 खात्याला त्या तयार करता येत नाहीत — MySQL 8 मध्ये binary logging बाय डिफॉल्ट सुरू असते आणि MariaDB च्या काही managed 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 पूर्ण झाल्यावर तुम्ही ते पुन्हा बंद करू शकता. पासवर्ड तंतोतंत लक्षात ठेवा — server configuration साठी त्याच स्ट्रिंगची आवश्यकता असते.
Step 4 — Schema इम्पोर्ट करा (लोक ही पायरी अनेकदा विसरतात)
नवीन 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 पासवर्ड मागेल. लहान VPS वर हे 30 ते 60 सेकंद चालेल. यशस्वीरित्या पूर्ण झाल्यावर काहीही आउटपुट दिसणार नाही — काहीही न दिसणे हे योग्य लक्षण आहे. zcat: /usr/share/zabbix-sql-scripts/mysql/server.sql.gz: No such file or directory चा अर्थ zabbix-sql-scripts package इन्स्टॉल केलेले नाही (Step 2 कडे परत जा). ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' चा अर्थ Step 3 मधील पासवर्ड किंवा grant चुकीचा आहे. प्रक्रिया पूर्ण झाल्यावर, safety flag पुन्हा बंद करा:
sudo mysql -e "SET GLOBAL log_bin_trust_function_creators = 0;"sudo mysql -e "SELECT COUNT(*) FROM zabbix.users;" वापरून लोड झाले आहे की नाही याची खात्री करा — जर doesn't exist error ऐवजी एखादा नंबर दिसला, तर schema यशस्वीरित्या लोड झाली आहे.
Step 5 — zabbix_server.conf मध्ये database password सेट करा
Server कडील database credentials /etc/zabbix/zabbix_server.conf मधून वाचले जातात. फक्त password सेट करणे आवश्यक आहे — DBName आणि DBUser आधीच zabbix वर default सेट आहेत. # DBPassword= ही line uncomment करा आणि ती सेट करा:
DBName=zabbix
DBUser=zabbix
DBPassword=choose-a-strong-passwordPassword हे Step 3 मधील password सारखेच (byte-for-byte) असणे आवश्यक आहे. रिकामी किंवा चुकीची DBPassword ही "Zabbix server is not running" या त्रुटीचे मुख्य कारण आहे: daemon सुरू होतो, login करण्यात अपयशी ठरतो आणि बंद होतो. स्क्रीनवर याची कोणतीही सूचना दिसत नाही — फक्त log मध्ये याची नोंद मिळते.
Step 6 — nginx ला frontend कडे निर्देशित करा
zabbix-nginx-conf package /etc/zabbix/nginx.conf येथे server block स्थापित करते आणि /etc/nginx/conf.d/zabbix.conf मधून nginx ला लिंक करते, परंतु त्यामध्ये listen आणि server_name या ओळी commented असतात. जोपर्यंत तुम्ही त्या संपादित करत नाही, तोपर्यंत nginx Zabbix साठी काहीही सर्व्ह करणार नाही:
server {
listen 80;
server_name zabbix.example.com;
...
}तुमचे domain वापरा, किंवा जर तुमच्याकडे अजून DNS नसेल तर server चा public IP वापरा. दोन महत्त्वाच्या गोष्टी लक्षात ठेवा. Ubuntu च्या default nginx welcome site देखील port 80 वर listen करते आणि ती default server म्हणून मार्क केलेली असते, त्यामुळे ज्या request ला तिचे नाव मॅच होत नाही, त्या request साठी तीच निवडली जाते — ती काढून टाका अन्यथा चुकीचे page लोड होईल: sudo rm -f /etc/nginx/sites-enabled/default. आणि जर /etc/nginx/conf.d/zabbix.conf काही कारणास्तव गहाळ असेल (package मधील एक त्रुटी), तर sudo ln -s /etc/zabbix/nginx.conf /etc/nginx/conf.d/zabbix.conf वापरून मॅन्युअली link तयार करा. त्यानंतर test आणि 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 साठी claim करत आहेत — default site काढून टाका आणि पुन्हा test करा. अनेकदा test मध्ये फक्त conflicting server name warning येते, तरीही browser मध्ये फक्त welcome page दिसते: याचा अर्थ unmatched name साठी default site निवडली जात आहे, आणि ती काढून टाकल्यास ही समस्या सुटते.
Step 7 — Start and enable the services
Server, agent, PHP-FPM आणि nginx सुरू करा आणि reboot नंतरही ते आपोआप सुरू व्हावेत यासाठी them enable करा.
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 service php8.3-fpm आहे; zabbix-nginx-conf package त्याचा frontend त्याच master अंतर्गत चालवते. Server सुरू झाले आहे आणि व्यवस्थित चालू आहे याची खात्री करा:
sudo systemctl status zabbix-server --no-pager
sudo tail -n 20 /var/log/zabbix/zabbix_server.logजर सर्व काही व्यवस्थित असेल, तर log च्या शेवटी server started आणि त्याचे housekeeper, poller आणि trapper processes running असे दिसेल. जर तुम्हाला [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' दिसले, तर Step 5 मधील DBPassword मॅच होत नाहीये — ते दुरुस्त करा आणि restart करा. [Z3005] query failed: [1146] Table 'zabbix.dbversion' doesn't exist ही line दर्शवते की तुम्ही Step 4 मधील schema import वगळले आहे, त्यामुळे server कडे वाचण्यासाठी काहीही उपलब्ध नाही.
Step 8 — Web setup wizard पूर्ण करा
http://your-domain-or-ip वर जा. Zabbix setup wizard उघडेल. खालील पायऱ्या पूर्ण करा:
- Welcome — भाषा निवडा.
- Check of pre-requisites — सर्व ओळींमध्ये 'OK' असावे;
/etc/zabbix/php-fpm.confpool मध्ये Zabbix साठी आवश्यक असलेल्या PHP limits आधीच सेट केलेल्या आहेत. - Configure DB connection — database type MySQL, host
localhost, port0(याचा अर्थ default port किंवा socket), database namezabbix, userzabbix, आणि Step 3 मधील password वापरा. चुकीची credentials किंवा schema नसेल तर येथे त्रुटी येईल. - Settings — Zabbix server host
localhost, port10051तसेच install ला नाव द्या. - Pre-installation summary, त्यानंतर Install — wizard
/etc/zabbix/web/zabbix.conf.phpतयार करेल. - Finish —
Admin(capital A) म्हणून log in करा आणि passwordzabbixवापरा. त्यानंतर लगेच Users मध्ये जाऊन तो password बदला.
जर wizard Cannot create the configuration file दर्शवत असेल, तर web user /etc/zabbix/web/ लिहू शकत नाही — तिथे सुचवलेली zabbix.conf.php download करा, sudo वापरून ती मॅन्युअली त्या ठिकाणी ठेवा, आणि Finish वर क्लिक करा.
Step 9 — Local host जोडा आणि template संलग्न करा
Zabbix स्वतःचे monitoring आपोआप करत नाही. Data collection → Hosts → Create host वर जा, host name zabbix-server सेट करा, तो Linux servers group मध्ये जोडा आणि IP 127.0.0.1, port 10050 सह Agent interface जोडा. Templates अंतर्गत, Linux by Zabbix agent लिंक करा (ही passive-poll variant आहे; Linux by Zabbix agent active मध्ये agent push वापरला जातो). Save करा.
एका मिनिटाच्या आत host row मध्ये हिरवा ZBX label दिसेल आणि Monitoring → Latest data अंतर्गत metrics मिळतील. लाल ZBX label चा अर्थ असा आहे की server ला agent पर्यंत पोहोचता येत नाही — हा failure mode खाली स्पष्ट केला आहे, या step मधील चूक नाही.
Step 10 — एक उपयुक्त trigger आणि email alert
Linux by Zabbix agent template मध्ये high CPU, low memory आणि full disks साठी आधीच triggers असतात, त्यामुळे लिंक केल्याबरोबर तुम्हाला alerts मिळतील. एक trigger कसे तयार करायचे हे पाहण्यासाठी, स्वतःचे trigger तयार करा: 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] ही template च्या filesystem discovery द्वारे root filesystem साठी तयार केलेली percent-used item आहे (7.0 च्या Linux template मध्ये vfs.fs.get एकदाच collect केले जाते आणि त्यावरून mount-dependent items तयार केले जातात), त्यामुळे अतिरिक्त data collection शिवाय trigger फायर होतो. ते save करा.
जोपर्यंत एखादी action कोणाला सूचित करत नाही, तोपर्यंत trigger फक्त dashboard वरील row चा रंग बदलतो. Alerts → Media types → Email मध्ये जाऊन SMTP server, port, sender address, connection security (साधारणपणे STARTTLS) आणि relay credentials सेट करा, त्यानंतर Test वापरा — जर तिथे failure आले, तर याचा अर्थ SMTP path चुकीचा आहे. Users → Users → Admin → Media → Add मध्ये Admin user साठी एक address द्या आणि कोणत्या severities साठी notification हवे आहे ते निवडा. त्यानंतर Alerts → Actions → Trigger actions → Create action अंतर्गत ते configure करा: Trigger severity >= Warning सारखी condition जोडा, आणि Operations मध्ये Admin ला Email द्वारे संदेश पाठवा. ते save आणि enable करा. तुम्हाला chat वापरायचे आहे का? Zabbix 7.0 मध्ये Slack, Discord आणि Telegram साठी webhook media types उपलब्ध आहेत — Email प्रमाणेच एक configure करा आणि तो user ला assign करा.
Agent वापरून दुसरा server monitor करणे
दुसऱ्या server वर लक्ष ठेवण्यासाठी, तिथे देखील 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 edit करा, passive polling साठी Server Zabbix server च्या IP वर सेट करा आणि active checks साठी, ServerActive सोबत एक unique Hostname वापरा जो तुम्ही frontend मध्ये तयार केलेल्या host शी मॅच होईल:
Server=10.0.0.10
ServerActive=10.0.0.10
Hostname=web-01sudo systemctl enable --now zabbix-agent2 रन करा आणि Zabbix server कडून या machine साठी TCP 10050 port open करा. Frontend मध्ये, असा host तयार करा ज्याचा Agent interface त्या machine च्या IP कडे निर्देशित असेल, Linux template लिंक करा, आणि एक मिनिटाच्या आत तो रिपोर्ट देईल.
Failure modes, with the strings you will see
Frontend shows Error connecting to database किंवा database error. Wizard च्या DB step मध्ये, Access denied for user 'zabbix'@'localhost' (using password: YES) चा अर्थ असा आहे की password Step 3 शी जुळत नाही किंवा GRANT कधीच रन झाले नाही. जर database कनेक्ट झाला असेल पण 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 सुरू आहे पण live server ला reach करू शकत नाही. याची तीन कारणे असू शकतात, त्यापैकी पहिली शक्यता जास्त आहे. Service बंद आहे — systemctl status zabbix-server तपासा आणि ती start करा. Service सुरू आहे पण database ला reach करू शकत नाही — 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 guides मध्ये सांगितलेले SELinux-socket चे कारण लागू होत नाही; येथे हे सहसा database password किंवा बंद झालेली service असते.
Host shows a red 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 ड्रॉप करत आहे. संबंधित Received empty response from Zabbix Agent. Assuming that agent dropped connection because of access permissions. चा अर्थ agent reach करण्यायोग्य आहे पण त्याच्या Server= लाईनमध्ये Zabbix server चा IP नाही — तो IP जोडा आणि agent restart करा.
Plain nginx welcome page, किंवा 502 Bad Gateway. Welcome page चा अर्थ असा आहे की default site अजूनही enabled आहे किंवा Zabbix block लिंक केलेला नाही — /etc/nginx/sites-enabled/default काढून टाका आणि Step 6 प्रमाणे /etc/nginx/conf.d/zabbix.conf अस्तित्वात आहे याची खात्री करा. 502 चा अर्थ असा आहे की nginx ने PHP ला reach केले आहे पण PHP-FPM बंद आहे किंवा वेगळ्या socket वर listening करत आहे — php8.3-fpm start करा आणि Zabbix block मधील fastcgi_pass socket आणि चालू असलेला pool मॅच होतोय याची खात्री करा.
Backups, upgrades, and TLS
डेटाबेसमध्ये संपूर्ण इतिहास असतो, म्हणून वेळापत्रकानुसार mysqldump वापरून बॅकअप घ्या आणि डम्प (dump) फाईल सर्व्हरच्या बाहेर ठेवा:
mysqldump --single-transaction zabbix | gzip > zabbix-$(date +%F).sql.gz/etc/zabbix कॉन्फिगरेशन फाईल्स लहान असतात आणि त्याही सेव्ह करणे फायदेशीर ठरते, परंतु त्या पुन्हा तयार करता येतात; डेटा पुन्हा तयार करता येत नाही. रिस्टोर करण्याची प्रक्रिया उलट असते — डेटाबेस तयार करा, डम्प इम्पोर्ट करा आणि कॉन्फिगरेशन फाईल त्याकडे निर्देशित करा.
7.0 लाइनमधील अपग्रेड्स हे सामान्य apt update && apt upgrade रन आहेत; सर्व्हर पुढच्या स्टार्ट वेळी सर्व स्कीमा मायग्रेशन्स लागू करतो, म्हणून पॅकेजेस अपग्रेड करा आणि zabbix-server रीस्टार्ट करा. भविष्यातील मेजर लाइन बदल हा जाणीवपूर्वक केलेला बदल असतो — त्याचे अपग्रेड नोट्स वाचा, प्रथम डेटाबेसचा डम्प घ्या आणि स्कीमामध्ये होणाऱ्या कायमस्वरूपी (one-way) बदलासाठी तयार राहा. LTS लाइन वापरणे आणि त्यावरच राहणे हे याच कारणामुळे आवश्यक आहे.
फ्रंटएंड साध्या HTTP वर ठेवू नका. एकदा DNS सर्व्हरकडे निर्देशित झाला की, Certbot and Let's Encrypt on nginx for Ubuntu 24.04 वापरून त्यावर सर्टिफिकेट स्थापित करा, जे सर्व्हर ब्लॉक 443 वर ऐकण्यासाठी (listen) आणि 80 वर रिडायरेक्ट करण्यासाठी रीराईट करते. तुम्ही इतर सर्व्हर मॉनिटर करण्यासाठी वापरला जाणारा सर्व्हर सुरक्षित करत असताना, fail2ban banning brute-force SSH attempts वापरून त्याचा SSH देखील सुरक्षित करा. मॉनिटरिंग लॉगिन क्लिअरटेक्स्टमध्ये (cleartext) पाठवले जाऊ नये आणि त्याचे प्रवेशद्वार पासवर्ड-गेसर्ससाठी खुले नसावे.
FAQ
मला Zabbix agent ची गरज आहे का, की मी त्याच्याशिवाय मॉनिटरिंग करू शकतो?
दोन्ही पद्धती काम करतात. agent (agent2) मुळे तुम्हाला प्रत्येक host कडून सविस्तर metrics मिळतात — जसे की CPU, memory, disks, processes, services आणि log files. ज्या servers वर तुमचे नियंत्रण आहे, त्यांच्यासाठी agent वापरणे हा सामान्य पर्याय आहे. Agentless monitoring मध्ये अशा devices चा समावेश होतो जिथे तुम्ही software इन्स्टॉल करू शकत नाही: switches आणि printers साठी SNMP, reachability साठी ICMP ping, endpoints साठी HTTP checks आणि hardware health साठी IPMI. बहुतेक प्रत्यक्ष वापरामध्ये (deployments) या दोन्ही पद्धतींचा वापर केला जातो.
frontend मध्ये Zabbix server running नाही असे का दाखवत आहे?
Frontend काम करत आहे, परंतु ते live zabbix-server process ला reach करू शकत नाहीये. सहसा server सुरू होतो, परंतु zabbix_server.conf मधील DBPassword चुकीचे किंवा रिकामे असल्यामुळे login अयशस्वी होते आणि server बंद पडतो. systemctl status zabbix-server चालवा आणि /var/log/zabbix/zabbix_server.log वाचा; [Z3001] connection to database ... failed ओळ (line) यावर खात्री करते. password दुरुस्त करा आणि restart करा, त्यानंतर एक मिनिटात banner निघून जाईल.
मला MySQL वापरणे आवश्यक आहे की मी PostgreSQL वापरू शकतो?
दोन्ही पूर्णपणे supported आहेत: या guide प्रमाणे MariaDB किंवा MySQL सह zabbix-server-mysql, किंवा PostgreSQL सह zabbix-server-pgsql. लहान installs साठी निवडीचा फारसा फरक पडत नाही. मोठ्या deployments साठी, TimescaleDB extension सह PostgreSQL history tables ला partition करते आणि housekeeping सोपे करते, म्हणूनच मोठ्या साइट्स याला पसंती देतात. एक पर्याय निवडा आणि त्यावरच राहा — नंतर migration करण्यासाठी पूर्ण export आणि re-import करावा लागेल, केवळ config बदलून चालणार नाही.
Zabbix all-in-one server साठी किती RAM आवश्यक आहे?
काही मोजक्या hosts चे मॉनिटरिंग करणाऱ्या एका box साठी, 2 GB ही किमान (floor) मर्यादा आहे आणि काही दशकांहून अधिक hosts साठी 4 GB सोयीस्कर आहे; memory चा जास्तीत जास्त वापर database cache आणि server च्या pollers साठी होतो. 1 GB VPS वर Zabbix चालते, परंतु history वाढल्यास database ला पुरेशी memory मिळत नाही. शंभर पेक्षा जास्त hosts असल्यास, database एका स्वतंत्र server वर हलवा आणि एकाच machine मध्ये अधिक RAM भरण्याऐवजी त्याच्या buffer pool ला tune करा.
फक्त काही servers साठी Zabbix वापरणे गरजेपेक्षा जास्त (overkill) आहे का?
असे असू शकते. जर तुम्हाला फक्त "is it up?" (सर्व्हर सुरू आहे का?) आणि एक साधे page हवे असेल, तर Uptime Kuma for uptime and status monitoring सारखे हलके tool वापरणे अधिक सोपे आणि जलद आहे. जेव्हा तुम्हाला प्रत्येक metric साठी thresholds, historical graphs, templated hosts आणि escalation rules हवे असतात — म्हणजेच अशा गोष्टी जे एक साधा pinger मोठ्या fleet साठी देऊ शकत नाही — तेव्हा Zabbix निवडा.