11 Агент Zabbix в Microsoft Windows

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

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

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

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

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

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

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

Если вы хотите установить Zabbix агента/агента 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 будет использовать полное доменное имя (Fully Qualified Domain Name) в качестве имени узла сети.

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

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

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

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

zabbix_agentd.exe --install

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

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

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 каждая.