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

Инструкция входит в цикл про Zabbix. Общая картина: мониторинг Linux и Windows в Zabbix, справочник ключей: ключи агента.
Нужно, чтобы новый агент сам появился в Zabbix, без ручного Create host. Авторегистрацию открывают только для своих сетей. Иначе любой, кто достучался до 10051, станет «вашим» узлом.
1. Агент: активный режим
Авторегистрация работает с активным агентом. В конфиге:
ServerActive=192.0.2.10
Hostname=web-01
HostMetadata=linux-prod
Перезапустите агент. HostMetadata — метка для условия, не секрет, но и не рекламируйте её в интернет.
2. Действие в Zabbix
- Alerts → Actions → Autoregistration actions (в старых ветках — Configuration → Actions).
- Условие: Host metadata contains
linux-prodи/или IP в вашей подсети. - Операции: 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, active agent autoregistration. URL: https://www.zabbix.com/documentation/current.



















