Zabbix. Авторегистрация узлов

0
3311
Обложка статьи: Zabbix. Авторегистрация узлов

Инструкция входит в цикл про Zabbix. Общая картина: мониторинг Linux и Windows в Zabbix, справочник ключей: ключи агента.

Нужно, чтобы новый агент сам появился в Zabbix, без ручного Create host. Авторегистрацию открывают только для своих сетей. Иначе любой, кто достучался до 10051, станет «вашим» узлом.

1. Агент: активный режим

Авторегистрация работает с активным агентом. В конфиге:

ServerActive=192.0.2.10
Hostname=web-01
HostMetadata=linux-prod

Перезапустите агент. HostMetadata — метка для условия, не секрет, но и не рекламируйте её в интернет.

2. Действие в Zabbix

  1. Alerts → Actions → Autoregistration actions (в старых ветках — Configuration → Actions).
  2. Условие: Host metadata contains linux-prod и/или IP в вашей подсети.
  3. Операции: Add host, Add to host groups, Link to templates, возможно PSK.

Имена пунктов меню чуть ездят по версиям — сверка: документация current, раздел active agent autoregistration. Не делайте действие «на любого агента без условия».

3. Сеть

10051/tcp на сервере — только с сетей, где стоят ваши агенты. Пробный чужой агент с улицы не должен создать узел.

Шифрование при авторегистрации

Без шифрования любой, кто знает адрес сервера, может зарегистрировать узел. Закройте это ключом PSK. В Zabbix: Administration → General → Autoregistration — задайте уровень шифрования и общий PSK. В конфигурации агента:

TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=autoreg-prod
TLSPSKFile=/etc/zabbix/autoreg.psk
openssl rand -hex 32 | sudo tee /etc/zabbix/autoreg.psk
sudo chown zabbix:zabbix /etc/zabbix/autoreg.psk
sudo chmod 640 /etc/zabbix/autoreg.psk

Тот же ключ нужен и на сервере. Не публикуйте PSK в репозитории: секреты в git.

Метаданные из системы

Вместо ручной строки можно взять метку из ключа:

HostMetadataItem=system.uname

Тогда в условии действия можно отличить Linux от Windows по тексту uname и привязать нужный шаблон автоматически. HostMetadata и HostMetadataItem одновременно не используются: задайте один из них.

Разбор проблем

Симптом Причина
Узел не появляется Условие действия не совпало (метаданные, IP), закрыт порт 10051, неверный ServerActive
В логе агента «no active checks on server» Узла ещё нет или имя Hostname не совпадает с созданным
Дубли узлов Образ ВМ клонировали с одним Hostname: перед клонированием очистите имя
Узел создан, но без шаблона В операциях действия нет «Link to templates» или шаблон недоступен группе
sudo tail -n 50 /var/log/zabbix/zabbix_agent2.log
sudo tail -n 50 /var/log/zabbix/zabbix_server.log | grep -i autoreg

Для большого парка добавьте в образ ВМ или в Ansible агент с готовым конфигом и метками: узлы будут регистрироваться по мере запуска.

Как проверить

Поднимите агент с известным Hostname и metadata. Через минуту узел появился в нужной группе с шаблоном. Агент без metadata или с чужого IP — не появился. В Administration → Audit log есть событие авторегистрации.

Источники

ТегиZabbix

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