From a8c4aaf87f9e3ad546fe21981d15bd6e8796389e Mon Sep 17 00:00:00 2001 From: Reisber Date: Tue, 10 Mar 2026 23:38:12 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BF=D0=B8=D0=BB=D0=B8=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Reisber --- linux/zabbix.md | 88 ++++++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 42 deletions(-) diff --git a/linux/zabbix.md b/linux/zabbix.md index 624ca50..2657401 100644 --- a/linux/zabbix.md +++ b/linux/zabbix.md @@ -1,38 +1,21 @@ -# Установка Zabix на Debian 12 в связке с Nginx +# Установка Zabix на Debian 13 в связке с Nginx -## Установка Zabbix 7 LTS Server и нужных пакетов -Добавим официальный репозиторий Zabbix для Debian 12 (в данном случае будем ставить версию 7.0 LTS): +## Установка Zabbix 7 Server и нужных пакетов +Добавим официальный репозиторий Zabbix для Debian 13 (в данном случае будем ставить версию 7.4 ): ``` -wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian12_all.deb -dpkg -i zabbix-release_7.0-1+debian12_all.deb -apt update && apt upgrade -y +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 mariadb-server zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts 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_secure_installation -``` -``` -Enter current password for root (enter for none): -OK, successfully used password, moving on... Жмем ENTER так как у нас пока не задан пароль - -Switch to unix_socket authentication [Y/n] n - -Change the root password? [Y/n] y - -СОЗДАЕМ ПАРОЛЬ ДЛЯ ROOT в Mysql - -Remove anonymous users? [Y/n] y - -Disallow root login remotely? [Y/n] y - -Remove test database and access to it? [Y/n] y - -Reload privilege tables now? [Y/n] y +mysql -uroot -p ``` Создаем базу данных, пользователя и пароль, даем все привилегии на базу пользователю zabbix: ``` @@ -47,7 +30,7 @@ quit; ``` Импортируем начальную схему и данные (вводим недавно созданный пароль в Mysql для нашего пользователя zabbix): ``` -zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix +zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix ``` Выключаем опцию log_bin_trust_function_creators после импорта схемы базы данных: ``` @@ -69,25 +52,21 @@ DBName=zabbix DBUser=zabbix DBPassword=ВАШ ПАРОЛЬ ``` -## Настройка PHP-FPM -Установим Timezone в `/etc/zabbix/php-fmp.conf`, так-же поправим одну штучку, чтобы у нас потом не было проблем -``` -php_value[session.save_path] = /var/lib/php/sessions #Это редачим -php_value[date.timezone] = Europe/Moscow #Это добавляем -``` + ## Настройка Nginx Идём в nano /etc/zabbix/nginx.conf ``` server { - listen 80; + listen 8080; server_name zabbix.domain.ru; } ``` Затем перезапускаем наши службы и добавляем их в автозагрузку ``` -systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm -systemctl enable zabbix-server zabbix-agent nginx php8.2-fpm +systemctl restart zabbix-server zabbix-agent nginx php8.4-fpm +systemctl enable zabbix-server zabbix-agent nginx php8.4-fpm + ``` ## Получаем SSL сертификат (если все делается без домена, то этот этап можно и нужно пропустить и ходить по HTTP или по самописному серту) Установим Сертбот и плагин Nginx @@ -99,12 +78,37 @@ 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 +Вот и всё