Zabbix agent 2 是新一代的 Zabbix agent,可用于替代 Zabbix agent。
本节列出了 Windows 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 无连接时应存储数据的时间段。 |
Plugins.<PluginName>.System.Capacity | 可同时执行的每个插件的检查限制。 |
Plugins.Log.MaxLinesPerSecond | 处理 '日志' 和 'logrt' 主动检查时,agent 每秒发送给 Zabbix server 或 proxy 的新行最大数量。 |
Plugins.SystemRun.LogRemoteCommands | 启用将执行的 shell 命令记录为警告。 |
PluginSocket | 可加载插件通信的 UNIX 套接字路径。 |
PluginTimeout | 与可加载插件连接的超时时间(秒)。 |
PerfCounter | 定义新参数 <parameter_name>,其为系统性能计数器 <perf_counter_path> 在指定时间段 <period>(秒)内的平均值。 |
PerfCounterEn | 定义新参数 <parameter_name>,其为系统性能计数器 <perf_counter_path> 在指定时间段 <period>(秒)内的平均值。与 PerfCounter 相比,性能计数器路径必须为英文。 |
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 组件间的加密通信。 |
TLSCipherAll13 | OpenSSL 密码套件 string(TLS 1.3)。覆盖基于证书和 PSK 加密的默认密码套件选择标准。 |
TLSCipherCert13 | OpenSSL 密码套件 string(TLS 1.3)。覆盖基于证书加密的默认密码套件选择标准。 |
TLSCipherPSK13 | OpenSSL 密码套件 string(TLS 1.3)。覆盖基于 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:从服务器检索分页 file 使用率的百分比。
现在可以使用简写键 pg_usage 来检索数据。
示例 2:使用默认参数和自定义参数获取CPU负载。
这允许使用 cpu.load 键来 get CPU 负载(使用默认参数),以及使用 cpu.load[percpu,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' 选项发送运行时命令。
默认值:\\.\pipe\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个字符
一个可选参数,用于定义用于获取 主机 接口的 监控项。
在 主机 将-dns-设为默认接口 过程中使用 主机 接口。当未定义 HostInterface 时,才使用此选项。
system.run[] 监控项 的支持与 AllowKey/DenyKey 的值无关。
在自动注册请求期间,如果指定的 监控项 返回的值超过 255 个字符的限制,agent 将记录警告信息。
一个可选参数,用于定义主机元数据。主机元数据仅在主机自动注册过程(主动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
您可以在配置中包含单个文件或目录中的所有文件 file(如果使用 Windows MSI 安装包安装 Zabbix agent,则默认位于 C:\Program Files\Zabbix Agent 2
;如果以 zip 压缩包形式安装 Zabbix agent,则位于安装期间指定的文件夹中)。所有包含的文件必须具有正确的语法,否则 agent 将无法启动。路径可以相对于 zabbix_agent2.conf file 所在位置(例如:Include=.\zabbix_agent2.d\plugins.d\*.conf
)。
要仅包含指定目录中的相关文件,支持使用星号通配符进行模式匹配。
有关限制,请参见 special notes。
示例:
一个逗号分隔的IP地址列表,agent 应该监听这些IP地址。如果连接到Zabbix server,则会发送第一个IP地址以检索主动检查的列表。
默认值:0.0.0.0
agent 将在此端口监听来自服务器的连接。
默认值:10050
范围:1024-32767
agent日志文件的名称。
默认值:c:\zabbix_agent2.log
必填项:是,如果 LogType 设置为 file;否则否
日志 file 的最大大小(以 MB 为单位)。
0 - 禁用自动日志轮换。
注意:如果达到日志 file 大小限制并且日志 file 轮换因任何原因失败,现有的日志 file 将被截断并重新开始。
默认值: 1
范围: 0-1024
日志输出的类型:
file - 将日志写入由LogFile参数指定的file;
console - 将日志写入标准输出。
默认值: file
SQLite数据库应存储在file中,此处Zabbix agent 2需保留完整的文件名。如果启用了持久化缓冲区(EnablePersistentBuffer=1),此参数才有效。
当与server 或 proxy失去连接时,数据应存储的时间段。较旧的数据将会丢失。日志数据将被保留。仅在启用持久化缓冲区时使用此参数(EnablePersistentBuffer=1)。
默认值:1h
取值范围:1m-365d
每个 <PluginName>
插件可同时执行的检查数量上限。
默认值:1000 范围:1-1000
在处理 '日志'、"logrt" 和 "eventlog" 主动检查时,agent 每秒发送给 Zabbix server 或 proxy 的最大新行数。该值将被 '日志'、"logrt" 或 "eventlog" 监控项 键中提供的 'maxlines' 参数覆盖。
注意:为了在日志 监控项 中查找所需的 string,Zabbix 处理的新行数将是 MaxLinesPerSecond 设置值的 10 倍。
默认值:20
范围:1-1000
启用将执行的 shell 命令记录为警告日志。仅在远程执行时才会记录命令。如果 system.run[] 是由 HostMetadataItem、HostInterfaceItem 或 HostnameItem 参数在本地启动的,则不会创建日志条目。
默认值:0
取值范围:0 - 禁用,1 - 启用
用于可加载插件通信的UNIX套接字路径。
默认值:\\.\pipe\agent.plugin.sock
与可加载插件建立连接的超时时间,以秒为单位。
默认值: Timeout
范围: 1-30
定义了一个新参数 <parameter_name>,它是系统性能计数器 <perf_counter_path> 在指定时间段 <period>(以秒为单位)内的平均值。
语法: <parameter_name>,"<perf_counter_path>",<period>
例如,如果您希望获取上一分钟内处理器中断的平均数量/秒,您可以将一个新参数 "interrupts" 定义如下:
请注意性能计数器路径周围的双引号。参数名称(interrupts)在创建 监控项 时用作 监控项 键。用于计算平均值的样本将每秒采集一次。
您可以使用 run "typeperf -qx" 来 get Windows 中所有可用性能计数器的列表。
定义了一个新的参数 <parameter_name>,它是系统性能计数器 <perf_counter_path> 在指定时间段 <period>(以秒为单位)内的平均值。与 PerfCounter 相比,perfcounter 路径必须使用英文。仅支持 Windows Server 2008/Vista 及更高版本。
语法: <parameter_name>,"<perf_counter_path>",<period>
例如,如果您希望获取过去一分钟内处理器中断的平均值,您可以定义一个新的参数 "interrupts",如下所示:
请注意性能计数器路径周围的双引号。参数名(interrupts)在创建 监控项 时将用作 监控项 键。
计算平均值的样本将每秒采集一次。
您可以通过查看以下注册表项找到英文字符串列表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
。
刷新主动检查列表的频率,以秒为单位。请注意,在刷新主动检查失败后,将在 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.*
检查的最大持续时间;默认值:3
取值范围:1-30
接受的入站连接。用于被动检查。可以指定多个值,用逗号分隔:
unencrypted - 接受不加密的连接(默认)
psk - 接受使用 TLS 和预共享密钥(PSK)的连接
cert - 接受使用 TLS 和证书的连接
必填项:如果定义了 TLS 证书或 PSK 参数时为必填(即使为 unencrypted 连接);否则非必填
包含用于Zabbix组件之间加密通信的对等证书验证的Top级CA证书的file的完整路径名。
用于与 Zabbix 组件进行加密通信的 file 的完整路径名,该文件包含 agent 证书或证书链。
OpenSSL加密套件string(TLS 1.3)。覆盖基于证书和PSK加密的默认加密套件选择标准。
示例:
此参数自Zabbix 7.0.4起受支持。
OpenSSL加密套件 string(TLS 1.3)。覆盖基于证书加密的默认加密套件选择标准。
请注意,此参数不能与 TLSAccept=cert,psk
一起使用;对于证书连接(TLSConnect=cert
),请使用 TLSCipherAll13。
此参数自 Zabbix 7.0.4 起受支持。
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组件之间的加密通信。
用于存储 Zabbix 组件之间加密通信所使用的 agent 私钥的 file 的完整路径名。
包含用于与Zabbix server进行加密通信的agent预共享密钥的file的完整路径名。
预共享密钥标识 string,用于与 Zabbix server 进行加密通信。
允许的服务器(proxy)证书颁发者。
允许的服务器 (proxy) 证书主题。
允许在用户自定义参数的参数中传递所有字符。以下字符不允许使用:\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
此外,不允许换行符。
默认值:0
取值范围:0 - 不允许,1 - 允许
用户自定义的监控参数。可以有多个用户自定义参数。
格式:UserParameter=<键>,<shell命令>
注意shell命令不能返回空值或仅包含行末符string。如果指定了UserParameterDir参数,shell命令可以使用相对路径。
示例:
UserParameter 命令的默认搜索路径。如果使用此参数,agent 在执行命令前会将其工作目录更改为在此处指定的目录。因此,UserParameter 命令可以使用相对的 .\
前缀,而不是完整的路径。
仅允许一个条目。
示例: