5 Zabbix agent (Windows)

概述

本节列出了Zabbix agent (Windows) 配置file (zabbix_agentd.conf)中支持的参数.

请注意:

  • 默认值反映守护进程的默认设置,而非配置文件中的初始值
  • Zabbix仅支持UTF-8编码的配置文件,不包含BOM
  • 以"#"开头的注释仅支持在行首使用

参数

参数 必选 范围 默认值 描述
Alias no 为监控项键设置alias. 可用于将冗长复杂的监控项键替换为更短更简单的键.
可配置多个alias参数. 不允许存在相同alias键的多个参数.
不同的alias键可以引用相同的监控项键.
别名可用于HostMetadataItem参数但不能用于HostnameItem参数.

示例:

1. 从服务器获取分页file使用百分比.
alias=pg_usage:perf_counter[File(_Total)% Usage]
现在可以使用简写键pg_usage获取数据.

2. 使用默认和自定义参数获取CPU负载.
alias=cpu.load:system.cpu.load
alias=cpu.load[*]:system.cpu.load[*]
这样既可以使用cpu.load键get默认参数的CPU负载, 也可以使用cpu.load[percpu,avg15]来getCPU负载的特定数据.

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 缓冲区中数据保留时间不超过N秒
BufferSize no 2-65535 100 memory缓冲区中值的最大数量。当缓冲区满时,agent会将所有收集的数据发送至Zabbix server或proxy。
DebugLevel no 0-5 3 指定调试级别:
0 - 关于Zabbix进程启动和停止的基本信息
1 - 关键信息
2 - 错误信息
3 - 警告信息
4 - 调试信息(产生大量信息)
5 - 扩展调试信息(产生更多信息)
DenyKey no 拒绝执行与模式匹配的监控项键。键模式是支持使用"*"字符匹配任意数量任意字符的通配符表达式。
可以结合AllowKey定义多个键匹配规则。参数将按其出现顺序逐一处理。
该参数自Zabbix 5.0.0版本起支持。
另请参阅:Restricting agent checks
EnableRemoteCommands no 0 是否允许来自Zabbix server的远程命令。此参数已弃用,请改用AllowKey=system.run[*]或DenyKey=system.run[*]
这是AllowKey/DenyKey参数的内部alias,具体取决于值:0 - DenyKey=system.run[*]
1 - AllowKey=system.run[*]。
HostInterface no 0-255 characters 定义主机接口的可选参数.
主机接口用于主机自动注册过程.
如果值超过255字符限制,agent将问题错误且不会启动.
若未定义,将从HostInterfaceItem获取该值.
自Zabbix 4.4.0版本起支持.
HostInterfaceItem no 可选参数,用于定义获取主机接口时使用的监控项.
主机接口在主机自动注册过程中使用.
在自动注册请求期间,如果指定监控项返回的值超过255字符限制,agent将记录警告信息.
无论AllowKey/DenyKey值如何设置,都支持system.run[] 监控项.
此选项仅在未定义HostInterface时使用.
自Zabbix 4.4.0版本起支持.
HostMetadata no 0-255 characters 用于定义主机元数据的可选参数。主机元数据仅在主机自动注册过程(主动式agent)中使用。
若未定义,该值将从HostMetadataItem中获取。
若指定值超过限制或包含非UTF-8string,agent将问题错误且无法启动。
HostMetadataItem no 可选参数,用于定义获取主机元数据时使用的Zabbix agent 监控项。此选项仅在未定义HostMetadata时使用。
支持UserParameters、性能计数器和别名。无论AllowKey/DenyKey值如何,都支持system.run[]
HostMetadataItem值会在每次自动注册尝试时获取,并仅用于主机自动注册过程(主动式agent)。
在自动注册请求期间,如果指定监控项返回的值超过255字符限制,agent将记录警告消息。
监控项返回的值必须是UTF-8 string,否则将被忽略。
Hostname no 按主机名项设置 以逗号分隔的唯一、区分大小写的主机名列表。
主动检查所必需,且必须与服务器上配置的主机名匹配。如果未定义,则从HostnameItem获取值。
允许字符:字母数字、'.'、' '、'_'和'-'。
最大长度:每个主机名128个字符,整行2048个字符。
HostnameItem no system.hostname 可选参数,用于定义获取主机名时使用的Zabbix agent 监控项。该选项仅在未定义主机名时使用。
不支持UserParameters、性能计数器或别名,但支持system.run[](无论AllowKey/DenyKey值如何)。
另请参阅主机名参数
Include no 您可以在配置文件file中包含单个文件或目录中的所有文件(如果Zabbix agent通过Windows MSI安装包安装,默认位于C:\Program Files\Zabbix Agent;如果Zabbix agent以zip压缩包形式安装,则位于安装时指定的文件夹)。所有包含的文件必须具有正确的语法,否则agent将无法启动。
若仅需包含指定目录中的相关文件,支持使用星号通配符进行模式匹配。例如:C:\Program Files\Zabbix Agent\zabbix_agentd.d\*.conf
有关限制条件,请参阅special notes
ListenBacklog no 0 - INT_MAX SOMAXCONN TCP队列中等待连接的最大数量。
默认值为硬编码常量,具体取决于系统。
支持的最大值也取决于系统,过高的值可能会被静默截断为'实现指定的最大值'。
ListenIP no 0.0.0.0 agent应监听的逗号分隔IP地址列表。
ListenPort no 1024-32767 10050 Agent 将在此端口监听来自服务器的连接。
LogFile yes, if LogType is set to file, otherwise
no
C:\zabbix_agentd.log agent日志file的文件名
LogFileSize no 0-1024 1 日志file的最大大小(MB)。
0 - 禁用自动日志轮转。
注意:如果日志file大小达到限制且file轮转失败(无论何种原因),现有日志file将被截断并重新开始记录。
LogType no file 日志输出类型:
file - 将日志写入由LogFile参数指定的file,
system - 将日志写入Windows事件日志,
console - 将日志输出到标准输出.
该参数自Zabbix 3.0.0版本起支持.
LogRemoteCommands no 0 启用将执行的shell命令记录为警告的功能。
0 - 禁用
1 - 启用
MaxLinesPerSecond no 1-1000 20 agent每秒向Zabbix server或proxy发送的新行数上限
用于处理'日志'、'logrt'和'eventlog'主动检查。
该值将被'日志'、'logrt'或'eventlog'的监控项键中
提供的'maxlines'参数覆盖。
注意:Zabbix将处理比MaxLinesPerSecond设置多10倍的新行数,
以便在日志监控项中查找所需的string。
PerfCounter no 定义一个新参数<parameter_name>,该参数表示系统性能计数器<perf_counter_path>在指定时间段<period>(以秒为单位)内的平均值。
语法:<parameter_name>,"<perf_counter_path>",<period>
例如,若要获取过去一分钟内处理器每秒中断次数的平均值,可以按如下方式定义名为"interrupts"的新参数:
PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60
请注意性能计数器路径需使用双引号包围。
参数名称(interrupts)将作为创建监控项时的监控项键使用。
计算平均值的采样将每秒进行一次。
您可run "typeperf -qx"命令get Windows中所有可用性能计数器的列表。
PerfCounterEn no 定义一个新参数<parameter_name>,该参数表示系统性能计数器<perf_counter_path>在指定时间段<period>(以秒为单位)内的平均值。
语法:<parameter_name>,"<perf_counter_path>",<period>
与PerfCounter相比,perfcounter路径必须使用英文。
仅支持Windows Server 2008/Vista及以上版本。
例如,若要获取过去一分钟内处理器每秒中断次数的平均值,可定义名为"interrupts"的新参数如下:
PerfCounterEn = interrupts,"\Processor(0)\Interrupts/sec",60
请注意性能计数器路径需用双引号括起。
参数名称(interrupts)将作为创建监控项时的监控项键使用。
系统将每秒采集一次样本用于计算平均值。
可通过查看以下注册表项获取英文字符串列表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
该参数自Zabbix 4.0.13和4.2.7版本起支持。
RefreshActiveChecks no 60-3600 120 主动检查列表的刷新频率(单位:秒)。
请注意,若主动检查刷新失败,下一次刷新尝试将在60秒后进行。
Server yes, if StartAgents is not explicitly set to 0 以逗号分隔的IP地址列表(支持CIDR表示法)或Zabbix servers的DNS名称。
仅接受来自此处列出的主机的传入连接。
若启用IPv6支持,则'127.0.0.1'、'::127.0.0.1'、'::ffff:127.0.0.1'将被等同对待,'::/0'将允许任何IPv4或IPv6地址。
'0.0.0.0/0'可用于允许任何IPv4地址。
注意:虽然支持"IPv4兼容的IPv6地址"(0000::/96前缀),但该标准已被RFC4291弃用。
示例:Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
允许包含空格。
ServerActive no (*) 指定Zabbix server/proxy地址或集群配置以get主动检查.
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:10051
多服务器配置示例:
ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
高可用集群配置示例:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3
双集群加单服务器的高可用配置示例:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain
SourceIP no 源IP地址用于:
- 与Zabbix server或Zabbix proxy建立的出站连接;
- 执行某些监控项时建立的连接(web.page.get, net.tcp.port等)
StartAgents no 0-100 (*) 3 处理被动检查的zabbix_agentd预派生实例数量。
若设置为0,将禁用被动检查且agent不会监听任何TCP端口。
Timeout no 1-30 3 处理时间不超过Timeout秒
TLSAccept yes, if TLS certificate or PSK parameters are defined (even for unencrypted connection), otherwise no 接受哪些传入连接. 用于被动检查. 可指定多个值, 用逗号分隔:
unencrypted - 接受未加密的连接 (默认)
psk - 接受使用TLS和预共享密钥(PSK)的连接
cert - 接受使用TLS和证书的连接
该参数从Zabbix 3.0.0开始支持.
TLSCAFile no 包含用于对等证书验证的Top级CA证书的file完整路径名,用于Zabbix组件之间的加密通信。
该参数自Zabbix 3.0.0版本起支持。
TLSCertFile no 包含用于与Zabbix组件加密通信的agent证书或证书链的file完整路径名。
该参数自Zabbix 3.0.0版本起支持。
TLSConnect yes, if TLS certificate or PSK parameters are defined (even for unencrypted connection), otherwise no agent应如何连接至Zabbix server或proxy。用于主动检查。仅可指定一个值:
unencrypted - 不加密连接(默认)
psk - 使用TLS和预共享密钥(PSK)连接
cert - 使用TLS和证书连接
该参数自Zabbix 3.0.0版本起支持。
TLSCRLFile no 包含已吊销证书的file完整路径名。该参数用于与Zabbix组件进行加密通信。
此参数自Zabbix 3.0.0版本起支持。
TLSKeyFile no 包含用于与Zabbix组件进行加密通信的agent私钥的file完整路径名。
该参数自Zabbix 3.0.0版本起支持。
TLSPSKFile no 包含用于与Zabbix组件进行加密通信的file agent预共享密钥的完整路径名。
该参数自Zabbix 3.0.0版本起支持。
TLSPSKIdentity no 预共享密钥标识string,用于与Zabbix server进行加密通信。
该参数自Zabbix 3.0.0版本起支持。
TLSServerCertIssuer no 允许的服务器(proxy)证书颁发者。
该参数自Zabbix 3.0.0版本起支持。
TLSServerCertSubject no 允许的服务器(proxy)证书主题.
该参数从Zabbix 3.0.0版本开始支持.
UnsafeUserParameters no 0-1 0 允许所有字符传递到用户自定义参数的参数中.
0 - 不允许
1 - 允许
以下字符不被允许:
\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > \
UserParameter no
UserParameterDir no UserParameter命令的默认搜索路径。若启用此参数,agent将在执行命令前将工作目录切换至此处指定的路径。因此,UserParameter命令可使用相对路径前缀./替代完整路径。
仅允许配置单个路径条目。
示例:UserParameterDir=C:

(*) ServerActive 中列出的活动服务器数量 加上为被动检查指定的预派生实例数量 StartAgents必须小于64。