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 | 您可以在配置文件中包含单个文件或目录中的所有文件。 |
ListenIP | 逗号分隔的IP地址列表,agent 应该监听的IP地址。 |
ListenPort | agent 将在此端口监听来自服务器的连接。 |
LogFile | 日志文件的名称。 |
LogFileSize | 日志文件的最大大小。 |
LogType | 日志输出的类型。 |
PersistentBufferFile | 存储 Zabbix agent 2 应该保留 SQLite 数据库的 file。 |
PersistentBufferPeriod | 当与 server 或 proxy 没有连接时,数据应存储的时间周期。 |
PidFile | PID文件的名称。 |
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 | 用于从 Zabbix server/proxy 地址或集群配置 get 主动检查的源地址。 |
SourceIP | 源IP地址。 |
StatusPort | 如果设置,agent 将在此端口监听 HTTP 状态请求(http://localhost:<port>/status)。 |
Timeout | 指定与Zabbix proxy或服务器建立连接和交换数据时等待的时长(以秒为单位)。 |
TLSAccept | 接受哪些传入连接。 |
TLSCAFile | 用于对等证书验证的 file 的完整路径名,该文件包含 Top 级别 CA 证书,用于 Zabbix 组件之间的加密通信。 |
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 | 包含 file 的完整路径名,该文件包含用于Zabbix组件之间加密通信的 agent 私钥。 |
TLSPSKFile | 用于与 Zabbix server 进行加密通信的 file 的完整路径名,其中包含 agent 预共享密钥。 |
TLSPSKIdentity | 预共享密钥标识符 string,用于与 Zabbix server 进行加密通信。 |
TLSServerCertIssuer | 允许的服务器(proxy)证书颁发者。 |
TLSServerCertSubject | 允许的服务器 (proxy) 证书主题。 |
UnsafeUserParameters | 允许在参数中传递所有字符给用户自定义参数。 |
UserParameter | 要监控的用户自定义参数。 |
UserParameterDir | UserParameter 命令的默认搜索路径。 |
所有参数均为非必填项,除非明确说明该参数为必填项。
注意:
为一个 监控项 键设置一个 alias。它可以用于将一个较长且复杂的 监控项 键替换为一个更短且更简单的键。
可以存在多个 alias 参数。不允许存在具有相同 alias 键的多个参数。
不同的 alias 键可以引用同一个 监控项 键。
别名可以在 HostMetadataItem 中使用,但不能在 HostnameItem 参数中使用。
示例 1:检索用户 'zabbix' 的 ID。
现在可以使用 zabbix.userid 缩写键来检索数据。
示例 2:使用默认参数和自定义参数获取 CPU 使用率。
这允许使用 cpu.util 键通过默认参数来 get CPU 使用率百分比,同时也可以使用 cpu.util[all, idle, avg15] 来 get 关于 CPU 使用率的特定数据。
示例 3:运行多个处理相同发现 监控项 的 low-level 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
一个可选参数,用于定义主机接口。主机接口在主机 将-dns-设为默认接口过程中使用。如果未定义,则该值将从HostInterfaceItem获取。
如果该值超过255个字符的限制,agent将返回问题错误且不会启动。
范围:0-255个字符
一个可选参数,用于定义用于获取 监控项 接口的配置。<主机br>主机 接口在 主机 将-dns-设为默认接口 过程中使用。当未定义 HostInterface 时,才使用此选项。
无论 AllowKey/DenyKey 的值如何,都支持 system.run[] 监控项。
在自动注册请求期间,如果指定的 监控项 返回的值超过 255 个字符的限制,agent 将记录警告消息。
一个可选参数,用于定义主机元数据。主机元数据仅在主机自动注册过程中使用。如果未定义该参数,则其值将从HostMetadataItem中获取。
如果指定的值超过2034字节限制或使用了非UTF-8 string,则agent将问题一个错误并且不会启动。
范围:0-2034 字节
一个可选参数,用于定义用于获取主机元数据的监控项。当未定义HostMetadata时,才使用此选项。支持用户参数和别名。无论AllowKey/DenyKey的值如何,都支持system.run[] 监控项。
HostMetadataItem值在每次自动注册尝试时检索,并且仅在主机自动注册过程中使用。
在自动注册请求期间,如果指定的监控项返回的值超过65535个UTF-8码点的限制,agent将记录警告消息。指定的监控项返回的值必须是UTF-8 string,否则将被忽略。
以逗号分隔的、唯一的、区分大小写的主机名列表。主动检查时必填,并且必须与服务器上配置的主机名匹配。若未定义,则从 HostnameItem 获取该值。
允许的字符:字母数字、'.'、' '、'_' 和 '-'。每个主机名最大长度:128 个字符,整行最大长度:2048 个字符。
默认值:由 HostnameItem 设置
一个可选参数,用于定义用于获取 主机 名称的 监控项。当未定义 Hostname 时,才使用此选项。不支持用户参数或别名,但无论 AllowKey/DenyKey 的值如何,都支持 system.run[] 监控项。
默认值:system.hostname
您可以在配置文件中包含单个文件或目录中的所有文件。在安装过程中,除非在编译期间进行了修改,Zabbix 将会 create 包含目录放在 /usr/local/etc
中。路径可以相对于 zabbix_agent2.conf file 的位置。
若要仅包含指定目录中的相关文件,支持使用星号通配符进行模式匹配。
有关限制,请参见 special notes。
示例:
一个逗号分隔的IP地址列表,agent 应该监听这些IP地址。如果连接到Zabbix server,则会发送第一个IP地址以检索主动检查的列表。
默认值: 0.0.0.0
agent 将在此端口监听来自服务器的连接。
默认值:10050
范围:1024-32767
日志文件的名称。
默认值: /tmp/zabbix_agent2.log
必填项: 如果 LogType 设置为 file,则为必填;否则非必填
日志 file 的最大大小(以 MB 为单位)。
0 - 禁用自动日志轮换。
注意:如果达到日志 file 大小限制并且由于任何原因导致 file 轮换失败,则现有的日志 file 将被截断并重新开始。
默认值: 1
范围: 0-1024
日志输出的类型:
file - 将日志写入由LogFile参数指定的file;
system - 将日志写入syslog;
console - 将日志写入标准输出
默认值:file
SQLite数据库应存储在file中,此处Zabbix agent 2需保持SQLite数据库。必须为完整文件名。仅当启用持久化缓冲区时,此参数才被使用(EnablePersistentBuffer=1)。
当与server 或 proxy失去连接时,数据应存储的时间段。较旧的数据将会丢失。日志数据将被保留。仅在启用持久化缓冲区时使用此参数(EnablePersistentBuffer=1)。
默认值:1h
取值范围:1m-365d
PID文件的名称。
默认值:/tmp/zabbix_agent2.pid
每个 <PluginName>
插件可同时执行的检查数量上限。
默认值: 1000
取值范围: 1-1000
当处理 '日志' 和 'logrt' 主动检查时,agent 每秒发送给 Zabbix server 或 proxy 的最大新行数。此值将被 '日志' 和 'logrt' 监控项 键值中提供的 'maxlines' 参数覆盖。
注意:为了在日志 监控项 中查找所需的 string,Zabbix 处理的新行数将是 MaxLinesPerSecond 设置值的 10 倍。
默认值: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=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
高可用性示例:
高可用性示例,包含两个集群和一个服务器:
主动检查的服务器地址列表为: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.*
检查的最大持续时间;默认值:3
取值范围:1-30
接受的入站连接。用于被动检查。可以指定多个值,用逗号分隔:
unencrypted - 接受不加密的连接(默认)
psk - 接受使用TLS和预共享密钥(PSK)的连接
cert - 接受使用TLS和证书的连接
必填项:如果定义了TLS证书或PSK参数时为必填(即使为unencrypted连接);否则非必填
包含用于Zabbix组件之间加密通信的对等证书验证的Top级CA证书的file的完整路径名。
用于与 Zabbix 组件进行加密通信的 file 的完整路径名,该文件包含 agent 证书或证书链。
OpenSSL 密码 string(TLS 1.2)。覆盖基于证书和 PSK 加密的默认密码套件选择标准。
示例:
自 Zabbix 7.0.4 起支持此参数。
OpenSSL密码string(TLS 1.3)适用于OpenSSL 1.1.1或更高版本。覆盖基于证书和PSK加密的默认密码套件选择标准。
示例:
自Zabbix 7.0.4起支持此参数。
OpenSSL加密套件string(TLS 1.2)。覆盖基于证书加密的默认加密套件选择标准。
示例:
请注意,此参数不能与TLSAccept=cert,psk一起使用;对于证书连接(TLSConnect=cert),请使用TLSCipherAll。
此参数自Zabbix 7.0.4起受支持。
用于OpenSSL 1.1.1 或更新版本的OpenSSL加密套件 string(TLS 1.3)。覆盖基于证书加密的默认加密套件选择标准。
请注意,此参数不能与 TLSAccept=cert,psk
一起使用;对于证书连接(TLSConnect=cert
),请使用 TLSCipherAll13。
此参数自 Zabbix 7.0.4 起受支持。
OpenSSL加密套件 string(TLS 1.2)。覆盖基于PSK加密的默认加密套件选择标准。
示例:
自Zabbix 7.0.4 起支持此参数。
用于 OpenSSL 1.1.1 或更新版本的 OpenSSL 加密套件 string(TLS 1.3)。覆盖基于 PSK 加密的默认加密套件选择标准。
示例:
自 Zabbix 7.0.4 起支持此参数。
agent 应该如何连接到 Zabbix server 或 proxy。用于主动检查。只能指定一个值:
unencrypted - 不使用加密连接(默认)
psk - 使用 TLS 和预共享密钥(PSK)连接
cert - 使用 TLS 和证书连接
必填项:如果定义了 TLS 证书或 PSK 参数时为必填(即使是 unencrypted 连接);否则非必填
包含已吊销证书的file的完整路径名。此参数用于Zabbix组件之间的加密通信。
用于存储 file 的完整路径名,该文件包含 Zabbix 组件之间加密通信所使用的 agent 私钥。
用于与 Zabbix server 进行加密通信时使用的、包含 agent 预共享密钥的 file 的完整路径名。
预共享密钥标识 string,用于与 Zabbix server 进行加密通信。
允许的服务器 (proxy) 证书颁发者。
允许的服务器(proxy)证书主题。
允许在用户自定义参数的参数中传递所有字符。以下字符不允许使用:\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
此外,不允许换行符。
默认值:0
取值范围:0 - 不允许,1 - 允许
一个用于监控的用户自定义参数。可以有多个用户自定义参数。
格式:UserParameter=<key>,<shell命令>
请注意,shell命令返回的内容不能为空 string 或仅包含行末符。如果指定了UserParameterDir参数,shell命令可以使用相对路径。
示例:
UserParameter 命令的默认搜索路径。如果使用此参数,agent 在执行命令前会将其工作目录更改为这里指定的目录。因此,UserParameter 命令可以使用相对的 ./
前缀,而不是完整的路径。
仅允许一个条目。
示例: