Описание конфигурации Zabbix агента

Инструкция входит в цикл про Zabbix. Общая картина: мониторинг Linux и Windows в Zabbix, справочник ключей: ключи агента.
Нужно прочитать и поправить конфиг агента Zabbix. Текст 2021 года описывал ветку 5.x. Имена ниже живы, пути и умолчания сверяйте с документацией своей версии и с активным/пассивным режимом.
1. Где файл
rpm -ql zabbix-agent2 | grep conf
# Debian: dpkg -L zabbix-agent2 | grep conf
ls /etc/zabbix/zabbix_agent2.conf /etc/zabbix/zabbix_agentd.conf
Agent 2 — zabbix_agent2.conf. Старый агент — zabbix_agentd.conf. Не смешивайте оба на одном порту.
2. Обязательные строки
PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
Server=192.0.2.10
ServerActive=192.0.2.10
Hostname=web-01
# Timeout=3
Server— кто имеет право на пассивные проверки (10050).ServerActive— куда агент ходит сам (10051).Hostname— как узел в UI, иначе активные items не привяжутся.
Не ставьте Server=0.0.0.0/0. Для ограничения ключей в новых ветках есть AllowKey/DenyKey — смотрите man своей версии, не выдумывайте список.
3. Применить
sudo zabbix_agent2 -t agent.ping
sudo systemctl restart zabbix-agent2
zabbix_get -s 127.0.0.1 -k agent.version
-t у агента — тест ключа, это штатный флаг агента. Ожидание: agent.ping [u|1] и версия в zabbix_get.
Другие параметры, которые стоит знать
| Параметр | Для чего |
|---|---|
Timeout |
Сколько ждать выполнения проверки. Увеличивайте осознанно: медленные проверки блокируют опрос |
RefreshActiveChecks |
Как часто активный агент запрашивает список проверок |
Include |
Подключить отдельные файлы, чтобы не править основной: Include=/etc/zabbix/zabbix_agent2.d/*.conf |
LogFileSize, DebugLevel |
Размер журнала и подробность. Уровень отладки включайте на время, он быстро заполняет диск |
ListenIP |
Слушать только нужный адрес, а не все интерфейсы |
TLSConnect, TLSAccept, TLSPSK* |
Шифрование и проверка подлинности |
Значения по умолчанию различаются между версиями и между агентом и Agent 2. Берите их из документации своей версии.
Свои проверки: UserParameter
Когда нужного ключа нет, агент можно научить новому. Создайте файл /etc/zabbix/zabbix_agent2.d/custom.conf:
UserParameter=custom.nginx.active,curl -s http://127.0.0.1/nginx_status | awk '/Active/ {print $3}'
sudo zabbix_agent2 -t custom.nginx.active
sudo systemctl restart zabbix-agent2
Правила безопасности:
- Команда выполняется от пользователя
zabbix, не от root. Не давайте емуsudoбез жёсткого ограничения: sudo и sudoers. - Не подставляйте в команду параметры от пользователя без проверки: ключ вида
custom.run[$1]с непроверенным аргументом превращается в удалённое выполнение команд. - Не используйте
AllowKey=system.run[*](удалённые команды) без явной необходимости.
Подробнее о ключах: шпаргалка ключей.
Как проверить
grep -E '^(Server|ServerActive|Hostname)=' /etc/zabbix/zabbix_agent2.conf
ss -lntup | grep 10050
zabbix_get -s 192.0.2.20 -k agent.ping
Адреса свои, hostname совпал с узлом, ping = 1. Старые ключи 5.x, которых нет в вашей доке, не возвращайте «по памяти».
Источники
- Zabbix documentation, current. URL: https://www.zabbix.com/documentation/current.






















