11 Агент Zabbix в Microsoft Windows
Настройка агента
Оба поколения агентов Zabbix работают как служба Windows.
Для агента Zabbix 2 замените agentd на agent2 в приведенных ниже инструкциях.
На узле сети под управлением Microsoft Windows можно запустить один экземпляр агента Zabbix или несколько экземпляров агента.
Один экземпляр может использовать:
- файл конфигурации по умолчанию, расположенный в том же каталоге, что и двоичный файл агента;
- файл конфигурации, указанный в командной строке.
При использовании нескольких экземпляров каждый экземпляр агента должен иметь собственный файл конфигурации (один из экземпляров может использовать файл конфигурации по умолчанию).
Пример файла конфигурации доступен в архиве с исходным кодом Zabbix:
conf/zabbix_agentd.confдля агента Zabbix;conf/zabbix_agent2.confдля агента Zabbix 2.
Если вы хотите установить агент Zabbix/агент 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 и ее унификации можно использовать три разных подхода:
- Не указывать параметры Hostname или HostnameItem - агент Zabbix будет использовать имя узла сети NetBIOS в качестве имени узла сети.
- Не указывать параметр 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-разрядными процессами, требуется 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 процессоров.