В zabbix существует отличный механизм который позволяет автоматически добавлять новые хосты на мониторинг. Что существенно экономит время по развертыванию системы мониторинга.
Зачем это нужно?
Представьте себе что у вас есть парк из несколько сотен машин. А теперь представьте сколько времени займет у вас добавление вручную их на zabbix. Конечно можно написать скрипт который через zabbix-api добавит их, но есть более простой путь-это авторегистрация агентов.
При таком подходе вам нужно только установить активный zabbix агент на хосте, а на сервер он уже автоматически добавится и применит нужные шаблоны. А если у вас уже есть настроенная система конфигурация ansible или puppet, то вся процедура займет буквально несколько минут.
Настройка zabbix сервера
Для начала создаем на сервере zabbix новое действие. Переходим в меню Настройки-Действия-создать действие. Источник выбираем «Авторегистрация»
На открывшейся странице на вкладке «Действия» заполняем следующие поля
Здесь
Имя — любое название действия
Новое условие — выбираем «Метаданные узлов сети» — «содержит» и здесь вписываем строку по которой будем идентифицировать регистрируемые хосты.
Затем переходим на вкладку «Операции». И здесь в поле «операции» кликаем по ссылке «Новый». И добавляем правила которые необходимо применить при регистрации хоста.
Обратите внимание на один момент, при добавлении операции нужно кликать не на большую кнопку «добавить». А на мелкую ссылку «добавить»
Например для добавления узла и добавления его к группе Linux servers с присоединением к шаблону «Template Linux OS_activ» выглядит так
После этого нажимаем большую кнопку «Добавить». На этом настройку сервера можно считать завершенной.
Настройка zabbix агентов
Открываем конфигурационный файл агента и редактируем следующие поля
Закомментировать или прописать свое уникальное имя в параметре
Hostname=Zabbix server
В противном случае добавится только один хост, для остальных хостов сервер будет считать что узел уже существует. Если этот параметр будет пустой или закомментирован, то узел добавится под системным именем.
В параметре ServerActive прописываем ip адрес сервера
ServerActive=<zabbix server>
Раскомментировать параметр HostMetadata и присвоить ему значение которое мы указали в настройках сервера
HostMetadata=linux.autoreg
После чего перезапускаем агент. Идем на сервер и в узлах сети, в указанной группе, а также в группе «Discovered hosts» должен появиться новый узел. Если этого не произошло, то смотрим логи агента и сервера, как правило там подробно описано что у нас пошло не так. При необходимости мы можем отредактировать настройки вручную, эти настройки не пропадут. Только не меняйте имя, иначе узел снова зарегистрируется под именем настроенном в параметре Hostname.
Заключение
Как видим настроить автоматическое добавление узлов в zabbix дело десяти минут. А вот упрощает и экономит время при дальнейшем обслуживание мониторинга это существенно.