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, заданное на стороне агента, должно точно совпадать с "именем узла", настроенным для узла сети во веб-интерфейсе.
Значение 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 позволяет задать дополнительное правило преобразования для 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 использовал только часть имени узла до первой точки, преобразованную в нижний регистр.
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-битная версия 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 каждая.