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

    开箱即用的插件