2 Авторегистрация активных агентов

Обзор

Имеется возможность разрешить автоматическую регистрацию активных Zabbix агентов, после чего сервер может начать наблюдать их. Таким образом, новые узлы сети могут быть добавлены для наблюдения без ручной настройки этих узлов сети на сервере.

Автоматическая регистрация может выполниться, когда ранее неизвестный активный агент запрашивает проверки.

Эта функция может быть очень удобной для автоматического мониторинга новых узлов из облака. Как только у вас появляется новый узел в облаке, Zabbix автоматически начинает собирать данные о производительности и доступности этого узла сети.

Авторегистрация активных агента также поддерживает наблюдение за добавленными узлами сети с пассивными проверками. Когда активный агент запрашивает проверки, при условии, что параметры конфигурации 'ListenIP' или 'ListenPort' указанны в файле конфигурации, агент отправляет их на сервер. (Если указано несколько IP адресов, то на сервер отправляется первый адрес.)

Сервер при добавлении нового автоматически зарегистрированного узла сети, использует полученные IP адрес и порт для настройки агента. Если значение IP адреса не получено, будет использоваться адрес с которого пришло входящее подключение. Если значение порта не получено, то используется 10050 порт.

Имеется возможность указать что узел сети необходимо зарегистрировать автоматически с использованием DNS имени в качестве интерфейса агента по умолчанию.

Авторегистрация выполняется повторно:

  • если меняется информация метаданных узла сети:
    • из-за изменения HostMetadata и перезапуска агента
    • из-за полученного значения, которое получено изменившимся HostMetadataItem
  • для вручную созданных узлов сети с отствующими метаданными
  • если узел сети вручную изменён для мониторинга через другой Zabbix прокси
  • если авторегистрация по одному хосту поступает с нового Zabbix прокси

Настройка

Задайте сервер

Убедитесь, что у вас в файле конфигурации агента указан Zabbix сервер - zabbix_agentd.conf

 ServerActive=10.0.0.1

Если вы не указали параметр Hostname в zabbix_agentd.conf, то будет использоваться системное имя узла сети на котором находиться агент, в качестве имени узла сети. Например, имя узла сети системы в Linux можно получить, выполнив команду 'hostname'.

Перезапустите агента после сделанных изменений в файле конфигурации.

Действия на авторегистрацию активных агентов

Когда сервер получает запрос на авторегистрацию от активного агента он вызывает действие. Для авторегистрации необходимо настроить действие с ресурсом события "Авторегистрация".

Настройка сетевого обнаружения не требуется для автоматической регистрации активных агентов.

Перейдите в Настройка → Действия, выберите ресурс события Авторегистрация и нажмите на Создать действие:

  • В закладке Действие укажите имя действия
  • Опционально задайте условия. Вы можете проверять совпадение подстроке или соответствие регулярному выражению в условиях для имени узла сети / метаданных узла сети. Если вы собираетесь использовать условие "Метаданных узла сети", просмотрите следующий раздел.
  • В закладке Операции добавьте соответствующие операции, такие как - 'Добавить узел сети', 'Добавить в группу узлов сети' (например, Discovered hosts), 'Присоединить к шаблонам' и др.

Если узлы сети будут автоматически регистрироваться, они, скорее всего, будут поддерживать только активный мониторинг (такие как узлы сети, к которым доступ закрыт брандмауэром с вашего Zabbix сервера), в этом случае вы возможно захотите создать специфичный шаблон, такой как Template_Linux-active, и присоединить его.

Создаваемые узлы сети добавляются в группу Discovered hosts (по умолчанию, настраивается в АдминистрированиеОбщиеПрочие). Если вы желаете, чтобы узлы сети добавлялись в другую группу, добавьте операцию Удалить из группы узлов сети (укажите группу "Discovered hosts") и также добавьте операцию Добавить в группу узлов сети (укажите другую группу узлов сети), так как узел сети должен принадлежать какой-либо группе узлов сети.

Безопасная авторегистрация

Безопасный способ авторегистрации возможен при настройке аутентификации на основе PSK с зашифрованными соединениями.

Уровень шифрования настраивается глобально в АдминистрированиеОбщие, в разделе Авторегистрация через всплывающее меню справа. Имеется возможность выбрать без шифрования, TLS шифрование с PSK аутентификацией или оба варианта (таким образом некоторые хосты смогут зарегестрироваться без использования шифрования, в то время как другие с шифрованием).

Аутентификация при помощи PSK проверяется Zabbix сервером перед добавлением узла сети. В случае успешной проверки узел сети добавляется и Соединения с/к узлу сети выставляется значением 'PSK' только при одинаковых значениях строки идентификатора/pre-shared ключа и глобальной настройки авторегистрации.

Для обеспечения безопасности авторегистрации на инсталляцих, которые используют прокси, необходимо включить шифрование между Zabbix сервером и прокси.

Использование DNS интерфейсом по умолчанию

Имеется возможность указать что узел сети необходимо зарегистрировать автоматически с использованием DNS имени в качестве интерфейса агента по умолчанию. Чтобы это сделать, DNS имя должно быть указано/отправлено значением из параметров конфигурации либо 'HostInterface', либо 'HostInterfaceItem'. Обратите внимание, если значение одного из параметров меняется, интерфейс зарегистрированного автоматически узла сети будет обновлен. Таким образом имеется возможность обновления интерфейса по умолчанию на другие DNS имя или IP адрес. Чтобы изменения вступили в силу, агента необходимо перезапустить. (Параметры конфигурации 'HostInterface' и 'HostInterfaceItem' поддерживаются в конфигурации агента начиная с Zabbix 4.4.)

