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端的主机名可以通过配置文件中的Hostname 或 HostnameItem参数定义 - 如果没有指定这些参数,则使用默认值。
参数HostnameItem 的默认值即agent端key值为 “system.hostname”的监控项返回值,对于Windows平台返回的是NetBIOS的主机名。
参数Hostname默认值为HostnameItem 参数的返回值。所以,实际上如果这两个参数都是未指定的,实际的主机名将是主机NetBIOS名称; Zabbix agent将使用NetBIOS主机名从Zabbix server获取active checks列表,并将检查结果发送给它。
system.hostname参数始终返回NetBIOS主机名,该主机名限制在15个符号以内,并且只包含大写字母 - 而不管实际主机名中的长度和大小写字母。
从Windows Zabbix agent 1.8.6版本开始, “system.hostname” key支持可选参数 -名称的type。此参数的默认值为”netbios” (用于向后兼容) 另一个可能的值是 “host”.
system.hostname[host]键总是返回完整真实的(区分大小写的)Windows主机名。
因此,为了简化zabbix_agentd.conf文件的配置并使其统一,可以使用两种不同的方法。
不定义 Hostname或者HostnameItem 参数,Zabbix agent将使用NetBIOS主机名作为主机名;
不定义 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
在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