11 Агент Zabbix в Microsoft Windows

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

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

Вы можете запускать один экземпляр агента Zabbix или несколько экземпляров агента на узле сети 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 или 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 использовал полное доменное имя в качестве имени узла сети.

Имя узла сети также используется как часть имени службы 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 процессоров.