Использование метаданных узлов сети

Когда агент отправляет запрос на авторегистрацию серверу он отправляет свое имя узла сети (hostname). В некоторых случаях (к примеру, ноды облака Amazon) имени узла сети недостаточно для Zabbix сервера для отличия обнаруженных узлов сети. Метаданные узла сети могут дополнительно использовать для отправки дополнительной информации от агента к серверу.

Метаданные узла сети настраиваются в файле конфигурации агента - zabbix_agentd.conf. Имеется 2 способа указать метаданные узла сети в файле конфигурации:

 HostMetadata
        HostMetadataItem

Смотрите описание параметров по ссылке выше.

Попытка авторегистрации происходит каждый раз, как только активный агент отправляет запрос на обновление своих активных проверок серверу. Задержка между запросами определяется параметром RefreshActiveChecks агента. Первый запрос отправляется сразу же после перезапуска агента.

Пример 1

Использование метаданных узла сети для отделения узлов сети Linux от Windows.

Скажем, вы бы хотели, чтобы узлы сети автоматически регистрировались Zabbix сервером. У Вас имеются агенты Zabbix (смотрите раздел "Настройка" выше) в вашей сети. В вашей сети имеются узлы сети Windows и узлы сети Linux и у вас имеются в наличии "Template OS Linux" и "Template OS Windows" шаблоны в веб-интерфейсе Zabbix. Поэтому при регистрации узлов сети вы бы хотели, чтобы соответствующие Linux/Windows шаблоны назначались зарегистрированным узлам сети. По умолчанию, при авторегистрации серверу отправляется только имя узла сети, которого может быть не достаточно. Для того, чтобы убедиться, что будет назначен узлу сети правильный шаблон, вам следует использовать метаданные узла сети.

Настройка в веб-интерфейсе

Первым делом вам нужно произвести настройки в веб-интерфейсе. Создайте 2 действия. Первое действие:

 * Имя: Авторегистрация Linux хостов
        * Условия: Метаданные узлов сети содержат //Linux//
        * Операции: Присоединить к шаблонам: Template OS Linux

Для этого случая вы можете пропустить операцию "Добавить узел сети". Присоединение к шаблону требует изначально добавления узла сети, поэтому сервер сделает это автоматически.

Второе действие:

 * Имя: Авторегистрация Windows хостов
        * Условия: Метаданные узлов сети содержат //Windows//
        * Операции: Присоединить к шаблонам: Template OS Windows
Настройка агента

Сейчас настройте агенты. Добавьте следующую строку в файлы конфигурации агентов:

 HostMetadataItem=system.uname

Таким образом, вы убедитесь, что метаданные узла сети будут содержать "Linux" или "Windows" в зависимости хоста на котором запущен агент. Пример метаданных узла сети в этом случае:

 Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
        Windows: Windows WIN-0PXGGSTYNHO 6.0.6001 Windows Server 2008 Service Pack 1 Intel IA-32

Не забудьте перезапустить агента после сделанных изменений в файле конфигурации.

Пример 2

Шаг 1

Использование метаданных узла сети для получения некотрой базовой защиты от регистрации нежелательных узлов сети.

Настройка в веб-интерфейсе

Создайте действие в веб-интерфейсе, используя приведенный выше трудно-угадываемый секретный код для запрета нежелательных узлов сети:

  • Имя: Действие авторегистрации Linux хостов
  • Условия:
        * Тип вычисления: И
               * Условие (А): Метаданные узлов сети содержат //Linux//
               * Условие (В): Метаданные узлов сети содержат //21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae//
       * Операции: 
               * Отправить сообщение пользователям: Admin через все способы оповещения
               * Добавить в группы узлов сети: Linux сервера
               * Присоединить к шаблонам: Template OS Linux

Пожалуйста, примите во внимание, что использование только этого метода не сможет обеспечить надежную защиту потому, что данные передаются как простой текст.

Настройка агента

Добавьте следующую строку в файл конфигурации агента:

  HostMetadata: Linux    21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae

Где "Linux" является платформой, а остальная строка является трудно-угадываемым секретным текстом.

Не забудьте перезапустить агента после внесения изменений в файл конфигурации.

Шаг 2

Имеется возможность добавления дополнительного мониторинга уже зарегистрированному узлу сети.

Настройка в веб-интерфейсе

В веб-интерфейсе обновите действие:

  • Имя: Действие авторегистрации Linux хостов
  • Условия:
        * Тип вычисления: И
               * Условие (А): Метаданные узлов сети содержат Linux
               * Условие (В): Метаданные узлов сети содержат 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
       * Операции: 
               * Отправить сообщение пользователям: Admin через все способы оповещения
               * Добавить в группы узлов сети: Linux сервера
               * Присоединить к шаблонам: Template OS Linux
               * Присоединить к шаблонам: Template DB MySQL
Настройка агента

Обновите следующую строку в файле конфигурации агента:

HostMetadata=MySQL on Linux 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae

Не забудьте перезапустить агента после внесения любых изменений в файл конфигурации.