Files
Personal/linux/zabbix.md
Reisber a8c4aaf87f Допилил
Signed-off-by: Reisber <admin@reisber.space>
2026-03-10 23:38:12 +00:00

4.9 KiB
Raw Permalink Blame History

Установка 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 Вот и всё