Zabbix agent 2 为新一代zabbix agent,未来可能会替代原Zabbix agent。Zabbix agent 2可以实现:
Agent 2是用Go语言开发的(复用了原Zabbix Agent的部分C代码)。 Zabbix agent 2需要在1.13+版本的Go环境编译。
Agent 2不支持Linux上的守护进程; 而且从Zabbix 5.0.4开始,它可以作为Windows service服务运行。
被动检查的工作原理与Zabbix agent类似. 主动检查支持scheduled/flexible间隔和并行检查。
** 并行检查 **
不同的插件的检查可以并行执行。 每个插件的并行检查数量取决于对应插件的能力设置。每个插件可能有一个硬编码的能力设置值(缺省比如是100),该值可在 插件 配置参数.通过 Plugins.<Plugin name>.Capacity=N
的命令行进行配置。
Agent 2 支持Linux 和 Windows 平台。
<note:> 目前, Agent 2 在 Windows平台上支持的监控项数量是受限的.
:::
Agent 2 安装包支持如下平台:
Zabbix agent 2 可使用预先编译好的安装包。若用源码编译 Zabbix agent 2 需要在编译时指定--enable-agent2
配置选项。
如下的命令行参数可以在Zabbix agent 2中使用:
参数 * | 描述** |
---|---|
-c --config <config-file> | 配置文件的绝对路径。 您可以使用此选项来制定配置文件,而不是使用默认文件。 在 UNIX 上,默认的配置文件是 /usr/local/etc/zabbix_agentd.conf 或 由 compile-time 中的 --sysconfdir or --prefix 变量来确定。 |
-f --foreground | 在前台运行 Zabbix agent (缺省: true)。 |
-p --print | 输出已知的监控项并退出。 注意: 要返回 用户自定义参数 的结果, 您必须指定配置文件(如果它不在默认路径下)。 |
-t --test <item key> | 测试指定的监控项并退出。 注意: 要返回 用户自定义参数 的结果, 您必须指定配置文件(如果它不在默认路径下)。 |
-h --help | 显示帮助信息并退出。 |
-v --verbose | 显示debugging信息,使用 -p 和 -t 选项。 |
-V --version | 显示agent版本号并退出。 |
-R --runtime-control <option> | 执行管理功能。 请参阅运行时控制。 |
使用命令行 参数 的具体示例::
运行时控制可以提供一些远程控制的选项。
选项 描 | |
---|---|
log_level_increase | 增加日志级别。 在 Zabbix 5.0.0-5.0.3 版本使用 "loglevel increase" 替代(quoted)。 |
log_level_decrease | 降低日志级别。 在 Zabbix 5.0.0-5.0.3 版本使用 "loglevel decrease" 替代 (quoted)。 |
metrics | 显示可用的指标项。 |
version | 显示agent版本。 |
help | 在运行时控制显示帮助信息。 |
例:
Agent 2的配置参数除了如下几个有差异外,其余与Agent都是兼容的。
新参数 描述 | |
---|---|
ControlSocket | 运行时控制的 socket 路径。 Agent 2 的 运行时命令行使用控制 socket。 |
EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
agent 2的这些参数用于配置已激活监控项的持久化存储。 |
Plugins | 插件可以有自己的参数, 以 Plugins.<Plugin name>.<Parameter>=<value> 的格式进行设置。 插件的常用参数 Capacity的各检查项限制可同时设置。 |
StatusPort | agent 2监听HTTP状态请求的端口及显示配置插件列表和一些内部参数。 |
删除的参数 描述 | |
AllowRoot, User | 不支持,因不支持守护进程。 |
LoadModule, LoadModulePath | 可加载模块不支持。 |
StartAgents | Zabbix agent中用于使能或关闭增加并行被动检查数。Agent 2中,因并行检查数是插件层面的配置,且可以通过插件能力配置进行限制,故不支持关闭被动检查。 |
HostInterface, HostInterfaceItem | 目前暂不支持。 |
更多详细的配置文件选项请参照 zabbix_agent2。
自4.4.8版本起,Zabbix agent 2也可以与较老的OpenSSL版本(1.0.1, 1.0.2)一起编译。
这样Zabbix就可以提供OpenSSL中用的互斥锁。如果互斥锁锁定或者解锁失败时就会向标准错误输出(STDERR) 打印一条错误消息,Agent2会返回错误码 2 或者 3 并退出。