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]来getCPU负载的特定数据。
示例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
一个可选参数,用于定义在主机 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将记录一条警告消息。
无论AllowKey/DenyKey设置如何,system.run[] 监控项均受支持。
一个可选参数,用于定义在主机autoregistration过程中用于识别或区分主机的metadata(主动agent)。 HostMetadata允许通过主机名之外的方式区分主机。
如果未定义,该值将从HostMetadataItem获取。
当指定值超过2034字节限制或使用非UTF-8string时,agent将问题错误且不会启动。 当参数需要IP地址或DNS名称时,有效UTF-8编码但不符合IP或DNS命名规范的值也将被拒绝并报告为无效。
不支持多行元数据——输出将在第一个换行符处截断。
范围:0-2034字节
一个可选参数,用于定义获取host metadata时使用的Zabbix agent监控项。 该选项仅在未定义HostMetadata时使用。
HostMetadataItem值会在每次autoregistration尝试时获取,并仅用于主机自动注册过程(主动式agent)。 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 agent通过Windows MSI安装包安装,默认位于C:\Program Files\Zabbix Agent 2;如果Zabbix agent以zip压缩包形式安装,则位于安装时指定的文件夹)。 所有被包含的文件必须具有 正确的语法,否则agent将无法启动。 路径可以是相对于zabbix_agent2.conf配置文件file的位置(例如, Include=.\zabbix_agent2.d\plugins.d\*.conf)。
若仅包含指定目录中的相关文件,支持使用星号通配符进行模式匹配。
关于限制条件,请参阅special notes。
示例:
一个逗号分隔的IP地址列表,agent应监听这些地址。 第一个IP地址会被发送到Zabbix server(如果连接到它)以获取活动检查的列表。
默认值:0.0.0.0
agent将在此端口监听来自服务器的连接。
默认值:10050
范围:1024-32767
file日志的agent名称.
默认值: c:\zabbix_agent2.log
必填: 是,当LogType设置为file时;否则为否
日志file的最大大小,单位为MB。
0 - 禁用自动日志轮转。
注意:如果日志file大小达到限制且file轮转失败(无论何种原因),现有日志file将被截断并重新开始记录。
默认值:1
范围:0-1024
日志输出类型:
file - 将日志写入LogFile参数指定的file;
console - 将日志写入标准输出.
默认值: file
file 应保留 SQLite 数据库的 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'参数覆盖。
注意: Zabbix将处理比MaxLinesPerSecond设置多10倍的新行数,以在日志监控项中查找所需的string。
默认值: 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.*检查的最大持续时间;该超时设置不适用于在前端(全局、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.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或仅包含EOL。 如果指定了UserParameterDir参数,shell命令可以使用相对路径。
示例:
UserParameter命令的默认搜索路径。 若启用此参数,agent将在执行命令前将工作目录切换至此处指定的路径。 因此,UserParameter命令可使用相对路径的.\前缀替代完整路径。
仅允许配置单个路径条目。
示例: