10 Zabbix агент на Microsoft Windows

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

Оба поколения агентов Zabbix работают в качестве службы Windows (Windows service). Для Zabbix агента 2, замените agentd на agent2 в инструкциях ниже.

Вы можете запустить один экземпляр Zabbix агента или несколько экземпляров агента на хосте Microsoft Windows. Одиночный экземпляр может использовать файл конфигурации C:\zabbix_agentd.conf по умолчанию или файл конфигурации, указанный в командной строке. В случае нескольких экземпляров каждый экземпляр агента должен иметь свой собственный файл конфигурации (один из экземпляров может использовать файл конфигурации по умолчанию).

Пример файла конфигурации доступен в архиве с исходными кодами Zabbix в виде файла conf/zabbix_agentd.win.conf.

Смотрите опции файла конфигурации для получения подробных сведений по настройке Zabbix Windows агента.

Параметр Hostname

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

Значение имени хоста на стороне агента можно задать параметрами Hostname или HostnameItem в файле конфигурации агента - или будут использованы значения по умолчанию, если ни один из этих параметров не указан.

Значением по умолчанию для параметра HostnameItem является значение, возвращаемое ключом агента "system.hostname". Для платформы Windows он вернёт результат функции gethostname(), которая опрашивает провайдеров пространств имён, чтобы определить имя локального хоста. Если никакой из провайдеров пространств имён не отвечает, возвращается NetBIOS имя хоста.

Значением по умолчанию для параметра Hostname является значение, возвращаемое параметром HostnameItem. Таким образом, фактически, если оба этих параметра не заданы, то реальным именем узла сети будет NetBIOS имя хоста; Zabbix агент будет использовать NetBIOS имя хоста для получения списка активных проверок от Zabbix сервера и отправки ему результатов.

Ключ "system.hostname" поддерживает два необязательных параметра - тип и преобразование.

Параметр тип определяет тип имени, которое должен вернуть элемент данных. Поддерживаемые значения:

  • netbios (по умолчанию) - возвращает NetBIOS имя хоста, ограниченное до 15 символов и только В ВЕРХНЕМ РЕГИСТРЕ;
  • host - чувствительное к регистру, возвращает полное, реальное имя хоста Windows (без домена);
  • shorthost (поддерживается с версии Zabbix 5.4.7) - возвращает часть имени хоста до первой точки. Возвращается полная строка, если имя не содержит точку.

Параметр преобразование поддерживается с версии Zabbix 5.4.7 и позволяет указать правило дополнительного преобразования для имени узла сети. Поддерживаются значения:

  • none (по умолчанию) - использовать оригинальный регистр букв;
  • lower - приводить текст к нижнему регистру.

Таким образом, чтобы упростить настройку файла zabbix_agentd.conf и сделать его унифицированным, можно использовать два различных похода.

  1. оставить параметры Hostname или HostnameItem не заданными, и тогда Zabbix агент будет использовать NetBIOS имя хоста как имя узла сети;
  2. оставить параметр Hostname не заданным и задать HostnameItem таким образом:
    HostnameItem=system.hostname[host] - тогда Zabbix агент будет использовать полное, реальное (регистрозависимое) имя хоста Windows как узла сети
    HostnameItem=system.hostname[shorthost,lower] - тогда Zabbix агент будет использовать только часть имени хоста до первой точки, приведённую к нижнему регистру.

Также при установке, запуске, остановке и удалении службы Windows имя хоста используется как часть имени службы Windows. Например, если в файле конфигурации Zabbix агента указано Hostname=Windows_db_server, тогда агент будет установлен как служба Windows "Zabbix Agent [Windows_db_server]". Поэтому, чтобы у каждого экземпляра Zabbix агента имелись разные имена служб Windows, каждый экземпляр должен использовать отличное от другого экземпляра имя хоста.

Установка агента как службы Windows

Для установки одиночного экземпляра Zabbix агента с файлом конфигурации c:\zabbix_agentd.conf по умолчанию:

zabbix_agentd.exe --install

На 64-битных системах требуется 64-битная версия Zabbix агента, чтобы все проверки, связанные с запущенными 64-битными процессами, работали корректно.

Если вы хотите использовать файл конфигурации, отличный от c:\zabbix_agentd.conf, вы должны использовать следующую команду для установки службы:

zabbix_agentd.exe --config <ваш_файл_конфигурации> --install

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

Можно установить несколько экземпляров Zabbix агента как службы, примерно следующим образом:

  zabbix_agentd.exe --config <файл_конфигурации_для_экземпляра_1> --install --multiple-agents
         zabbix_agentd.exe --config <файл_конфигурации_для_экземпляра_2> --install --multiple-agents
         ...
         zabbix_agentd.exe --config <файл_конфигурации_для_экземпляра_N> --install --multiple-agents

Установленная служба теперь будет видна в Панели Управления.

Запуск агента

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

Для запуска одиночного экземпляра Zabbix агента с файлом конфигурации по умолчанию:

 zabbix_agentd.exe --start

Для запуска одиночного экземпляра Zabbix агента с отличным от умолчания файлом конфигурации:

 zabbix_agentd.exe --config <ваш_файл_конфигурации> --start

Для запуска одного из нескольких экземпляров Zabbix агента:

 zabbix_agentd.exe --config <файл_конфигурации_этого_экземпляра> --start --multiple-agents

Остановка агента

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

Для остановки одиночного экземпляра Zabbix агента, который запущен с файлом конфигурации по умолчанию:

 zabbix_agentd.exe --stop

Для остановки одиночного экземпляра Zabbix агента, который запущен с другим файлом конфигурации:

 zabbix_agentd.exe --config <ваш_файл_конфигурации> --stop

Для остановки одного из нескольких экземпляров Zabbix агента:

 zabbix_agentd.exe --config <файл_конфигурации_этого_экземпляра> --stop --multiple-agents

Удаление службы Windows агента

Для удаления одиночного экземпляра Zabbix агента, который использует файл конфигурации по умолчанию:

   zabbix_agentd.exe --uninstall

Для удаления одиночного экземпляра Zabbix агента, который использует отличный от умолчания файл конфигурации:

   zabbix_agentd.exe --config <ваш_файл_конфигурации> --uninstall

Для удаления нескольких экземпляров Zabbix агента из служб Windows:

  zabbix_agentd.exe --config <файл_конфигурации_экземпляра_1> --uninstall --multiple-agents
         zabbix_agentd.exe --config <файл_конфигурации_экземпляра_2> --uninstall --multiple-agents
         ...
         zabbix_agentd.exe --config <файл_конфигурации_экземпляра_N> --uninstall --multiple-agents

Ограничения

Zabbix агент для Windows не поддерживает нестандартные конфигурации Windows, где CPU распределены неравномерно по узлам NUMA. Если логические CPU распределены неравномерно, то метрики производительности CPU могут быть недоступными для некоторых CPU. Например, если имеется 72 логических CPU с 2 нодами NUMA, обе ноды должны иметь по 36 CPU каждая.