Ubuntu 24.04-ல் Zabbix 7.0 LTS நிறுவுவது எப்படி?
Ubuntu 24.04-ல் Zabbix 7.0 LTS-ஐ நிறுவ தேவையான வழிமுறைகள் இதோ. Repository சேர்த்தல், MariaDB schema import, nginx மற்றும் agent2 கட்டமைப்பு பிழைகளை சரிசெய்யும் முறைகளை அறியுங்கள்.
நீங்கள் உருவாக்குவது
ஒரே ஒரு Ubuntu 24.04 VPS-ல் முழுமையான Zabbix 7.0 LTS stack-ஐ இயக்குவது: தரவுகளைச் சேகரித்து எச்சரிக்கை செய்யும் zabbix-server daemon, ஒவ்வொரு metric-ஐயும் சேமிக்கும் MariaDB/MySQL database, nginx மூலம் இயங்கும் PHP frontend, மற்றும் அந்த server-ன் metric-களைச் சேகரிக்கும் zabbix-agent2. இது தயாரானதும், மற்றொரு server-ஐ இணைத்து, ஒரு template-ஐப் பொருத்தி, disk நிறைந்தாலோ அல்லது service நின்றாலோ உடனடியாக மின்னஞ்சல் எச்சரிக்கையைப் பெறலாம்.
Zabbix என்பது ஒரு status-page கருவியை விட அதிக திறன் கொண்டது: இது templates, triggers, escalation மற்றும் history retention வசதிகளைக் கொண்ட ஒரு உண்மையான time-series அமைப்பாகும். மக்கள் தவிர்க்கும் மூன்று படிகளில்தான் பெரும்பாலான சிக்கல்கள் உள்ளன: database schema-வை import செய்தல், server உண்மையில் வாசிக்கும் database password-ஐ அமைத்தல், மற்றும் nginx config-ல் இரண்டு வரிகளை uncomment செய்தல். இவற்றைச் சரியாகச் செய்துவிட்டால், மீதமுள்ளவை எளிது. உங்களுக்கு up/down சோதனைகள் மற்றும் பகிரக்கூடிய status page மட்டும் தேவைப்பட்டால், ஒரு இலகுவான Uptime Kuma status monitor-ஐ ஒரே container-ல் அமைக்கலாம்; பல hosts-களில் ஒவ்வொரு metric-க்கும் threshold மற்றும் escalation தேவைப்படும்போதுதான் Zabbix-ன் பயன்பாடு முழுமையாகத் தெரியும்.
7.0 LTS வரிசையைப் பயன்படுத்தவும்: இதன் server, frontend, agent2 மற்றும் schema ஆகியவை ஒரே பதிப்பைக் கொண்டவை, மேலும் பல ஆண்டுகளுக்குப் பாதுகாப்புத் திருத்தங்கள் (security fixes) கிடைக்கும். கீழே உள்ள repository கோப்பின் பெயரை நகலெடுக்கும் முன், அதிகாரப்பூர்வ Zabbix download பக்கத்தைப் பார்க்கவும். latest release package எப்போதும் புதிய 7.0 point release-க்கு இணையும். ஆனால், நீங்கள் ஒரு குறிப்பிட்ட 7.0-N build-ஐப் பயன்படுத்த விரும்பினால், அந்தப் பக்கத்தில் அதற்கான கோப்பின் பெயர் பட்டியலிடப்பட்டிருக்கும். இங்குள்ள மற்ற அனைத்துக் கட்டளைகளும் 7.0 வரிசை முழுவதும் நிலையானவை.
அளவு, ports மற்றும் முன்நிபந்தனைகள்
Ubuntu 24.04 KVM VPS-ல் root அல்லது sudo வசதியுடன் தொடங்குவதாகக் கொள்வோம். வளங்கள் குறித்து யதார்த்தமாக இருக்க வேண்டும்: ஒரு server, database, nginx மற்றும் PHP ஆகியவற்றை ஒரே பெட்டியில் இயக்கி, சில hosts-களைக் கண்காணிப்பதற்கு 2 GB RAM மற்றும் இரண்டு vCPUs என்பதே குறைந்தபட்சத் தேவையாகும். 1 GB RAM கொண்ட பெட்டியில் system தொடங்கும், ஆனால் தரவு வரலாறு (history) வளர வளர database-க்குத் தேவையான வளம் கிடைக்காமல் போகும். சில டஜன் hosts-களுக்கு மேல் கண்காணிப்பதாக இருந்தால் 4 GB RAM-ஐத் திட்டமிடுங்கள். நூறு hosts-களுக்கு மேல் சென்றால், database-ஐத் தனி server-க்கு மாற்றிவிடுவது நல்லது. நீங்கள் சேகரிக்கும் தரவுகளின் அளவு மற்றும் அவற்றை எவ்வளவு காலம் சேமிக்கிறீர்கள் என்பதைப் பொறுத்து disk பயன்பாடு அதிகரிக்கும். தொடக்கத்தில் சில gigabytes ஒதுக்கீடு செய்யுங்கள்; நீங்கள் அமைக்கும் retention windows-க்கு ஏற்ப housekeeper பழைய தரவுகளை நீக்கிவிடும்.
Ports: Frontend-க்காக 80 மற்றும் 443; இவற்றை பொதுவெளியில் அல்லது உங்கள் IP-க்கு மட்டும் கட்டுப்படுத்தலாம். Active agents தரவுகளை அனுப்ப TCP 10051 port-ஐ server கேட்கும் (listen). Server தரவுகளைப் பெறும்போது ஒவ்வொரு agent-ம் TCP 10050 port-ஐக் கேட்கும். Firewall பயன்படுத்தினால், நீங்கள் எதை வெளிப்படுத்துகிறீர்களோ அதை மட்டும் திறக்கவும். Frontend-க்கு ஒரு DNS A record வைத்திருப்பது நல்லது, ஏனெனில் அதற்கு முறையான certificate தேவைப்படும். Zabbix server நீங்கள் இயக்கும் மற்ற அனைத்து சேவைகளையும் கண்காணிக்கும் என்பதால், இதை ஏதோ ஒரு கூடுதல் அமைப்பாகச் சேர்க்காமல், 2026-ல் இயக்கும் தகுதியுள்ள விரிவான self-hosting stack-ன் ஒரு பகுதியாகவே கருத வேண்டும்.
படி 1, அதிகாரப்பூர்வ Zabbix 7.0 repository-ஐச் சேர்த்தல்
zabbix-release package ஒரு வேலையை மட்டுமே செய்கிறது: இது apt source list மற்றும் signing key-ஐ உங்கள் system-ல் சேர்க்கிறது. இதை நிறுவிவிட்டு, index-ஐப் புதுப்பிக்கவும்.
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 என்று காட்டினால், கோப்பின் பெயர் மாறியிருக்கலாம். Zabbix download பக்கத்தைத் திறந்து, Ubuntu 24.04-ஐத் தேர்ந்தெடுத்து, அது வழங்கும் சரியான zabbix-release URL-ஐ நகலெடுக்கவும். ஒரு சுத்தமான apt update கட்டளை repo.zabbix.com வரியைக் காட்டும் மற்றும் எந்த key எச்சரிக்கையும் இருக்காது; The following signatures couldn't be verified because the public key is not available என்று வந்தால், release package அதன் key-ஐ நிறுவவில்லை என்று பொருள். எனவே, dpkg -i கட்டளையை மீண்டும் இயக்கிவிட்டு, update செய்யவும்.
படி 2, சர்வர், முன்பக்கம் (frontend) மற்றும் ஏஜென்ட்டை நிறுவுதல்
MySQL-உடன் கட்டமைக்கப்பட்ட சர்வர், PHP முன்பக்கம், nginx கட்டமைப்பு, SQL ஸ்கீமா கோப்புகள் மற்றும் agent2 ஆகியவற்றை ஒரே நேரத்தில் நிறுவவும்.
sudo apt install -y zabbix-server-mysql zabbix-frontend-php \
zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2zabbix-server-mysql என்பது MySQL/MariaDB-க்காக தொகுக்கப்பட்ட சர்வர் ஆகும்; PostgreSQL-க்கு, அதற்குப் பதிலாக zabbix-server-pgsql-ஐ நிறுவி, கீழே உள்ள தரவுத்தளப் படிகளை மாற்றியமைக்கவும். zabbix-sql-scripts நீங்கள் அடுத்து இறக்குமதி செய்ய வேண்டிய ஸ்கீமாவைக் கொண்டுள்ளது, இது 7.0 பதிப்பில் ஒரு தனி தொகுப்பாகும், இதை நிறுவ மறந்துவிட்டால் தான் பிற்காலத்தில் இறக்குமதி பாதை (import path) காணவில்லை என்ற பிழை ஏற்படும். இவை எவையும் தரவுத்தள இயந்திரத்தை (database engine) தானாக நிறுவ மாட்டாது, எனவே உங்கள் கணினியில் MariaDB இல்லையென்றால் அதை இப்போதே நிறுவவும்.
sudo apt install -y mariadb-server
sudo systemctl enable --now mariadbபடி 3, சரியான character set-உடன் database-ஐ உருவாக்குதல்
Zabbix-ன் collation அமைப்பு மிகவும் கண்டிப்பானது: database கண்டிப்பாக 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 போன்ற SUPER அல்லாத கணக்கினால் அவற்றை உருவாக்க முடியாது. MySQL 8-ல் binary logging இயல்பாகவே இயக்கப்பட்டிருக்கும், சில நிர்வகிக்கப்படும் (managed) MariaDB பதிப்புகளிலும் இது இருக்கலாம் (சாதாரண MariaDB-ல் இது இருக்காது). binary logging இயக்கப்பட்டிருக்கும் server-ல் இந்த flag-ஐத் தவிர்த்தால், ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled பிழையுடன் import நின்றுவிடும். root பயனராக இதை அமைப்பதன் மூலம் அந்தப் பிழை நீங்கும்; import முடிந்ததும் இதை மீண்டும் அணைத்துவிடலாம். கடவுச்சொல்லைச் சரியாகக் குறித்துக்கொள்ளவும், server config-ல் அதே கடவுச்சொல் துல்லியமாக இருக்க வேண்டும்.
படி 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-ல் இது முப்பது முதல் அறுபது வினாடிகள் வரை இயங்கும். வெற்றிகரமாக முடிந்தால் எந்தத் தகவலையும் காட்டாது, அமைதியாக இருப்பதுதான் சரியான அறிகுறி. zcat: /usr/share/zabbix-sql-scripts/mysql/server.sql.gz: No such file or directory என்பது zabbix-sql-scripts package நிறுவப்படவில்லை என்பதைக் குறிக்கிறது (படி 2-க்குச் செல்லவும்). ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' என்பது படி 3-ல் உள்ள கடவுச்சொல் அல்லது grant தவறானது என்பதைக் குறிக்கிறது. இது முடிந்ததும், பாதுகாப்பு flag-ஐ மீண்டும் அணைக்கவும்:
sudo mysql -e "SET GLOBAL log_bin_trust_function_creators = 0;"sudo mysql -e "SELECT COUNT(*) FROM zabbix.users;" மூலம் ஏற்றத்தை உறுதிப்படுத்தவும், ஒரு எண் கிடைப்பது, doesn't exist பிழை வராமல் இருப்பது, schema சரியாக உள்ளே ஏற்றப்பட்டுவிட்டது என்பதைக் குறிக்கிறது.
படி 5, zabbix_server.conf-ல் database password-ஐ அமைத்தல்
Server தனது database credentials-ஐ /etc/zabbix/zabbix_server.conf கோப்பிலிருந்து படிக்கிறது. password-ஐ மட்டும் அமைத்தால் போதுமானது, DBName மற்றும் DBUser ஏற்கனவே zabbix என default-ஆக அமைக்கப்பட்டுள்ளன. # DBPassword= வரியின் முன்னால் உள்ள குறியீட்டை நீக்கி (uncomment), அதை இவ்வாறு அமைக்கவும்:
DBName=zabbix
DBUser=zabbix
DBPassword=choose-a-strong-passwordஇந்த password, படி 3-ல் நீங்கள் உருவாக்கிய அதே password-ஆக இருக்க வேண்டும். DBPassword காலியாக இருந்தாலோ அல்லது தவறாக இருந்தாலோ, பிற்காலத்தில் நீங்கள் காணும் "Zabbix server is not running" என்ற பிழை செய்திக்கு அதுவே முக்கிய காரணமாக இருக்கும்: daemon தொடங்கும், ஆனால் login செய்ய முடியாமல் வெளியேறிவிடும். திரையில் எந்த தகவலும் காட்டப்படாது, log கோப்பில் மட்டுமே இதைக் காண முடியும்.
படி 6, Nginx-ஐ frontend-க்கு சுட்டிக்காட்டுதல்
zabbix-nginx-conf தொகுப்பு /etc/zabbix/nginx.conf-ல் ஒரு server block-ஐ நிறுவி, அதை /etc/nginx/conf.d/zabbix.conf-லிருந்து Nginx-க்கு இணைக்கிறது. ஆனால், இது listen மற்றும் server_name வரிகள் comment செய்யப்பட்ட நிலையில் வருகிறது. எனவே, அவற்றை நீங்கள் திருத்தும் வரை Zabbix-க்காக Nginx எதையும் வழங்காது:
server {
listen 80;
server_name zabbix.example.com;
...
}உங்களிடம் DNS இல்லையெனில், உங்கள் domain-ஐ அல்லது server-ன் public IP-ஐப் பயன்படுத்தவும். இதில் இரண்டு கவனிக்க வேண்டிய விஷயங்கள் உள்ளன. Ubuntu-வின் default Nginx welcome site-ம் port 80-ல் இயங்குகிறது மற்றும் அது default server-ஆகக் குறிக்கப்பட்டுள்ளது. எனவே, எந்தப் பெயரும் பொருந்தாத கோரிக்கைகளுக்கு அதுவே முன்னுரிமை பெறும். அதை நீக்கவும், இல்லையெனில் தவறான பக்கம் தோன்றும்: sudo rm -f /etc/nginx/sites-enabled/default. ஒருவேளை /etc/nginx/conf.d/zabbix.conf விடுபட்டிருந்தால் (இது தொகுப்பில் உள்ள ஒரு அறியப்பட்ட குறைபாடு), sudo ln -s /etc/zabbix/nginx.conf /etc/nginx/conf.d/zabbix.conf கட்டளையைப் பயன்படுத்தி நீங்களே அந்த இணைப்பை உருவாக்கவும். பின்னர் சோதித்து 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 எச்சரிக்கையுடன் சோதனை வெற்றிபெறும், ஆனால் browser-ல் சாதாரண welcome பக்கம் மட்டுமே தோன்றும். இது பொருந்தாத பெயருக்கு default site முன்னுரிமை பெறுவதால் நடக்கிறது; அதை நீக்குவது இந்தச் சிக்கலைச் சரிசெய்யும்.
படி 7, சேவைகளைத் தொடங்குதல் மற்றும் செயல்படுத்துதல் (Start and enable)
Server, agent, PHP-FPM மற்றும் nginx ஆகியவற்றைத் தொடங்கி, reboot செய்த பிறகும் அவை இயங்கும் வகையில் அவற்றை 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 சேவை php8.3-fpm ஆகும்; zabbix-nginx-conf தொகுப்பு அதன் frontend-ஐ அதே master-ன் கீழ் இயக்குகிறது. Server தொடங்கி, தொடர்ந்து இயங்குகிறதா என்பதை உறுதிப்படுத்தவும்:
sudo systemctl status zabbix-server --no-pager
sudo tail -n 20 /var/log/zabbix/zabbix_server.logசரியாக இயங்கும் log, server தொடங்கப்பட்டதையும் அதன் housekeeper, poller மற்றும் trapper செயல்முறைகள் (processes) இயங்குவதையும் காட்டும். நீங்கள் [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-ல் schema import செய்வதைத் தவிர்த்துவிட்டீர்கள் என்று பொருள், எனவே server-ஆல் எதையும் படிக்க முடியவில்லை.
படி 8, இணையதள அமைப்பு வழிகாட்டியை (web setup wizard) முடித்தல்
http://your-domain-or-ip முகவரிக்குச் செல்லவும். Zabbix அமைப்பு வழிகாட்டி திறக்கும். அதில் பின்வருவனவற்றைச் செய்யவும்:
- Welcome, ஒரு மொழியைத் தேர்ந்தெடுக்கவும்.
- Check of pre-requisites, ஒவ்வொரு வரிசையும் இயல்பாகவே OK என்று இருக்க வேண்டும்; தொகுக்கப்பட்ட
/etc/zabbix/php-fpm.confpool, Zabbix-க்குத் தேவையான PHP வரம்புகளை ஏற்கனவே உயர்த்தியுள்ளது. - Configure DB connection, database வகை MySQL, host
localhost, port0(இது default port அல்லது socket-ஐக் குறிக்கும்), database பெயர்zabbix, பயனர்zabbix, மற்றும் படி 3-ல் உள்ள கடவுச்சொல்லை உள்ளிடவும். தவறான நற்சான்றிதழ்கள் (credentials) அல்லது விடுபட்ட schema இருந்தால் இங்கேயே பிழை காட்டும். - Settings, Zabbix server host
localhost, port10051ஆகியவற்றை அப்படியே விட்டுவிட்டு, இந்த நிறுவலுக்கு ஒரு பெயரை இடவும். - Pre-installation summary, பிறகு Install என்பதை அழுத்தவும், வழிகாட்டி
/etc/zabbix/web/zabbix.conf.phpகோப்பை எழுதும். - Finish,
Admin(பெரிய எழுத்து A) என்ற பயனராக,zabbixகடவுச்சொல்லைப் பயன்படுத்தி உள்நுழையவும். உடனடியாக Users பகுதிக்குச் சென்று கடவுச்சொல்லை மாற்றவும்.
வழிகாட்டி Cannot create the configuration file என்று பிழை காட்டினால், இணையதளப் பயனரால் /etc/zabbix/web/ கோப்பில் எழுத முடியவில்லை என்று அர்த்தம். அது வழங்கும் zabbix.conf.php கோப்பைப் பதிவிறக்கம் செய்து, sudo கட்டளை மூலம் அதை உரிய இடத்தில் கைமுறையாக வைத்துவிட்டு, Finish என்பதை அழுத்தவும்.
படி 9, local host-ஐச் சேர்த்தல் மற்றும் template-ஐ இணைத்தல்
Zabbix தானாகவே தன்னை கண்காணித்துக்கொள்ளாது. Data collection → Hosts → Create host பகுதிக்குச் சென்று, host name-ஐ zabbix-server என அமைக்கவும், அதை Linux servers குழுவில் சேர்க்கவும், மேலும் 127.0.0.1 IP முகவரி மற்றும் 10050 port உடன் Agent interface-ஐ உருவாக்கவும். Templates பிரிவின் கீழ், Linux by Zabbix agent-ஐ இணைக்கவும் (இது passive-poll வகை; Linux by Zabbix agent active முறையில் agent தகவல்களைத் தள்ளும்). சேமிக்கவும்.
ஒரு நிமிடத்திற்குள், host வரிசையில் பச்சை நிற ZBX label தோன்றும் மற்றும் Monitoring → Latest data பகுதியில் அளவீடுகள் வரத் தொடங்கும். சிவப்பு நிற ZBX label இருந்தால், server-ஆல் agent-ஐ அணுக முடியவில்லை என்று பொருள். இது இந்த படிநிலையில் உள்ள தவறு அல்ல, கீழே விவரிக்கப்பட்டுள்ள ஒரு தோல்வி நிலை (failure mode) ஆகும்.
படி 10, ஒரு பயனுள்ள trigger மற்றும் மின்னஞ்சல் எச்சரிக்கை
Linux by Zabbix agent template ஏற்கனவே அதிக CPU, குறைந்த memory மற்றும் நிறைந்த disk ஆகியவற்றுக்கான triggers-ஐக் கொண்டுள்ளது, எனவே நீங்கள் அதை இணைத்த உடனேயே எச்சரிக்கைகளைப் பெறலாம். ஒரு 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-ஐ ஒருமுறை சேகரித்து, ஒவ்வொரு mount-க்கும் தேவையான dependent items-ஐ உருவாக்குகிறது), எனவே கூடுதல் தரவு சேகரிப்பு இல்லாமலேயே இந்த trigger செயல்படும். இதைச் சேமிக்கவும்.
ஒரு action யாரையாவது எச்சரிக்கும் வரை, trigger என்பது dashboard-ல் உள்ள ஒரு வரிசையின் நிறத்தை மட்டுமே மாற்றும். Alerts → Media types → Email என்பதற்குச் சென்று, SMTP server, port, sender address, connection security (பொதுவாக STARTTLS) மற்றும் ஏதேனும் relay credentials ஆகியவற்றை அமைக்கவும், பிறகு Test என்பதைப் பயன்படுத்தவும்; அங்கே தோல்வி ஏற்பட்டால், எந்தவொரு உண்மையான எச்சரிக்கைக்கும் முன்பே SMTP பாதை தவறாக உள்ளது என்று அர்த்தம். Users → Users → Admin → Media → Add என்பதற்குச் சென்று Admin பயனருக்கு ஒரு மின்னஞ்சல் முகவரியைக் கொடுத்து, எந்தெந்த severity-களுக்கு அறிவிப்பு வர வேண்டும் என்பதைத் தேர்ந்தெடுக்கவும். பிறகு Alerts → Actions → Trigger actions → Create action என்பதில் அதை இணைக்கவும்: Trigger severity >= Warning போன்ற ஒரு condition-ஐச் சேர்க்கவும், Operations பிரிவில் Admin-க்கு மின்னஞ்சல் மூலம் அனுப்பும்படி அமைக்கவும். அதைச் சேமித்து enable செய்யவும். Chat வசதி வேண்டுமா? Zabbix 7.0-ல் Slack, Discord மற்றும் Telegram-க்கான webhook media types உள்ளன, அவற்றை Email போலவே configure செய்து ஒரு பயனருக்கு ஒதுக்கலாம்.
இரண்டாவது server-ஐ agent மூலம் கண்காணித்தல்
மற்றொரு server-ஐக் கண்காணிக்க, அங்கும் Zabbix repository-ஐச் சேர்க்கவும். Ubuntu 24.04-ல் சொந்தமாக Zabbix packages இல்லை, எனவே agent-ஐ மட்டும் நிறுவவும்:
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-ஐத் திருத்தவும். Server-ல் Zabbix server-ன் IP-ஐக் குறிப்பிடவும் (passive polling-க்காக). Active checks-க்காக, ServerActive மற்றும் frontend-ல் நீங்கள் உருவாக்கும் host-க்கு இணையான தனித்துவமான Hostname-ஐ அமைக்கவும்:
Server=10.0.0.10
ServerActive=10.0.0.10
Hostname=web-01sudo systemctl enable --now zabbix-agent2-ஐ இயக்கவும். Zabbix server-லிருந்து இந்த machine-க்கு TCP 10050 port-ஐத் திறக்கவும். Frontend-க்குத் திரும்பி, அந்த machine-ன் IP-ஐக் குறிக்கும் வகையில் Agent interface கொண்ட ஒரு host-ஐ உருவாக்கவும். அதனுடன் Linux template-ஐ இணைக்கவும்; ஒரு நிமிடத்திற்குள் அது தகவல்களைப் புகாரளிக்கும்.
தோல்வி முறைகள் மற்றும் நீங்கள் காணக்கூடிய செய்திகள்
Frontend-ல் Error connecting to database அல்லது database பிழை காட்டுகிறது. Wizard-ன் DB நிலையில், Access denied for user 'zabbix'@'localhost' (using password: YES) என்பது 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 இயங்குகிறது, ஆனால் நேரடி 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-வில் இயல்பாக SELinux கிடையாது, எனவே RHEL வழிகாட்டிகளில் கூறப்படும் SELinux-socket பிரச்சினை இதற்குப் பொருந்தாது; இங்கே இது பெரும்பாலும் database கடவுச்சொல் அல்லது நிறுத்தப்பட்ட service காரணமாகவே இருக்கும்.
Host-ல் சிவப்பு நிற ZBX label காட்டுகிறது; item error Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Connection refused. Agent இயங்கவில்லை அல்லது port-ல் listen செய்யவில்லை. 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-ஐ அணுக முடிகிறது, ஆனால் அதன் Server= வரியில் Zabbix server-ன் 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-ஐ அடைந்துவிட்டது, ஆனால் PHP-FPM முடக்கப்பட்டுள்ளது அல்லது வேறு socket-ல் listen செய்கிறது என்று பொருள்; php8.3-fpm-ஐத் தொடங்கி, Zabbix block-ல் உள்ள fastcgi_pass socket இயங்கும் pool-உடன் பொருந்துகிறதா என்று சரிபார்க்கவும்.
Backups, upgrades, and TLS
Database என்பது முழுமையான வரலாற்றைக் கொண்டிருப்பதால், அதை mysqldump மூலம் குறிப்பிட்ட கால இடைவெளியில் backup எடுக்கவும். அந்த dump கோப்புகளை server-க்கு வெளியே பாதுகாப்பாக வைக்கவும்:
mysqldump --single-transaction zabbix | gzip > zabbix-$(date +%F).sql.gz/etc/zabbix config கோப்புகள் அளவில் சிறியவை, அவற்றைச் சேமித்து வைப்பது நல்லது. ஆனால், அவற்றை மீண்டும் உருவாக்க முடியும்; தரவுகளை அவ்வாறு செய்ய முடியாது. தரவை மீட்டெடுப்பது (restoring) என்பது backup எடுப்பதற்கு நேர்மாறான செயல்முறை: முதலில் database-ஐ உருவாக்கவும், dump-ஐ import செய்யவும், பின் config கோப்புகளை அதனுடன் இணைக்கவும்.
7.0 வரிசைக்குள் செய்யப்படும் மேம்படுத்தல்கள் (upgrades) சாதாரண apt update && apt upgrade செயல்பாடுகள் ஆகும். அடுத்தமுறை server தொடங்கும் போது, அதுவே தேவையான schema மாற்றங்களைச் செய்து கொள்ளும். எனவே, packages-ஐ மேம்படுத்திவிட்டு zabbix-server-ஐ restart செய்யவும். எதிர்காலத்தில் வரவிருக்கும் பெரிய மாற்றங்களுக்கு (major line), அதன் upgrade குறிப்புகளைக் கவனமாகப் படிக்கவும். முதலில் database-ஐ dump செய்யவும்; ஏனெனில், schema மாற்றங்கள் ஒருமுறை மட்டுமே செய்யக்கூடியதாக (one-way) இருக்கலாம். இந்த ஒருவழி மாற்றங்கள் காரணமாகவே, நீங்கள் LTS வரிசையைத் தேர்ந்தெடுத்து அதில் நிலைத்திருப்பது அவசியம்.
Frontend-ஐ plain HTTP-ல் வைத்திருக்க வேண்டாம். DNS உங்கள் server-ஐச் சுட்டிக்காட்டியவுடன், Certbot and Let's Encrypt on nginx for Ubuntu 24.04 மூலம் certificate-ஐ நிறுவவும். இது server block-ஐ மாற்றி, 443 port-ல் கேட்கவும் (listen), 80 port-லிருந்து redirect செய்யவும் உதவும். மற்ற அனைத்து server-களையும் கண்காணிக்கும் ஒரு server-ஐ நீங்கள் பலப்படுத்தும் போது, fail2ban banning brute-force SSH attempts மூலம் அதன் SSH அணுகலையும் பாதுகாப்பாக வைக்கவும். கண்காணிப்புக்கான login விவரங்கள் cleartext-ல் செல்லக்கூடாது, மேலும் அதன் நுழைவாயில் கடவுச்சொற்களை ஊகிப்பவர்களுக்குத் திறந்திருக்கக்கூடாது.
FAQ
Zabbix agent எனக்குத் தேவையா, அல்லது அது இல்லாமலேயே கண்காணிக்க முடியுமா?
இரண்டுமே சாத்தியம். Agent (agent2) மூலம் CPU, memory, disks, processes, services, log files போன்ற விரிவான per-host metrics-களைப் பெறலாம்; நீங்கள் நிர்வகிக்கும் server-களுக்கு இதுவே சிறந்த தேர்வு. மென்பொருளை நிறுவ முடியாத சாதனங்களுக்கு agentless கண்காணிப்பு முறை பொருந்தும்: switches மற்றும் printers-க்கு SNMP, reachability-க்கு ICMP ping, endpoints-க்கு HTTP checks, hardware health-க்கு IPMI ஆகியவற்றைப் பயன்படுத்தலாம். பெரும்பாலான நடைமுறை deployments-ல் இவை இரண்டும் கலந்து பயன்படுத்தப்படுகின்றன.
Zabbix server இயங்கவில்லை என்று frontend ஏன் காட்டுகிறது?
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 வரி இதற்கான காரணத்தை உறுதிப்படுத்தும். கடவுச்சொல்லைச் சரிசெய்து restart செய்யுங்கள், ஒரு நிமிடத்திற்குள் அந்த எச்சரிக்கை மறைந்துவிடும்.
நான் MySQL-ஐத்தான் பயன்படுத்த வேண்டுமா, அல்லது PostgreSQL-ஐப் பயன்படுத்தலாமா?
இரண்டையுமே முழுமையாகப் பயன்படுத்தலாம்: இந்த வழிகாட்டியில் உள்ளது போல MariaDB அல்லது MySQL உடன் zabbix-server-mysql, அல்லது PostgreSQL உடன் zabbix-server-pgsql. சிறிய அளவிலான நிறுவல்களுக்கு இதில் பெரிய வித்தியாசம் இல்லை. பெரிய அளவிலான நிறுவல்களுக்கு, TimescaleDB extension கொண்ட PostgreSQL, history tables-ஐப் பிரித்து (partition) பராமரிப்புச் செலவைக் குறைக்கிறது; இதனால்தான் பெரிய தளங்கள் இதை விரும்புகின்றன. ஏதேனும் ஒன்றை மட்டும் தேர்ந்தெடுத்துத் தொடருங்கள்; பிற்காலத்தில் மாற்ற வேண்டுமென்றால் முழுமையாக export மற்றும் re-import செய்ய வேண்டும், வெறும் config மாற்றத்தால் மட்டும் முடியாது.
ஒரு Zabbix all-in-one server-க்கு எவ்வளவு RAM தேவை?
குறைந்த எண்ணிக்கையிலான host-களைக் கண்காணிக்கும் ஒரு server-க்கு 2 GB என்பது குறைந்தபட்சத் தேவை, சில டஜன் host-களுக்கு 4 GB போதுமானது; இதில் பெரும்பாலான memory database cache மற்றும் server pollers-க்குச் செலவாகும். 1 GB VPS-ல் இயங்கும், ஆனால் history வளர வளர database-க்குத் தட்டுப்பாடு ஏற்படும். நூற்றுக்கும் மேற்பட்ட host-களைக் கண்காணிக்கும்போது, database-ஐத் தனி server-க்கு மாற்றி அதன் buffer pool-ஐ tune செய்வது சிறந்தது; ஒரே machine-ல் அதிக RAM சேர்ப்பதை விட இதுவே சிறந்தது.
சில server-களை மட்டும் கண்காணிக்க Zabbix மிகையானதா?
ஆம், இருக்கலாம். உங்களுக்கு "server இயங்குகிறதா?" என்ற தகவல் மற்றும் பகிரக்கூடிய ஒரு பக்கம் மட்டும் போதும் என்றால், Uptime Kuma for uptime and status monitoring போன்ற இலகுவான கருவி விரைவாகவும் எளிமையாகவும் இருக்கும். per-metric thresholds, historical graphs, templated hosts மற்றும் escalation rules போன்ற வசதிகள் தேவைப்படும்போது Zabbix-ஐத் தேர்வு செய்யுங்கள்; ஒரு சாதாரண pinger-ஆல் இவை அனைத்தையும் வழங்க முடியாது.