Zabbix агент в Microsoft Windows

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

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

На узле сети Microsoft Windows можно запустить один экземпляр агента Zabbix или несколько экземпляров агента.
Один экземпляр может использовать:

  • файл конфигурации по умолчанию, расположенный в том же каталоге, что и двоичный файл агента;
  • файл конфигурации, указанный в командной строке.

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

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

  • conf/zabbix_agentd.conf для агента Zabbix;
  • conf/zabbix_agent2.conf для agent2 Zabbix.

Если вы хотите установить агент Zabbix/агент 2 для Windows как службу из архива, не указывая файл конфигурации явно, перед установкой агента выполните следующие действия:

  • вручную скопируйте conf/zabbix_agentd.conf в каталог, где будет установлен zabbix_agentd.exe;
  • вручную скопируйте conf/zabbix_agent2.conf и каталог conf/zabbix_agent2.d в каталог, где будет установлен zabbix_agent2.exe.

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

Параметр Hostname

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

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

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

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

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

Type определяет тип имени, которое должен возвращать элемент данных:

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

Transform позволяет указать дополнительное правило преобразования имени узла сети:

  • 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 будет использовать только часть имени узла сети до первой точки, преобразованную в нижний регистр.
    • HostnameItem=system.hostname[fqdn] - агент Zabbix будет использовать полное доменное имя (Fully Qualified Domain Name) в качестве имени узла сети.

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

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

Перед установкой агента вручную скопируйте conf/zabbix_agentd.conf в каталог, где будет установлен zabbix_agentd.exe.

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

zabbix_agentd.exe --install

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

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

zabbix_agentd.exe --config <your_configuration_file> --install

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

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

  zabbix_agentd.exe --config <configuration_file_for_instance_1> --install --multiple-agents
  zabbix_agentd.exe --config <configuration_file_for_instance_2> --install --multiple-agents
  ...
  zabbix_agentd.exe --config <configuration_file_for_instance_N> --install --multiple-agents

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

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

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

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

 zabbix_agentd.exe --start

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

 zabbix_agentd.exe --config <your_configuration_file> --start

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

 zabbix_agentd.exe --config <configuration_file_for_this_instance> --start --multiple-agents

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

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

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

 zabbix_agentd.exe --stop

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

 zabbix_agentd.exe --config <your_configuration_file> --stop

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

 zabbix_agentd.exe --config <configuration_file_for_this_instance> --stop --multiple-agents

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

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

   zabbix_agentd.exe --uninstall

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

   zabbix_agentd.exe --config <your_configuration_file> --uninstall

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

  zabbix_agentd.exe --config <configuration_file_for_instance_1> --uninstall --multiple-agents
  zabbix_agentd.exe --config <configuration_file_for_instance_2> --uninstall --multiple-agents
  ...
  zabbix_agentd.exe --config <configuration_file_for_instance_N> --uninstall --multiple-agents

Ограничения

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