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, установленное на стороне агента, должно в точности совпадать с "именем узла" , настроенным для узла сети во веб-интерфейсе.
Значение 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 - возвращает часть hostname до первой точки. Если имя не содержит точки, будет возвращена полная строка.
- fqdn - возвращает полное доменное имя (без завершающей точки).
Transform позволяет задать дополнительное правило преобразования для hostname:
- none (по умолчанию) - использовать исходный регистр букв;
- lower - преобразовать текст в нижний регистр.
Таким образом, чтобы упростить настройку файла zabbix_agentd.conf и
сделать ее унифицированной, можно использовать три разных подхода:
- Оставить параметры Hostname или HostnameItem не заданными, и агент Zabbix будет использовать имя узла NetBIOS в качестве hostname.
- Оставить параметр Hostname не заданным и определить HostnameItem
следующим образом:
HostnameItem=system.hostname[host] - чтобы агент Zabbix использовал полное, реальное имя узла Windows (с учетом регистра) в качестве hostname.
HostnameItem=system.hostname[shorthost,lower] - чтобы агент Zabbix использовал только часть hostname до первой точки, преобразованную в нижний регистр.
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. Если логические процессоры распределены неравномерно, то метрики производительности CPU могут быть недоступны для некоторых процессоров. Например, если имеется 72 логических процессора и 2 узла NUMA, на каждом узле должно быть по 36 процессоров.