Zabbix agent 2 是新一代的 Zabbix agent,可用于替代 Zabbix agent。
本节列出了 Zabbix agent 2 配置文件 file (zabbix_agent2.conf) 支持的参数。
参数列表不包含额外信息。 点击参数可查看完整详情。
| 参数 | 描述 |
|---|---|
| Alias | 为 监控项 键设置 alias。 |
| AllowKey | 允许执行匹配模式的 监控项 键。 |
| BufferSend | 缓冲区中数据保留时间不超过 N 秒。 |
| BufferSize | memory 缓冲区中的最大数值数量。 |
| ControlSocket | 控制套接字,用于通过 '-R' 选项发送运行时命令。 |
| DebugLevel | 调试级别。 |
| DenyKey | 拒绝执行匹配模式的 监控项 键。 |
| EnablePersistentBuffer | 为主动式 监控项 启用本地持久存储功能。 |
| ForceActiveChecksOnStart | 重启后立即对首次接收的配置执行主动检查。 |
| HeartbeatFrequency | 心跳消息频率(秒)。 |
| HostInterface | 定义 主机 接口的可选参数。 |
| HostInterfaceItem | 定义用于获取 主机 接口的 监控项 的可选参数。 |
| HostMetadata | 定义 主机 元数据的可选参数。 |
| HostMetadataItem | 定义用于获取 主机 元数据的 Zabbix agent 监控项 的可选参数。 |
| Hostname | 定义主机名的可选参数。 |
| HostnameItem | 定义用于获取主机名的 Zabbix agent 监控项 的可选参数。 |
| Include | 可在配置文件 file 中包含单个文件或目录中的所有文件。 |
| ListenIP | agent 应监听的逗号分隔的 IP 地址列表。 |
| ListenPort | agent 将在此端口监听来自服务器的连接。 |
| LogFile | 日志文件 file 的名称。 |
| LogFileSize | 日志文件 file 的最大大小。 |
| LogType | 日志输出类型。 |
| PersistentBufferFile | Zabbix agent 2 应保存 SQLite 数据库的 file。 |
| PersistentBufferPeriod | 与 server 或 proxy 无连接时应存储数据的时间段。 |
| PidFile | PID 文件 file 的名称。 |
| Plugins.<PluginName>.System.Capacity | 插件可同时执行的检查数量限制。 |
| Plugins.Log.MaxLinesPerSecond | 处理 '日志' 和 'logrt' 主动检查时,agent 每秒发送给 Zabbix server 或 proxy 的新行最大数量。 |
| Plugins.SystemRun.LogRemoteCommands | 启用将执行的 shell 命令记录为警告。 |
| PluginSocket | 可加载插件通信的 UNIX 套接字路径。 |
| PluginTimeout | 与可加载插件连接的超时时间(秒)。 |
| RefreshActiveChecks | 主动检查列表的刷新频率。 |
| Server | 逗号分隔的 IP 地址列表(可选 CIDR 表示法)或 Zabbix servers 和 Zabbix proxies 的 DNS 名称。 |
| ServerActive | 用于 get 主动检查的 Zabbix server/proxy 地址或集群配置。 |
| SourceIP | 源 IP 地址。 |
| StatusPort | 如果设置,agent 将在此端口监听 HTTP 状态请求 (http://localhost:<port>/status)。 |
| Timeout | 指定与 Zabbix proxy 或服务器建立连接和交换数据的等待时间(秒)。 |
| TLSAccept | 接受哪些传入连接。 |
| TLSCAFile | 包含用于 Zabbix 组件间加密通信的对等证书验证的 Top 级 CA 证书的文件 file 的完整路径名。 |
| TLSCertFile | 包含 agent 证书或证书链的文件 file 的完整路径名,用于 Zabbix 组件间的加密通信。 |
| TLSCipherAll | OpenSSL 密码套件 string (TLS 1.2)。覆盖基于证书和 PSK 加密的默认密码套件选择标准。 |
| TLSCipherAll13 | OpenSSL 密码套件 string (TLS 1.3)(适用于 OpenSSL 1.1.1 或更新版本)。覆盖基于证书和 PSK 加密的默认密码套件选择标准。 |
| TLSCipherCert | OpenSSL 密码套件 string (TLS 1.2)。覆盖基于证书加密的默认密码套件选择标准。 |
| TLSCipherCert13 | OpenSSL 密码套件 string (TLS 1.3)(适用于 OpenSSL 1.1.1 或更新版本)。覆盖基于证书加密的默认密码套件选择标准。 |
| TLSCipherPSK | OpenSSL 密码套件 string (TLS 1.2)。覆盖基于 PSK 加密的默认密码套件选择标准。 |
| TLSCipherPSK13 | OpenSSL 密码套件 string (TLS 1.3)(适用于 OpenSSL 1.1.1 或更新版本)。覆盖基于 PSK 加密的默认密码套件选择标准。 |
| TLSConnect | agent 应如何连接到 Zabbix server 或 proxy。 |
| TLSCRLFile | 包含吊销证书的文件 file 的完整路径名。此参数用于 Zabbix 组件间的加密通信。 |
| TLSKeyFile | 包含 agent 私钥的文件 file 的完整路径名,用于 Zabbix 组件间的加密通信。 |
| TLSPSKFile | 包含 agent 预共享密钥的文件 file 的完整路径名,用于与 Zabbix server 的加密通信。 |
| TLSPSKIdentity | 预共享密钥标识 string,用于与 Zabbix server 的加密通信。 |
| TLSServerCertIssuer | 允许的服务器 (proxy) 证书颁发者。 |
| TLSServerCertSubject | 允许的服务器 (proxy) 证书主题。 |
| UnsafeUserParameters | 允许在用户定义参数中传递所有字符。 |
| UserParameter | 要监控的用户定义参数。 |
| UserParameterDir | UserParameter 命令的默认搜索路径。 |
除非明确说明参数是强制性的,否则所有参数都是非强制性的。
请注意:
为监控项键设置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键以默认参数getCPU利用率百分比,同时也可使用cpu.util[all, idle, avg15]来get有关CPU利用率的具体数据。
示例3:运行多个low-level discovery规则处理相同的发现监控项。
Alias=vfs.fs.discovery[*]:vfs.fs.discovery
现在可以设置多个使用vfs.fs.discovery的发现规则,每个规则采用不同参数,例如vfs.fs.discovery[foo]、vfs.fs.discovery[bar]等。
允许执行那些与模式匹配的监控项键值。 键模式是支持使用"*"字符匹配任意数量任意字符的通配符表达式。
可以结合DenyKey定义多个键匹配规则。 参数将按照出现顺序逐一处理。 另请参阅:Restricting agent checks。
该时间间隔(以秒为单位)决定了数值从缓冲区发送到Zabbix server的频率。 请注意,如果缓冲区已满,数据将会提前发送。
默认值:5
范围:1-3600
memory缓冲区中的最大数值数量。 当缓冲区满时,agent会将所有收集的数据发送至Zabbix server或proxy。 此参数仅在持久化缓冲区禁用时使用(EnablePersistentBuffer=0)。
默认值:1000
范围:2-65535
控制套接字,用于通过'-R'选项发送运行时命令。
默认值:/tmp/agent.sock
指定调试级别:
0 - 关于Zabbix进程启动和停止的基本信息
1 - 关键信息
2 - 错误信息
3 - 警告信息
4 - 调试信息(产生大量信息)
5 - 扩展调试(产生更多信息)
默认值:3
范围:0-5
拒绝执行那些匹配特定模式的监控项键值。 键模式是支持使用"*"字符匹配任意数量任意字符的通配符表达式。
可通过与AllowKey结合使用来定义多个键匹配规则。 系统将按照参数出现的顺序逐一处理这些规则。 另请参阅:Restricting agent checks。
启用本地持久化存储以支持主动式监控项。 若禁用持久化存储,将使用memory缓冲区。
默认值:0
可选值:0 - 禁用,1 - 启用
在重启后立即对首次接收到的配置执行主动检查。 也可作为每个插件的配置参数使用,例如:Plugins.Uptime.System.ForceActiveChecksOnStart=1
默认值:0
取值:0 - 禁用,1 - 启用
心跳消息的频率(以秒为单位)。 用于监控主动检查的可用性。
0 - 禁用心跳消息。
默认值:60
范围:0-3600
一个可选参数,用于定义在主机 autoregistration过程中使用的主机接口(IP地址或DNS名称)。 该值将用于填充新创建的主机中的接口,并允许显式配置IP或DNS地址。 更多详情,请参阅Using DNS as default interface。
如果未定义,该值将从HostInterfaceItem获取。
如果该值超过255个字符的限制,agent将问题错误且不会启动。
范围:0-255个字符
一个可选参数,用于定义在主机 autoregistration过程中确定主机接口(IP地址或DNS名称)所使用的监控项。 此值仅在未定义HostInterface时使用。 更多详情,请参阅Using DNS as default interface。
在自动注册请求期间,如果指定的监控项返回的值超过255个字符的限制,agent将记录一条警告消息。
system.run[] 监控项不受AllowKey/DenyKey设置影响
一个可选参数,用于定义在主机autoregistration过程中用于识别或区分主机的metadata。 HostMetadata允许超越主机名来区分主机。
如果未定义,该值将从HostMetadataItem获取。
当指定值超过2034字节限制或使用非UTF-8string时,agent将问题错误且不会启动。 当参数需要IP地址或DNS名称时,有效UTF-8但无效的IP或DNS名称值也将被拒绝并报告为无效。
范围:0-2034字节
一个可选参数,用于定义获取host metadata时使用的Zabbix agent监控项。 该选项仅在未定义HostMetadata时使用。
HostMetadataItem值会在每次autoregistration尝试时获取,并仅用于主机自动注册过程。 HostMetadataItem允许根据主机名之外的主机进行区分。
支持用户参数和别名。 无论AllowKey/DenyKey设置如何,都支持system.run[]监控项。
在自动注册请求期间,如果指定监控项返回的值超过65535个UTF-8码点限制,agent将记录警告消息。 监控项返回的值必须是UTF-8string,否则将被忽略。 当参数期望IP地址或DNS名称时,有效UTF-8但非有效IP或DNS名称的值也将被拒绝并报告为无效。
以逗号分隔的唯一主机名列表(区分大小写)。 主动检查所必需的,且必须与服务器上配置的主机名相匹配。 若未定义,该值将从HostnameItem获取。
允许字符:字母数字、'.'、' '、'_'和'-'。 每个主机名最大长度:128个字符,整行最大长度:2048个字符。
默认值:由HostnameItem设置
一个可选参数,用于定义获取主机名称时使用的监控项。 此选项仅在未定义主机名时使用。 不支持用户参数或别名,但无论AllowKey/DenyKey值如何,都支持system.run[] 监控项。
默认值:system.hostname
您可以在配置file中包含单个文件或目录中的所有文件。 在安装过程中,Zabbix将create包含目录到/usr/local/etc中,除非在编译时进行了修改。 该路径可以是相对于zabbix_agent2.conf file位置的相对路径。
为了仅包含指定目录中的相关文件,支持使用星号通配符进行模式匹配。
有关限制,请参阅special notes。
示例:
一个逗号分隔的IP地址列表,agent应监听的地址。 第一个IP地址会被发送到Zabbix server(当连接到它时)以获取活动检查列表。
默认值:0.0.0.0
agent将在此端口监听来自服务器的连接。
默认值: 10050
范围: 1024-32767
日志file的名称.
默认值: /tmp/zabbix_agent2.log
必填: 是,如果LogType设置为file;否则否
日志file的最大大小,单位为MB。
0 - 禁用自动日志轮转。
注意:如果日志file大小达到限制且file轮转失败(无论何种原因),现有日志file将被截断并重新开始记录。
默认值:1
范围:0-1024
日志输出类型:
file - 将日志写入LogFile参数指定的file;
system - 将日志写入系统日志;
console - 将日志写入标准输出
默认值: file
file 是存放 Zabbix agent 2 的SQLite数据库的位置 必须是一个完整的文件名。 此参数仅在启用持久缓冲区时使用(EnablePersistentBuffer=1)。
当与server 或 proxy无连接时应存储数据的时长. 较早的数据将会丢失. 日志数据将被保留. 此参数仅在启用持久缓冲区时使用(EnablePersistentBuffer=1).
默认值: 1h
范围: 1m-365d
PID名称file.
默认值: /tmp/zabbix_agent2.pid
<PluginName>插件可同时执行的最大检查数量限制
默认值: 1000 范围: 1-1000
当处理'日志'和'logrt'主动检查时,agent每秒向Zabbix server或proxy发送的新行最大数量。 提供的值将被'日志'和'logrt' 监控项键中的'maxlines'参数覆盖。
注意: Zabbix将处理比MaxLinesPerSecond设置多10倍的新行,以在日志监控项中查找所需的string。
默认值: 20
范围: 1-1000
启用已执行shell命令的日志记录作为警告。 仅当远程执行时才会记录这些命令。 如果system.run[]是通过HostMetadataItem、HostInterfaceItem或HostnameItem参数在本地启动的,则不会创建日志条目。
默认值:0
可选值:0 - 禁用,1 - 启用
用于可加载插件通信的UNIX套接字路径。
默认值:/tmp/agent.plugin.sock
可加载插件连接的超时时间,单位为秒。
默认值:Timeout
范围:1-30
主动检查列表的刷新频率,以秒为单位。 请注意,若主动检查刷新失败,下一次刷新尝试将在60秒后进行。
默认值:5
范围:1-86400
以逗号分隔的IP地址列表(支持CIDR表示法)或Zabbix servers、Zabbix proxies的DNS名称。 仅接受来自此处列出的主机的传入连接。 若启用IPv6支持,则'127.0.0.1'、'::127.0.0.1'、'::ffff:127.0.0.1'将被等同对待,'::/0'将允许任何IPv4或IPv6地址。 '0.0.0.0/0'可用于允许任何IPv4地址。 允许包含空格。 若未指定此参数,将禁用被动检查且agent不会监听任何TCP端口。
示例:
用于get主动检查的Zabbix server/proxy地址或集群配置。 server/proxy地址是由冒号分隔的IP地址或DNS名称及可选端口。
集群配置是由分号分隔的一个或多个服务器地址。 可指定多个以逗号分隔的Zabbix servers/集群和Zabbix proxies。 每个Zabbix server/集群不应指定多个Zabbix proxy。 若指定了Zabbix proxy,则不应再为该proxy指定Zabbix server/集群。
可提供多个逗号分隔的地址以并行使用多个独立的Zabbix servers。 允许包含空格。
若未指定端口,则使用默认端口。
当需要为主机指定端口时,IPv6地址必须用方括号括起。 若未指定端口,IPv6地址的方括号为可选。
若未指定此参数,则禁用主动检查。
Zabbix proxy示例:
多服务器示例:
高可用性示例:
包含两个集群和一个服务器的高可用性示例:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain源IP地址用于:
若设置此参数,agent将监听该端口以接收HTTP状态请求(http://localhost:<端口>/status)。
取值范围:1024-32767
指定与Zabbix proxy或服务器建立连接及交换数据的等待时间(以秒为单位).
该参数定义了各类通信操作的最长持续时间,包括:
vfs.*检查的最大持续时间;该超时设置不适用于在前端(全局、proxy或单个监控项级别)可配置超时时间的agent检查.
默认值:3
取值范围:1-30
接受的传入连接类型。 用于被动检查。 可指定多个值,用逗号分隔:
unencrypted - 接受未加密的连接(默认)
psk - 接受使用TLS及预共享密钥(PSK)的连接
cert - 接受使用TLS及证书的连接
必填项:如果定义了TLS证书或PSK参数(即使针对unencrypted连接)则为是;否则为否
包含用于对等证书验证的Top级CA证书的file完整路径名,用于Zabbix组件之间的加密通信。
包含用于与Zabbix组件加密通信的agent证书或证书链的file完整路径名。
OpenSSL加密套件string(TLS 1.2版本)。 覆盖基于证书和PSK加密的默认密码套件选择标准。
示例:
该参数自Zabbix 7.0.4版本起支持。
适用于OpenSSL 1.1.1或更高版本的OpenSSL密码套件string(TLS 1.3)。 覆盖基于证书和PSK加密的默认密码套件选择标准。
示例:
该参数自Zabbix 7.0.4版本起支持。
OpenSSL加密套件string(TLS 1.2版本)。 覆盖基于证书加密的默认密码套件选择标准。
示例:
注意:该参数不能与TLSAccept=cert,psk同时使用;对于证书连接(TLSConnect=cert)请改用TLSCipherAll参数。
该参数自Zabbix 7.0.4版本起支持。
OpenSSL加密套件string(TLS 1.3)适用于OpenSSL 1.1.1或更高版本。 覆盖基于证书加密的默认加密套件选择标准。
注意此参数不能与TLSAccept=cert,psk同时使用;对于证书连接(TLSConnect=cert)请改用TLSCipherAll13。
该参数自Zabbix 7.0.4版本起支持。
OpenSSL加密套件string(TLS 1.2版本)。 覆盖基于PSK加密的默认密码套件选择标准。
示例:
该参数自Zabbix 7.0.4版本起支持。
OpenSSL加密套件string(TLS 1.3),适用于OpenSSL 1.1.1或更高版本。 覆盖基于PSK加密的默认加密套件选择标准。
示例:
该参数自Zabbix 7.0.4版本起支持。
agent应如何连接到Zabbix server或proxy. 用于主动检查. 只能指定一个值:
unencrypted - 不加密连接(默认)
psk - 使用TLS和预共享密钥(PSK)连接
cert - 使用TLS和证书连接
必填项: 如果定义了TLS证书或PSK参数则为是(即使对于unencrypted连接); 否则为否
包含已撤销证书的file完整路径名。 该参数用于Zabbix组件之间的加密通信。
包含用于Zabbix组件间加密通信的agent私钥的file完整路径名。
包含用于与Zabbix server进行加密通信的agent预共享密钥的file完整路径名。
预共享密钥标识string,用于与Zabbix server进行加密通信。
允许的服务器(proxy)证书颁发机构。
允许的服务器(proxy)证书主题。
允许在用户自定义参数的参数中传递所有字符。 以下字符不允许使用:\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
此外,换行符也不允许使用。
默认值:0
取值:0 - 不允许,1 - 允许
用于监控的用户自定义参数。 可以存在多个用户自定义参数。
格式: UserParameter=<键值>,<shell命令>
注意shell命令不能返回空string或仅包含EOL。 如果指定了UserParameterDir参数,shell命令可以使用相对路径。
示例:
UserParameter命令的默认搜索路径。 如果使用此参数,agent将在执行命令前将工作目录切换至此处指定的目录。 因此,UserParameter命令可以使用相对路径的./前缀而非完整路径。
仅允许配置一个条目。
示例: