10 Zabbix agent 在 Microsoft Windows 上

配置 agent

两代Zabbix agents均可作为Windows服务运行。对于Zabbix agent 2,请将下方说明中的agentd替换为agent2

您可以在Microsoft Windows 主机上运行单个Zabbix agent实例或多个agent实例。单个实例可使用默认配置文件C:\zabbix_agentd.conf或命令行中指定的配置文件。若需运行多个实例,则每个agent实例必须拥有独立的配置文件(其中一个实例可使用默认配置文件)。

示例配置文件可在Zabbix源码归档中找到,路径为conf/zabbix_agentd.win.conf

有关配置Zabbix Windows agent的详细信息,请参阅configuration file选项说明。

主机名参数

要在主机上执行主动检查
Zabbix agent需要定义主机名。此外,agent端设置的主机名值必须与前端为该主机配置的"Host name"完全匹配。

agent端的主机名值可通过HostnameHostnameItem参数在agentconfiguration file中定义——若未指定这些参数则使用默认值。

HostnameItem参数的默认值是"system.hostname"agent键返回的值。在Windows系统中,它返回gethostname()函数的结果,该函数通过queries命名空间提供程序确定本地主机名称。若无命名空间提供程序响应,则返回NetBIOS名称。

Hostname的默认值是HostnameItem参数返回的值。因此实际上,若这两个参数均未指定,实际主机名将是主机的NetBIOS名称;Zabbixagent将使用NetBIOS主机名称从Zabbix server获取主动检查列表并发送结果。

"system.hostname"键支持两个可选参数——typetransform

type参数决定监控项应返回的名称类型。支持的值:

  • netbios(默认)- 返回限制为15个字符且全大写的NetBIOS主机名称;
  • 主机 - 区分大小写,返回完整的真实Windows主机名称(不含域);
  • shorthost(自Zabbix5.4.7起支持)- 返回第一个点之前的主机名部分。若名称不含点则返回完整string。

transform参数自Zabbix5.4.7起支持,允许指定主机名的额外转换规则。支持的值:

  • none(默认)- 使用原始字母大小写;
  • lower - 将文本转换为小写。

因此,为简化zabbix_agentd.conf文件配置并实现统一,可采用两种不同方法:

  1. 不定义HostnameHostnameItem参数,Zabbix agent将使用NetBIOS主机名称作为主机名;
  2. 不定义Hostname参数,按如下方式定义HostnameItem
    HostnameItem=system.hostname[主机] - 使Zabbix agent使用完整的真实(区分大小写)Windows主机名称作为主机名
    HostnameItem=system.hostname[shorthost,lower] - 使Zabbixagent仅使用第一个点之前的主机名部分并转换为小写。

主机名称还用作Windows服务名称的一部分,该服务用于安装、启动、停止和卸载Windows服务。例如,若Zabbix agent配置文件指定Hostname=Windows_db_server,则agent将安装为Windows服务"Zabbix Agent [Windows_db_server]"。因此,要为每个Zabbix agent实例设置不同的Windows服务名称,每个实例必须使用不同的主机名称。

将 agent 安装为 Windows 服务

使用默认配置文件c:\zabbix_agentd.conf安装单实例Zabbix agent:

zabbix_agentd.exe --install

在64位系统上,所有与运行64位进程相关的检查功能都需要使用64位版本的Zabbix agent才能正常工作。

如需使用非c:\zabbix_agentd.conf的配置文件,应使用以下命令安装服务:

zabbix_agentd.exe --config <your_configuration_file> --install

必须指定配置文件的完整路径。

可以按以下方式安装多个Zabbix agent服务实例:

  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

安装的服务现在应能在控制面板中查看。

Starting agent

要启动agent服务,您可以使用控制面板或通过命令行操作。

使用默认配置文件启动单个Zabbix agent实例:

 zabbix_agentd.exe --start

使用其他配置文件启动单个Zabbix agent实例:

 zabbix_agentd.exe --config <your_configuration_file> --start

启动多个Zabbix agent实例中的一个:

 zabbix_agentd.exe --config <configuration_file_for_this_instance> --start --multiple-agents

停止 agent

要停止agent服务,您可以使用控制面板或通过命令行操作。

停止使用默认配置文件启动的单个Zabbix agent实例:

 zabbix_agentd.exe --stop

停止使用其他配置文件启动的单个Zabbix agent实例:

 zabbix_agentd.exe --config <your_configuration_file> --stop

停止多个Zabbix agent实例中的某一个:

 zabbix_agentd.exe --config <configuration_file_for_this_instance> --stop --multiple-agents

卸载 agent Windows 服务

使用默认配置文件卸载单个Zabbix agent实例:

   zabbix_agentd.exe --uninstall

使用非默认配置文件卸载单个Zabbix agent实例:

   zabbix_agentd.exe --config <your_configuration_file> --uninstall

从Windows服务中卸载多个Zabbix agent实例:

  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

限制条件

Windows版Zabbix agent不支持CPU在NUMA节点间非均匀分布的非标准Windows配置。若逻辑CPU呈非均匀分布,部分CPU的性能指标可能无法获取。例如,当存在72个逻辑CPU和2个NUMA节点时,每个节点必须均包含36个CPU。