Zabbix agent 部署在被监控目标上,以主动监控本地资源和应用程序(硬盘、内存、处理器统计信息等)。
Zabbix agent 收集本地的操作信息并将数据报告给 Zabbix server 用于进一步处理。一旦出现异常 (例如硬盘空间已满或者有崩溃的服务进程),Zabbix server 会主动警告管理员指定机器上的异常。
Zabbix agents 的极高效率缘于它可以利用本地系统调用来完成统计数据的采集。
Zabbix agents 可执行被动和主动检查:
agent检查类型通过选择相应的监控item type进行配置。 Zabbix agent 处理类型为“Zabbix agent”或“Zabbix agent (active)”的监控项。
对于支持的平台,请参阅要求页面。
类 UNIX 系统上的 Zabbix agent 运行在被监控的主机上。
Zabbix agent 可以通过以下方法之一安装在基于 Linux 的系统上:
--enable-agent
选项配置源码来编译 Zabbix agent。通常,32 位的 Zabbix agent 可以在 64 位系统上运行,但在某些情况下可能会失败。
预编译的 Zabbix agent 二进制文件可从下载获取,适用于 macOS、IBM AIX、FreeBSD、OpenBSD 和 Solaris。 与当前 Zabbix server/proxy 版本兼容的遗留二进制文件可从NetBSD和HP-UX获取。
Zabbix agent 作为守护进程运行。可以通过执行以下命令启动 agent:
这在大多数 GNU/Linux 系统上都能工作。在其他系统上,您可能需要运行:
要停止、重启或检查 Zabbix agent 的状态,请使用以下命令:
您可以通过定位 zabbix_agentd 二进制文件并直接运行它来启动 Zabbix agent;例如:
Windows 系统上的 Zabbix agent 作为一个Windows服务运行。
Zabbix agent 可以通过以下方法之一在 Windows 上安装:
有关将 Zabbix agent(从 ZIP 归档)作为 Windows 服务安装的更多详细信息,请参阅 Zabbix agent 在 Microsoft Windows 上 页面。
您可以在主机上运行单个或多个 Agent 实例。 单个实例可以使用默认配置文件或命令行中指定的配置文件。 如果是多个实例,则每个 Agent 程序实例必须具有自己的配置文件(其中一个实例可以使用默认配置文件)。
以下命令参数可以在 Zabbix agent 中使用:
参数 | 描述 |
---|---|
UNIX and Windows agent | |
-c --config <config-file> | 配置文件的绝对路径。您可以使用此选项来制定配置文件,而不是使用默认文件。在 UNIX 上,默认的配置文件是 /usr/local/etc/zabbix_agentd.conf 或 由编译时的 --sysconfdir 或 --prefix 变量来确定。在 Windows上, 默认的配置文件是 c:\zabbix_agentd.conf |
-f --foreground | 在前台运行 Zabbix agent (默认值: true)。 |
-p --print | 输出已知的监控项并退出。 注意: 要返回 用户自定义参数 的结果,您必须指定配置文件(如果它不在默认路径下)。 |
-t --test <item key> | 测试指定的监控项并退出。 注意:要返回 用户自定义参数 的结果,您必须指定配置文件(如果它不在默认路径下)。 |
-T --test-config | 验证配置文件的合法性并退出。 |
-h --help | 显示帮助信息 |
-V --version | 显示版本信息 |
仅 UNIX agent | |
-R --runtime-control <option> | 执行管理功能。请参阅 运行时控制。 |
仅 Windows agent | |
-m --multiple-agents | 使用多个 Agent 实例(使用 -i、-d、-s、-x)。 为了区分实例的服务名称,每项服务名都会包涵来自配置文件里的 Hostname 值。 |
-S --startup-type <value> | 设置 Zabbix Windows agent 服务的启动类型。运行以下值:automatic - (默认) 在Windows启动时自动启动该服务;delayed - 在自动启动的服务完成启动后,延迟启动该服务 (适用于 Windows Server 2008/Vista 及更高版本);manual - 手动启动服务 (由用户或应用程序);disabled - 禁用该服务,使其无法由用户或应用程序启动。您可以将此选项与-i选项一起使用,也可以单独使用来修改已安装服务的启动类型。 |
-i --install | 以服务的形式安装 Zabbix Windows agent。 |
-d --uninstall | 卸载 Zabbix Windows agent 服务。 |
-s --start | 启动 Zabbix Windows agent 服务。 |
-x --stop | 停止 Zabbix Windows agent 服务。 |
使用命令行参数的具体示例:
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
zabbix_agentd.exe -c zabbix_agentd.conf -S delayed
使用运行时控制选项,您可以更改agent进程的日志级别。
选项 | 描述 | 目标 |
---|---|---|
log_level_increase[=<target>] | 增加日志等级. 如果未指定目标,则所有进程都会受到影响。 |
目标可以指定为: process type - 指定类型的所有进程 (e.g., listener) 查看所有 agent 进程类型。 process type,N - 进程类型和数量 (e.g., listener,3) pid - 进程id (1 to 65535)。对于较大的值,请将目标指定为“进程类型,N”。 |
log_level_decrease[=<target>] | 降低日志级别 如果未指定目标,则所有进程都会受到影响。 |
|
userparameter_reload | 从当前配置文件重新加载用户参数 请注意,UserParameter是将重新加载的唯一agent配置选项。 |
例子:
shell> zabbix_agentd -R log_level_increase
shell> zabbix_agentd -R log_level_increase=listener,3
shell> zabbix_agentd -R log_level_increase=1234
shell> zabbix_agentd -R log_level_decrease="active checks"
运行时控制器不支持 OpenBSD, NetBSD andWindows.
active checks
- 执行主动检查的进程collector
- 执行数据收集的进程listener
- 执行被动监控监听的进程Agent日志文件可用于观察这些进程类型。
Zabbix agent 在 UNIX 上允许使用非 root 用户运行。它将以任何非 root 用户的身份运行。因此,使用非 root 用户运行 agent 是没有任何问题的.
如果你试图以“root”身份运行它,它将会切换到一个已经“写死”的“zabbix”用户,该用户必须存在于您的系统上。如果您只想以“root”用户运行 agent,您必须在 agent 配置文件里修改‘AllowRoot‘参数。
有关配置 Zabbix agent 的详细信息,请查阅 zabbix_agentd 或 Windows agent 的配置文件选项。
值得注意的是,Zabbix agent 需要 UTF-8 语言环境,以便某些文本 Zabbix agent 监控项可以返回预期的内容。 大多数现代类 Unix 系统都默认使用 UTF-8 语言环境,但是,有些系统可能需要特定的设置。
Zabbix agent在成功退出时返回0,在失败时返回1。