4 Zabbix agent 2 (UNIX)

概述

Zabbix agent 2 是新一代的 Zabbix agent,可用于替代 Zabbix agent。

本节列出了 Zabbix agent 2 配置文件 (zabbix_agent2.conf) 中支持的参数。

注意事项:

  • 默认值反映的是进程默认值,而非随附配置文件中的值;
  • Zabbix 仅支持 UTF-8 编码的配置文件,且不包含 BOM
  • 以 "#" 开头的注释仅支持在行首使用。

参数

参数 必填 范围 默认值 描述
Alias no 为监控项键设置alias。可用于将冗长复杂的监控项键替换为更短更简单的别名。
可配置多个alias参数,但禁止为同一alias键配置多个参数。
不同alias键可引用相同监控项键。
别名可用于HostMetadataItem但不可用于HostnameItem参数。

示例:

1. 获取用户'zabbix'的ID。
alias=zabbix.userid:vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1]
现在可使用简写键zabbix.userid获取数据。

2. 使用默认和自定义参数获取CPU利用率。
alias=cpu.util:system.cpu.util
alias=cpu.util[*]:system.cpu.util[*]
这样既可用cpu.util键获取默认参数的CPU利用率百分比,也可用cpu.util[all, idle, avg15]获取特定CPU利用率数据。

3. 运行多个low-level discovery规则处理相同发现监控项。
alias=vfs.fs.discovery[*]:vfs.fs.discovery
现在可为每个规则设置不同参数,例如vfs.fs.discovery[foo]vfs.fs.discovery[bar]等。
AllowKey no 允许执行匹配模式的监控项键。键模式是支持"*"通配符的表达式。
可与DenyKey组合定义多个键匹配规则,按出现顺序逐个处理。
该参数自Zabbix 5.0.0起支持。
另见:Restricting agent checks
BufferSend no 1-3600 5 缓冲区数据发送至Zabbix server的时间间隔(秒)。
注意:若缓冲区满,数据会提前发送。
BufferSize no 2-65535 100 内存缓冲区的最大值数量。agent会在缓冲区满时将数据发送至Zabbix server或proxy。
仅当持久化缓冲区禁用时使用(EnablePersistentBuffer=0)。
ControlSocket no /tmp/agent.sock 控制套接字路径,用于通过'-R'选项发送运行时命令。
DebugLevel no 0-5 3 指定调试级别:
0 - Zabbix进程启停基本信息
1 - 关键信息
2 - 错误信息
3 - 警告信息
4 - 调试信息(大量输出)
5 - 扩展调试(更详细输出)
DenyKey no 拒绝执行匹配模式的监控项键。键模式是支持"*"通配符的表达式。
可与AllowKey组合定义多个键匹配规则,按出现顺序逐个处理。
该参数自Zabbix 5.0.0起支持。
另见:Restricting agent checks
EnablePersistentBuffer no 0-1 0 启用主动监控项的本地持久化存储。
0 - 禁用
1 - 启用
若禁用持久化存储,将使用内存缓冲区。
ForceActiveChecksOnStart no 0-1 0 重启后立即对首次接收的配置执行主动检查。
0 - 禁用
1 - 启用
也可作为插件配置参数,例如:Plugins.Uptime.System.ForceActiveChecksOnStart=1
自Zabbix 6.0.2起支持。
HostInterface no 0-255 characters 定义主机接口的可选参数。
主机接口用于主机自动注册过程。
若值超过255字符限制,agent将问题错误且不启动。
未定义时从HostInterfaceItem获取值。
自Zabbix 4.4.0起支持。
HostInterfaceItem no 定义用于获取主机接口的监控项可选参数。
主机接口用于主机自动注册过程。
自动注册请求时,若指定监控项返回值超过255字符限制会记录警告。
system.run[] 监控项不受AllowKey/DenyKey限制。
仅当HostInterface未定义时使用。
自Zabbix 4.4.0起支持。
HostMetadata no 0-255 characters 定义主机元数据的可选参数。主机元数据用于主机自动注册过程。
若指定值超限或非UTF-8 string,agent将问题错误且不启动。
未定义时从HostMetadataItem获取值。
HostMetadataItem no 定义用于获取主机元数据的监控项可选参数。每次自动注册尝试时获取主机元数据监控项值。
自动注册请求时,若指定监控项返回值超过255字符限制会记录警告。
仅当HostMetadata未定义时使用。
支持UserParameters和别名。支持system.run[]且不受AllowKey/DenyKey限制。
返回值必须是UTF-8 string否则忽略。
Hostname no 由HostnameItem设置 逗号分隔的唯一主机名列表(区分大小写)。
主动检查必需,且必须与服务器配置的主机名匹配。未定义时从HostnameItem获取值。
允许字符:字母数字、'.'、' '、'_'和'-'。
最大长度:每个主机名128字符,整行2048字符。
HostnameItem no system.hostname 用于生成未定义Hostname的监控项。Hostname定义时忽略。
不支持UserParameters或别名,但支持system.run[]且不受AllowKey/DenyKey限制。
Include no 可在配置文件中包含单个文件或目录下所有文件。
安装时Zabbix默认在/usr/local/etc创建include目录(编译时可修改)。
支持通配符匹配指定目录下相关文件,例如:/absolute/path/to/config/files/*.conf
自Zabbix 6.0.0起路径可相对于
zabbix_agent2.conf*文件位置。
限制见special notes
ListenIP no 0.0.0.0 agent监听的IP地址列表。
首个IP地址会发送至Zabbix server以获取主动检查列表。
ListenPort no 1024-32767 10050 Agent监听此端口接收服务器连接。
LogFile yes, if LogType is set to file, otherwise
no
/tmp/zabbix_agent2.log LogType为'file'时的日志文件名。
LogFileSize no 0-1024 1 日志文件最大大小(MB)。
0 - 禁用自动轮转。
注意:若日志大小超限且轮转失败,现有日志文件将被截断并重新开始。
LogType no file 指定日志输出位置:
system - syslog
file - LogFile参数指定文件
console - 标准输出
PersistentBufferFile no Zabbix Agent2保存SQLite数据库的文件路径。
必须为完整文件名。
仅当持久化缓冲区启用时使用(EnablePersistentBuffer=1)。
PersistentBufferPeriod no 1m-365d 1h 无server 或 proxy连接时的数据存储周期,超时数据将丢失(日志数据保留)。
仅当持久化缓冲区启用时使用(EnablePersistentBuffer=1)。
PidFile no /tmp/zabbix_agent2.pid PID文件名。
Plugin no 自Zabbix 6.0.0起,多数插件有独立configuration files。agent配置文件包含以下插件参数。
Plugins.Log.MaxLinesPerSecond no 1-1000 20 处理'log'和'logrt'或'log.count'主动检查时,agent每秒发送至Zabbix server或proxy的最大行数。
该值会被'log'、'logrt'或'log
.count' 监控项键中的'maxlines'参数覆盖。
注意:Zabbix会处理10倍于MaxLinesPerSecond设置的行数以查找日志监控项中的目标string。
自4.4.2起支持,替代MaxLinesPerSecond。
Plugins.SystemRun.LogRemoteCommands no 0 启用以警告级别记录执行的shell命令。
0 - 禁用
1 - 启用
仅记录远程执行的命令。HostMetadataItem、HostInterfaceItem或HostnameItem参数本地执行的system.run[]不会创建日志条目。
自4.4.2起支持,替代LogRemoteCommands。
PluginSocket no /tmp/agent.plugin.sock 可加载插件通信的Unix套接字路径。
PluginTimeout no 1-30 全局超时 与可加载插件连接的