Zabbix agent 部署在监控目标上,用于主动监控本地资源和应用程序(硬盘、memory、处理器统计信息等)。
agent 在本地收集运行信息,并将数据报告给 Zabbix server 进行进一步处理。在发生故障时(如硬盘空间不足或服务进程崩溃),Zabbix server 可以主动向报告故障的特定机器的管理员发出警报。
Zabbix agents 由于使用原生系统调用来收集统计信息,因此效率极高。
Zabbix agents 可执行被动与主动检查。
在被动检查模式下,agent 响应数据请求。Zabbix server(或称proxy)请求数据(例如CPU负载), Zabbix agent则返回结果。
主动检查 需要更复杂的处理流程。agent需先从Zabbix server获取 监控项列表进行独立处理,随后定期向服务器发送新值。
通过选择对应的监控item type来配置执行被动或主动检查。 Zabbix agent处理类型为'Zabbix agent'或'Zabbix agent(主动)'的监控项。
Zabbix agent 可在以下平台 supported:
还可下载针对 NetBSD 和 HP-UX 的旧版 Zabbix agent 二进制文件,这些文件与当前 Zabbix server/proxy version 兼容。
类UNIX系统上的Zabbix agent是指被监控的主机上的run。
有关如何以软件包形式安装Zabbix agent的说明, 请参阅package installation章节。
若不希望使用软件包,可参考安装-zabbix-守护进程的安装说明。
通常情况下,32位Zabbix agents可在64位系统上运行, 但在某些情况下可能会失败。
Zabbix agent 以守护进程方式运行。可通过执行以下命令启动 agent:
该命令适用于大多数GNU/Linux系统。在其他系统上可能需要使用 run:
同理,停止/重启/查看 Zabbix agent 状态时,使用以下命令:
systemctl stop zabbix-agent systemctl restart zabbix-agent systemctl status zabbix-agent
如果上述方法无效,您需要手动启动它。找到zabbix_agentd二进制文件的路径并execute:
zabbix_agentd
Zabbix agent 在Windows上作为Windows服务运行。
Zabbix agent以zip压缩包形式分发。下载压缩包后需进行解压。选择任意文件夹存放Zabbix agent及配置文件file,例如:
将bin\zabbix_agentd.exe和conf\zabbix_agentd.conf文件复制至 c:\zabbix目录。
根据需求编辑c:\zabbix\zabbix_agentd.conffile,确保正确指定"Hostname"参数。
完成此操作后,使用以下命令将Zabbix agent安装为 Windows服务:
现在您应该能够像配置其他Windows服务一样 正常配置"Zabbix agent"服务。
参阅将-agent-安装为-windows-服务 了解在Windows上安装和运行Zabbix agent的相关信息。
可以在一个主机上run多个agent实例 单个实例可以使用默认配置file或 命令行中指定的配置file。若存在多个 每个实例 agent 都必须拥有其独立的配置 file (一个 实例可以使用默认配置file。
以下命令行参数可用于Zabbix agent:
参数 | 描述 |
---|---|
UNIX and Windows agent | |
-c --config <config-file> | 配置文件路径 file. 可通过此选项指定非默认的配置文件 file. 在UNIX系统中,默认为/usr/local/etc/zabbix_agentd.conf 或由 安装-zabbix-守护进程 变量 --sysconfdir 或 --prefix 设置 在Windows系统中,默认为 c:\zabbix_agentd.conf |
-p --print | 打印已知的监控项并退出。 注意: 若要同时返回user parameter结果,必须指定配置file(如果其不在默认位置)。 |
-t --test <item key> | 测试指定的监控项并退出. 注意: 若要同时返回user parameter结果, 必须指定配置file (如果它不在默认位置). |
-h --help | 显示帮助信息 |
-V --version | 显示 version 编号 |
UNIX agent only | |
-R --runtime-control <option> | 执行管理功能。参见运行时控制。 |
Windows agent only | |
-m --multiple-agents | 使用多个agent实例(配合-i、-d、-s、-x功能)。 为区分各实例的服务名称,每个服务名称将包含指定配置file中的Hostname值。 |
Windows agent only (functions) | |
-i --install | 将Zabbix Windows agent安装为服务 |
-d --uninstall | 卸载Zabbix Windows agent 服务 |
-s --start | 启动Zabbix Windows agent服务 |
-x --stop | 停止Zabbix Windows agent服务 |
使用命令行参数的具体示例:
打印所有带值的内置agent 监控项
测试使用"mysql.ping"键定义的用户参数 指定的配置 file
使用默认设置安装Windows的"Zabbix Agent"服务 configuration file 的路径 c:\zabbix_agentd.conf
使用"Zabbix Agent [Hostname]"服务为Windows进行安装
the configuration file zabbix_agentd.conf located in the same folder as agent executable and make the service name unique by extending it by Hostname value from the config file
zabbix_agentd --print zabbix_agentd -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf zabbix_agentd.exe -i zabbix_agentd.exe -i -m -c zabbix_agentd.conf
通过运行时控制选项,您可以更改agent的日志级别 进程
选项 | 描述 | 目标 |
---|---|---|
log_level_increase[=<target>] | 提高日志级别。 如果未指定目标,则所有进程都会受到影响。 |
目标可以指定为: 进程类型 - 指定类型的所有进程(例如监听器) 查看所有agent 进程类型。 进程类型,N - 进程类型及编号(例如监听器,3) pid - 进程标识符(1至65535)。对于更大的值,需将目标指定为'进程类型,N'。 |
log_level_decrease[=<target>] | 降低日志级别。 若未指定目标,则所有进程均会受到影响。 |
|
userparameter_reload | 从当前配置file重新加载UserParameter和Include选项的值 |
示例:
zabbix_agentd -R log_level_increase zabbix_agentd -R log_level_increase=listener,3 zabbix_agentd -R log_level_increase=1234 zabbix_agentd -R log_level_decrease="active checks"
zabbix_agentd -R log_level_decrease="主动检查"
OpenBSD和NetBSD不支持运行时控制 Windows.
active checks
- 执行主动检查的进程collector
- 数据收集进程listener
- 用于监听被动检查的进程agent日志file可用于观察这些进程类型
Zabbix agent 在 UNIX 系统上设计为以非 root 用户身份 run。它将根据启动时使用的非 root 用户身份进行 run。因此您可以以任意非 root 用户身份 run agent 而无需任何 问题。
如果尝试以 'root' 身份 run,它将切换至系统预设的 'zabbix' 用户(该用户必须存在于系统中)。仅当您在 agent 配置 file 中修改 'AllowRoot' 参数后,才能以 'root' 身份 run agent。
有关配置Zabbix agent的详细信息,请参阅zabbix_agentd或 Windows agent的配置file选项。
注意agent需要UTF-8区域设置才能让某些文本agent 监控项返回预期内容。大多数现代类Unix系统默认使用UTF-8区域设置,但在某些系统中可能需要专门进行设置。
在version 2.2版本之前,Zabbix agent会在成功退出时返回0,失败时返回255。从version 2.2及更高版本开始,Zabbix agent会在成功退出时返回0,失败时返回1。