这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

9 Microsoft Windows下的Zabbix agent

配置agent

Zabbix agent以Windows服务运行。

在一台Windows主机上可以运行一个或多个Zabbix agent实例。 如果安装一个实例可以使用默认的配置文件C:\zabbix_agentd.conf 或者在命令中指定配置文件路径。 如果安装多个实例,每一个agent必须有自己的配置文件 (其中一个实例可以使用默认的配置文件)。

在Zabbix源文件目录有一个配置文件样例conf/zabbix_agentd.win.conf

关于Zabbix Windows agent 更多详细信息,参考 配置文件

Windows Zabbix agent不支持CPU在NUMA节点上非均匀分布的非标准Windows配置。 如果逻辑CPU的分布不均匀,那么某些CPU可能无法获得CPU性能指标。例如,如果有72个逻辑CPU和2个NUMA节点,那么两个节点都必须有36个cpu。

主机名参数

要在主机上执行 主动检查 时,Zabbix agent 需要定义主机名。而且agent端的主机名必须和前端配置的主机名 "Host name"完全一致 。

agent端的主机名可以通过配置文件中的HostnameHostnameItem参数定义 - 如果没有指定这些参数,则使用默认值。

参数HostnameItem 的默认值即agent端key值为 "system.hostname"的监控项返回值,对于Windows平台返回的是NetBIOS的主机名。

参数Hostname默认值为HostnameItem 参数的返回值。所以,实际上如果这两个参数都是未指定的,实际的主机名将是主机NetBIOS名称; Zabbix agent将使用NetBIOS主机名从Zabbix server获取active checks列表,并将检查结果发送给它。

<note important>system.hostname参数始终返回NetBIOS主机名,该主机名限制在15个符号以内,并且只包含大写字母 - 而不管实际主机名中的长度和大小写字母。 :::

从Windows Zabbix agent 1.8.6版本开始, "system.hostname" key支持可选参数 -名称的type。此参数的默认值为"netbios" (用于向后兼容) 另一个可能的值是 "host".

<note important>system.hostname[host]键总是返回完整真实的(区分大小写的)Windows主机名。 :::

因此,为了简化zabbix_agentd.conf文件的配置并使其统一,可以使用两种不同的方法。

  1. 不定义 Hostname或者HostnameItem 参数,Zabbix agent将使用NetBIOS主机名作为主机名;
  2. 不定义 Hostname 参数,定义HostnameItem 如:
    HostnameItem=system.hostname[host]
    Zabbix agent将使用完整的真实的(区分大小写的)Windows主机名作为主机名。

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

Windows下安装agent服务

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

zabbix_agentd.exe --install

<note important>在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

现在在控制面板中可以看到安装的服务。

启动 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

Windows下卸载agent服务

卸载使用默认配置文件的单实例Zabbix agent服务命令如下:

   zabbix_agentd.exe --uninstall

卸载使用自定义配置文件的单实例Zabbix agent服务命令如下:

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

卸载多实例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