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

115 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Установка 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
Вот и всё