Подробный гайд по установке Zabbix 7.0 LTS в CentOS Stream 9 с PostgreSQL, Apache - Часть 3
16. Настройка локального Zabbix Agent 2
Теперь настроим агент на самом Zabbix-сервере, чтобы мониторить его.
Откройте конфиг:
sudo nano /etc/zabbix/zabbix_agent2.conf
Установите параметры:
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=zabbix.example.local
Если сервер будет опрашиваться не только локально, а, например, другим сервером, можно указать список:
Server=127.0.0.1,192.168.10.20
ServerActive=127.0.0.1
Перезапустите агент:
sudo systemctl restart zabbix-agent2
Проверьте статус:
sudo systemctl status zabbix-agent2 --no-pager
Проверьте агента локально:
zabbix_get -s 127.0.0.1 -p 10050 -k agent.ping
Ожидаемый ответ:
1
Можно проверить версию агента:
zabbix_get -s 127.0.0.1 -p 10050 -k agent.version
17. Добавление Zabbix-сервера в мониторинг
В веб-интерфейсе перейдите в раздел узлов сети.
В зависимости от версии интерфейса это может быть:
Data collection -> Hosts
или
Configuration -> Hosts
Нажмите:
Create host
Укажите:
| Параметр | Значение |
|---|---|
| Host name | zabbix.example.local |
| Visible name | например, Zabbix Server |
| Groups | например, Linux servers |
| Agent interface | 127.0.0.1, порт 10050 |
Во вкладке шаблонов добавьте, например:
Linux by Zabbix agent
Zabbix server health
Сохраните.
Через несколько минут в разделе:
Monitoring -> Hosts
или
Data collection -> Hosts
иконка доступности агента должна стать зеленой.
18. Добавление удаленного хоста с Zabbix Agent 2
На удаленном сервере подключите репозиторий Zabbix:
sudo dnf install -y https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-7.0-1.el9.noarch.rpm
Установите агент:
sudo dnf install -y zabbix-agent2
Откройте конфиг:
sudo nano /etc/zabbix/zabbix_agent2.conf
Укажите:
Server=IP_ZABBIX_СЕРВЕРА
ServerActive=IP_ZABBIX_СЕРВЕРА
Hostname=client1.example.local
Например:
Server=192.168.10.20
ServerActive=192.168.10.20
Hostname=client1.example.local
Запустите агент:
sudo systemctl enable --now zabbix-agent2
На клиенте откройте порт агента:
sudo firewall-cmd --permanent --add-port=10050/tcp
sudo firewall-cmd --reload
С Zabbix-сервера проверьте доступность:
zabbix_get -s IP_КЛИЕНТА -k agent.ping
Если ответ:
1
значит агент отвечает.
Добавьте узел сети в веб-интерфейсе:
Hosts -> Create host
Укажите:
- имя хоста;
- группу;
- agent interface с IP клиента и портом 10050;
- шаблон, например
Linux by Zabbix agent.
19. Настройка уведомлений
Базовая настройка уведомлений обычно делается так:
- Настройте способ отправки сообщений, например Email.
- Добавьте способ уведомления пользователю.
- Настройте действия, которые отправляют уведомления при срабатывании триггеров.
В веб-интерфейсе:
Administration -> Media types
Проверьте Email или настройте SMTP.
Затем:
Administration -> Users
Откройте пользователя и добавьте адрес электронной почты в разделе Media.
Далее:
Configuration -> Actions
или в новых версиях:
Alerts -> Actions
Проверьте действия по триггерам и при необходимости создайте свои.
20. Базовое усиление безопасности
20.1. Смена пароля Admin
Не оставляйте пароль по умолчанию.
20.2. Создание отдельного администратора
Создайте отдельного пользователя с административными правами, проверьте вход, затем смените или ограничьте использование стандартного Admin.
20.3. HTTPS
Для продакшена крайне желательно использовать HTTPS.
Установите пакеты:
sudo dnf install -y mod_ssl certbot python3-certbot-apache
Откройте HTTPS:
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Если у сервера есть доменное имя, доступное из интернета или внутренней сети, можно получить сертификат Let's Encrypt:
sudo certbot --apache
Если сервер только внутренний, можно использовать внутренний удостоверяющий центр или самоподписанный сертификат.
20.4. Ограничение доступа по IP
Если возможно, ограничьте доступ к веб-интерфейсу и портам Zabbix по IP.
Например, разрешить веб только из подсети 10.0.0.0/24:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="443" accept'
sudo firewall-cmd --reload
Для Zabbix-порта:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="10051" accept'
sudo firewall-cmd --reload
Будьте осторожны: неправильные правила могут потерять доступ к серверу.
20.5. Шифрование между сервером и агентом
Можно настроить PSK-шифрование для агента.
На клиенте с агентом сгенерируйте PSK:
sudo mkdir -p /etc/zabbix
openssl rand -hex 32 | sudo tee /etc/zabbix/agent2.psk
sudo chown zabbix:zabbix /etc/zabbix/agent2.psk
sudo chmod 600 /etc/zabbix/agent2.psk
Посмотрите ключ:
sudo cat /etc/zabbix/agent2.psk
Добавьте в /etc/zabbix/zabbix_agent2.conf:
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PSK001
TLSPSKFile=/etc/zabbix/agent2.psk
Перезапустите агент:
sudo systemctl restart zabbix-agent2
В веб-интерфейсе в карточке хоста на вкладке Encryption выберите PSK, укажите PSK identity и сам ключ.
21. Производительность и тюнинг
Для небольшой установки стандартных настроек обычно достаточно. Для более нагруженных систем можно править /etc/zabbix/zabbix_server.conf.
Пример умеренных значений:
CacheSize=512M
HistoryCacheSize=256M
TrendCacheSize=128M
ValueCacheSize=256M
StartPollers=10
StartPollersUnreachable=2
StartTrappers=5
StartDiscoverers=3
StartTimers=2
После изменений:
sudo systemctl restart zabbix-server
Также важен тюнинг PostgreSQL.
Пример для сервера с 8 GB RAM:
shared_buffers = 2GB
effective_cache_size = 6GB
work_mem = 16MB
maintenance_work_mem = 256MB
Файл конфигурации PostgreSQL обычно:
/var/lib/pgsql/data/postgresql.conf
После изменений:
sudo systemctl restart postgresql
Для высокой нагрузки часто используют:
- отдельный сервер БД;
- PostgreSQL + TimescaleDB;
- партиционирование истории;
- SSD/NVMe диски;
- настройку housekeeping.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.