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

0
3863
Обложка статьи: Описание конфигурации 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, которых нет в вашей доке, не возвращайте «по памяти».

Источники

Оставьте свой ответ