11 Агент Zabbix в Microsoft Windows

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

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

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

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

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

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

  • conf/zabbix_agentd.conf для Zabbix agent;
  • conf/zabbix_agent2.conf для Zabbix agent2.

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

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

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

Параметр Hostname

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

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

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

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

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

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

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

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

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

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

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

Имя узла также используется как часть имени службы 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-узлам неравномерно. Если логические процессоры распределены неравномерно, то метрики производительности ЦП могут быть недоступны для некоторых процессоров. Например, если имеется 72 логических процессора и 2 NUMA-узла, то на каждом узле должно быть по 36 процессоров.