Zabbix . Що за звір, чому останнім часом куди не плюнь використовують його, а не класику у вигляді nagios , надумав на практиці спробувати і подивитися + і -.
Отже, як каже wikipedia:
Zabbix — вільна система моніторингу служб і станів комп’ютерної мережі. Zabbix складається з трьох базових компонентів: сервера для координації виконання перевірок, формування перевірочних запитів та накопичення статистики, агентів для здійснення перевірок на стороні зовнішніх хостів та фронтенда для організації управління системою.
Для роботи системи треба:
Уже викликає деякі підозри, тому що для nagios не потрібно нічого крім самого сервера та web-сервера, а БД і РНР я не люблю.
ПОПЕРЕДНІ НАЛАШТУВАННЯ ТА ЗАУВАЖЕННЯ
Відключаємо фаєрвол чи дозволяємо що треба:
systemctl stop firewalld && systemctl disable firewalld
або
firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp --add-port=10051/tcp
firewall-cmd --reload
При підключених репозиторіях забікса і персони обновляємось так dnf update --nobest
бо буде конфлікт версій.
При використанні SELinux буде помилка при спробі запустити Zabbix, відключаємо, або шукаємо як налаштувати запуск з включеним:
У файлі /etc/sysconfig/selinux параметр має виглядати так SELINUX=disabled
Переходимо у дозволяючий режим SELinux:
setenforce 0
ZABBIX
Встановлюємо:
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent
Файл конфігурації /etc/zabbix/zabbix_server.conf :
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password
Timeout=20
MYSQL
Установка mysql-сервера, автор базового мануалу любить percona, ну і чорт з ним, не бачу різниці:
dnf install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
dnf module disable mysql
percona-release setup ps80
dnf install percona-server-server percona-toolkit percona-xtrabackup-80
systemctl enable --now mysqld
В процесі автоматично генерується тимчасовий пароль адміністратора, дивимось його тут
grep "temporary password" /var/log/mysqld.log
Запускаємо інсталяцію:
mysql_secure_installation
Створюємо mysql-базу для Zabbix:
mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'localhost' identified with mysql_native_password by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> exit
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
NGINX
Файли конфігурації:
/etc/nginx/conf.d/zabbix.conf
listen 80 default_server;
server_name example.com;
/etc/nginx/nginx.conf
listen 80;
listen [::]:80;
Якщо default_server буде в конфі нжинкса, а не забікса то не буде доступу по ір.
PHP
/etc/php-fpm.d/zabbix.conf
php_value[date.timezone] = Europe/Kiev
Запускаємо:
systemctl enable --now zabbix-server
systemctl enable --now nginx php-fpm
ПОПЕРЕДНІ НАЛАШТУВАННЯ ТА ЗАУВАЖЕННЯ
Відключаємо фаєрвол:
systemctl stop iptables
systemctl disable iptables
systemctl stop ufw
systemctl disable ufw
ufw disable
SELinux:
У файлі /etc/sysconfig/selinux параметр має виглядати так SELINUX=disabled
Перезапускаємо:
setenforce 0
ZABBIX
Встановлюємо:
wget https://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.2-1+ubuntu20.04_all.deb
dpkg -i zabbix-release_5.2-1+ubuntu20.04_all.deb
apt update
apt install nginx php-fpm php-mysql mariadb-server zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent
Файл конфігурації /etc/zabbix/zabbix_server.conf :
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password
Timeout=20
MYSQL
Установка:
apt install mariadb-server
mysql_secure_installation
mysql -uroot -p
Enter password:
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> exit
zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix
NGINX
Файли конфігурації:
/etc/nginx/conf.d/zabbix.conf
listen 80 default_server;
server_name example.com;
/etc/nginx/nginx.conf
listen 80;
listen [::]:80;
Запускаємо:
systemctl enable zabbix-server
systemctl restart nginx php7.4-fmp
systemctl enable nginx php7.4-fmp
Базова інструкція для deb-систем була малодостовірна, прийшлося поскакати з бубном, так що може в результаті що упустив і в своїй. Для CentOS все точно.
login: Admin
password: zabbix
Потребує установки БД, потребує установки клієнту на кожен ПК що хочемо моніторити. Але установка елементарна, один раз трохи проходимося по граблям, щоб зрозуміти що й до чого, потім робимо плейбук для ансібла й валяємо дурака. А можна навіть скачати вже готові плейбуки.
Щось моніторити не пробував, відклав у довгий ящик. На цей момент залишаюся при думці, що аби треба було робити десь моніторинг з нуля то знову вибрав би класичний nagios, а не всякі новомодні свистопердєлки типу zabbix чи форків того ж нагіоса а-ля icinga чи centreon.