@@ -1,38 +1,21 @@
|
|||||||
# Установка Zabix на Debian 12 в связке с Nginx
|
# Установка Zabix на Debian 13 в связке с Nginx
|
||||||
|
|
||||||
## Установка Zabbix 7 LTS Server и нужных пакетов
|
## Установка Zabbix 7 Server и нужных пакетов
|
||||||
Добавим официальный репозиторий Zabbix для Debian 12 (в данном случае будем ставить версию 7.0 LTS):
|
Добавим официальный репозиторий 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
|
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_7.0-1+debian12_all.deb
|
dpkg -i zabbix-release_latest_7.4+debian13_all.deb
|
||||||
apt update && apt upgrade -y
|
apt update
|
||||||
```
|
```
|
||||||
Установим Zabbix Server, Nginx, Mysql и Zabbix agent:
|
Установим 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
|
||||||
```
|
```
|
||||||
mysql_secure_installation
|
mysql -uroot -p
|
||||||
```
|
|
||||||
```
|
|
||||||
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
|
|
||||||
```
|
```
|
||||||
Создаем базу данных, пользователя и пароль, даем все привилегии на базу пользователю zabbix:
|
Создаем базу данных, пользователя и пароль, даем все привилегии на базу пользователю zabbix:
|
||||||
```
|
```
|
||||||
@@ -47,7 +30,7 @@ quit;
|
|||||||
```
|
```
|
||||||
Импортируем начальную схему и данные (вводим недавно созданный пароль в Mysql для нашего пользователя zabbix):
|
Импортируем начальную схему и данные (вводим недавно созданный пароль в 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 после импорта схемы базы данных:
|
Выключаем опцию log_bin_trust_function_creators после импорта схемы базы данных:
|
||||||
```
|
```
|
||||||
@@ -69,25 +52,21 @@ DBName=zabbix
|
|||||||
DBUser=zabbix
|
DBUser=zabbix
|
||||||
DBPassword=ВАШ ПАРОЛЬ
|
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
|
## Настройка Nginx
|
||||||
Идём в nano /etc/zabbix/nginx.conf
|
Идём в nano /etc/zabbix/nginx.conf
|
||||||
```
|
```
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 8080;
|
||||||
server_name zabbix.domain.ru;
|
server_name zabbix.domain.ru;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Затем перезапускаем наши службы и добавляем их в автозагрузку
|
Затем перезапускаем наши службы и добавляем их в автозагрузку
|
||||||
```
|
```
|
||||||
systemctl restart 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.2-fpm
|
systemctl enable zabbix-server zabbix-agent nginx php8.4-fpm
|
||||||
|
|
||||||
```
|
```
|
||||||
## Получаем SSL сертификат (если все делается без домена, то этот этап можно и нужно пропустить и ходить по HTTP или по самописному серту)
|
## Получаем SSL сертификат (если все делается без домена, то этот этап можно и нужно пропустить и ходить по HTTP или по самописному серту)
|
||||||
Установим Сертбот и плагин Nginx
|
Установим Сертбот и плагин Nginx
|
||||||
@@ -99,12 +78,37 @@ apt install certbot python3-certbot-nginx
|
|||||||
```
|
```
|
||||||
certbot run --nginx
|
certbot run --nginx
|
||||||
systemctl restart nginx
|
systemctl restart nginx
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Здесь потом будет часть про самоподисанный сертификат
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## После этого переходим в браузере на http/https:IP/domain_of_your_server
|
## После этого переходим в браузере на 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
|
||||||
|
Вот и всё
|
||||||
|
|||||||
Reference in New Issue
Block a user