14 插件
概览
插件提供了 (由 C 编写),以及其他扩展 Zabbix 功能的方法,例如 用户参数(agent指标), (无代理监控)和 Zabbix agent监控项。
以下功能特定于agent 2 及其插件:
- 被动、主动都支持定期和灵活采集间隔;
- 与调度和任务并发相关的任务队列管理;
- 插件级超时。
从 Zabbix 6.0.0 开始,插件不必直接集成到agent2 中,并且可以作为单独的外部插件添加,从而使得创建额外的插件来收集新的监控指标更加容易。
本页列出了 Zabbix 原生插件,并从用户角度描述了插件配置原则。有关编写自己的插件的说明,请参阅。
配置插件
本节提供常用的插件配置原则和最佳实践。
所有插件都使用 Plugins.* 参数配置,可以要么是 Zabbix agent 2 或插件自己的配置文件。如果插件使用单独的配置文件,该文件的路径应该是在 Zabbix agent 2 配置文件的 Include 参数中指定。
Plugins.<PluginName>.<Parameter>=<Value>
参数名称应符合以下要求:
- 建议您的插件名称大写;
- 参数应大写;
- 嵌套不受最高层数限制;
- 参数数量不受限制。
命名会话
命名会话代表附加级别的插件参数,可以用于为每个被监视的实例定义单独的身份验证参数集。每个命名的会话参数应具有以下结构:
Plugins.<PluginName>.<SessionName>.<Parameter>=<Value>
会话名称可以当作连接字符串 来配置监控项键值参数,而不是分别指定 URI、用户名和密码。在监控项键中,第一个参数可以是 连接字符串 或 Uri。如果第一个键参数匹配配置文件中指定的会话名称,检查将使用命名会话参数执行。如果第一个key 参数没有匹配到会话名称,它将被视为Uri。
注意:
- 在键值参数中使用连接字符串(会话名称)时,键值参数的用户名和密码必须为空;
- 不支持传递嵌入式 URI 凭据,请考虑使用命名会话;
- 如果没有为命名的身份指定身份验证参数会话,将使用写死的默认值。
示例:可以监控“MySQL1”和“MySQL2”两个实例 配置方式如下:
现在,这些名称可以作为连接字符串用于键值中, 而不是 URI:
硬编码默认值
如果监控项中未提供认证所需的参数键或在命名会话参数中,插件将使用写死的默认值。
连接
一些插件支持同时从多个实例收集指标。可以监控本地和远程实例。 并支持TCP和Unix-socket 连接。
建议配置插件以保持与实例的连接处于打开状态。好处是减少网络拥塞、延迟、由于连接数较少,CPU 和内存使用率。客户端库负责这些。
应保留未使用连接的时间段开放,可以由 Plugins.<PluginName>.KeepAlive 确定范围。
示例:Plugins.Memcached.KeepAlive