概述
Zabbix agent 收集本地的操作信息并将数据报告给 Zabbix server 用于进一步处理。一旦出现异常 (例如硬盘空间已满或者有崩溃的服务进程),Zabbix server 会主动警告管理员指定机器上的异常。
Zabbix agents 的极高效率缘于它可以利用本地系统调用来完成统计数据的采集。
被动和主动检查
Zabbix agent 可以运行被动检查和主动检查。
在 模式中 agent 应答数据请求。Zabbix server(或 proxy)询求数据,例如 CPU load,然后 Zabbix agent 返还结果。
主动检查 处理过程将相对复杂。Agent 必须首先从 Zabbix sever 索取监控项列表以进行独立处理,然后会定期发送采集到的新值给 Zabbix server。
是否执行被动或主动检查是通过选择相应的来配置的。 Zabbix agent 处理“Zabbix agent”或“Zabbix agent(active)”类型的监控项。
支持的平台
Zabbix agent 支持以下平台:
Linux
IBM AIX
FreeBSD
NetBSD
OpenBSD
HP-UX
Mac OS X
Solaris: 9, 10, 11
Windows:支持从 Windows XP 之后的桌面版和服务器版。
类 UNIX 系统上的 Agent
安装
有关通过二进制包安装 Zabbix agent 的详细信息,请查阅 章节。
此外,如果您不想使用二进制包,请查阅以源码包安装的说明。
通常,32位 Zabbix agent 可以在 64 位系统上运行,但在某些情况下可能会失败。
通过二进制包安装的组件
Zabbix agent 进程以守护进程(Deamon)运行。Zabbix agent 的启动可以通过执行以下命令来完成:
上述命令在大多数的 GNU/Linux 系统下都可以正常完成。如果是其他系统,你可能要尝试以下命令来运行:
类似的,停止、重启、查看状态,则需要执行以下命令:
手动启动
如果以上操作均无效,您可能需要手动启动,找到 Zabbix agent 二进制文件的路径并且执行:
shell> zabbix_agentd
Windows 系统上的 Agent
Windows 系统上的 Zabbix agent 作为一个Windows服务运行。
准备
Zabbix agent 作为 zip 压缩文件分发。下载该文件后,您需要将其解压缩。 选择任何文件夹来存储Zabbix代理和配置文件,例如:
复制二进制文件 \bin\zabbix_agentd.exe 和配置文件 \conf\zabbix_agentd.conf 到 c:\zabbix 下。
按需编辑 c:\zabbix\zabbix_agentd.conf 配置文件,确保指定了正确的 “Hostname” 参数。
安装
完成此操作后,使用以下命令将 Zabbix agent 安装为 Windows 服务:
C:\> c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -i
现在您可以像任何其他 Windows 服务一样配置“Zabbix agent”服务。
有关在 Windows 上安装和运行 Zabbix agent 的详细信息,请查阅于此。
其他 Agent 选项
您可以在主机上运行单个或多个 Agent 实例。 单个实例可以使用默认配置文件或命令行中指定的配置文件。 如果是多个实例,则每个 Agent 程序实例必须具有自己的配置文件(其中一个实例可以使用默认配置文件)。
以下命令参数可以在 Zabbix agent 中使用:
打印输出所有内置监控项和它们的值。
使用指定的配置文件中的“mysql.ping”键值来测试用户自定义参数。
在 Windows 下使用默认路径下的配置文件 c:\zabbix_agentd.conf 安装 Zabbix agent 服务。
使用位于与 agent 可执行文件同一文件夹中的配置文件 zabbix_agentd.conf 为 Windows 安装“Zabbix Agent [Hostname]”服务,并通过从配置文件中的唯一 Hostname 值扩来为命名。
运行时控制
使用运行时控制选项,您可以更改代理进程的日志级别。
选项 | 描述 | 目标 |
---|---|---|
log_level_increase[=<target>] | 增加日志级别。 如果未指定目标,将影响所有进程。 | 目标可以被指定为: - 进程标识符 (1 to 65535) process type - 指定进程的所有类型 (例如,poller)process type,N - 进程类型和编号 (例如,poller,3) |
log_level_decrease[=<target>] | 降低日志级别。 如果未指定目标,将影响所有进程。 |
值得注意的是,用于更改单个 Agent 进程的日志级别的 PIDs 的可用范围是1到65535。在具有大 PIDs 的系统上,<process type,N> 目标可用于更改单个进程的日志级别。
例子:
给所有进程增加日志级别。
给第二个监听进程增加日志级别。
给 PID 号为 1234 的进程增加日志级别。
给所有主动检查进程降低日志级别。
shell> zabbix_agentd -R log_level_increase=listener,2
运行时控制不支持 OpenBSD 和 NetBSD 和 Windows 系统。
进程用户
Zabbix agent 在 UNIX 上允许使用非 root 用户运行。它将以任何非 root 用户的身份运行。因此,使用非 root 用户运行 agent 是没有任何问题的.
如果你试图以“root”身份运行它,它将会切换到一个已经“写死”的“zabbix”用户,该用户必须存在于您的系统上。如果您只想以“root”用户运行 agent,您必须在 agent 配置文件里修改‘AllowRoot‘参数。
配置文件
有关配置 Zabbix agent 的详细信息,请查阅 或 Windows agent 章节。
语言环境
值得注意的是,Zabbix agent 需要 UTF-8 语言环境,以便某些文本 Zabbix agent 监控项可以返回预期的内容。 大多数现代类 Unix 系统都默认使用 UTF-8 语言环境,但是,有些系统可能需要特定的设置。