4.9 KiB
Установка Zabix на Debian 13 в связке с Nginx
Установка Zabbix 7 Server и нужных пакетов
Добавим официальный репозиторий Zabbix для Debian 13 (в данном случае будем ставить версию 7.4 ):
wget https://repo.zabbix.com/zabbix/7.4/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.4+debian13_all.deb
dpkg -i zabbix-release_latest_7.4+debian13_all.deb
apt update
Установим Zabbix Server, Nginx, Mysql и Zabbix agent:
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
apt install mariadb-server -y
Настройка MySQL
mysql -uroot -p
Создаем базу данных, пользователя и пароль, даем все привилегии на базу пользователю zabbix:
mysql -uroot -p
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'ПАРОЛЬ';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;
Импортируем начальную схему и данные (вводим недавно созданный пароль в Mysql для нашего пользователя zabbix):
zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Выключаем опцию log_bin_trust_function_creators после импорта схемы базы данных:
mysql -uroot -p
set global log_bin_trust_function_creators = 0;
quit;
Настраиваем конфигурационный файл zabbix_server.conf :
nano /etc/zabbix/zabbix_server.conf
Проверяем DBName, DBUser, раскомментируем строку DBPassword и введем там пароль для пользователя zabbix, который мы сделали выше в mysql
DBName=zabbix
DBUser=zabbix
DBPassword=ВАШ ПАРОЛЬ
Настройка Nginx
Идём в nano /etc/zabbix/nginx.conf
server {
listen 8080;
server_name zabbix.domain.ru;
}
Затем перезапускаем наши службы и добавляем их в автозагрузку
systemctl restart zabbix-server zabbix-agent nginx php8.4-fpm
systemctl enable zabbix-server zabbix-agent nginx php8.4-fpm
Получаем SSL сертификат (если все делается без домена, то этот этап можно и нужно пропустить и ходить по HTTP или по самописному серту)
Установим Сертбот и плагин Nginx
apt install certbot python3-certbot-nginx
Активируем процесс получения сетрификата
certbot run --nginx
systemctl restart nginx
После этого переходим в браузере на http/https:IP/domain_of_your_server
В целом мы подняли базовый Zabbix сервер. Но теперь нам нужно сделать так, что-бы он слал нам уведомления. Для этого:
Идём в: Alerts > Media types
Там ищем ТГ и включаем его(очевидно, что включаем мы его после того как добавили туда наш чатID и токен от BotFather)
Далее нужно назначить то, куда пользователь (админ) будет получать уведомления
Users > users (Выбираем нашего пользака)
Media и нажимаем Add
Type: Выбираем ТГ
Send to: Вводим ChatID
Нажимаем add и Update
Далее настроим Trigger Actions
Alerts > Actions > Triger actions
Create action
(задаём имя)
В Operations нажимаем add
Send to users: вводим кому будет падать увед
Send only to: выбираем ТГ
В целом, наш мониторинг уже будет работать, но для дополнительной кастомизации можно настроить уровни, при достижении которых будет срабатывать Alert Rule
Data collection > Hosts
Кликаем на имя хоста (e.g., "Zabbix server").
Идём во вкладку Macros.
Нажимаем на Inherited and host macros что-бы увидеть доступные опции
Ищем нужное нам макро, например:
CPU: Look for {$CPU.UTIL.CRIT}.
Disk: Look for {$VFS.FS.PUSED.MAX.WARN} (Warning) or {$VFS.FS.PUSED.MAX.CRIT} (Critical).
Нажимаем изменить и вводим новое значение макро, после чего сохраняем
И нажимаем Update
Вот и всё