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