5 Zabbix agent (Windows)

概述

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

请注意:

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

参数

参数 必选 范围 默认值 描述
Alias no 为监控项键设置alias。可用于将复杂冗长的监控项键替换为更简洁的别名。
可配置多个alias参数,但禁止为同一键名设置多个别名。
不同alias键可引用相同的监控项键。
别名可用于HostMetadataItem参数,但不能用于HostnameItem参数。

示例:

1. 从服务器获取分页文件使用百分比
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键获取默认参数下的CPU负载,也可用cpu.load[percpu,avg15]获取特定CPU负载数据

3. 运行多个处理相同发现low-level discovery的规则
alias=vfs.fs.discovery[*]: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 缓冲区数据保留时长(秒)。
BufferSize no 2-65535 100 内存缓冲区最大值上限。当缓冲区满时,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[*]
其实际行为取决于值:
0 - 等效于DenyKey=system.run[*]
1 - 等效于AllowKey=system.run[*]
HostInterface no 0-255 characters 定义主机接口的可选参数。
主机接口用于主机自动注册过程。
若值超过255字符限制,agent将问题错误且无法启动。
未定义时从HostInterfaceItem获取值。
自Zabbix 4.4.0版本起支持。
HostInterfaceItem no 定义用于获取主机接口的监控项键的可选参数。
主机接口用于主机自动注册过程。
自动注册请求时,若指定监控项返回值超过255字符限制将记录警告。
无论AllowKey/DenyKey设置如何,均支持system.run[] 监控项。
仅当未定义HostInterface时生效。
自Zabbix 4.4.0版本起支持。
HostMetadata no 0-255 characters 定义主机元数据的可选参数。主机元数据仅用于主机自动注册过程(主动式agent)。
未定义时从HostMetadataItem获取值。
若指定值超限或包含非UTF-8 string,agent将问题错误且无法启动。
HostMetadataItem no 定义用于获取主机元数据的Zabbix agent 监控项键。仅当未定义HostMetadata时生效。
支持UserParameters、性能计数器和别名。无论AllowKey/DenyKey设置如何均支持system.run[]
每次自动注册尝试时获取HostMetadataItem值,且仅用于主机自动注册过程(主动式agent)。
自动注册请求时,若指定监控项返回值超过255字符限制将记录警告。
返回值必须是UTF-8 string,否则将被忽略。
Hostname no 由HostnameItem设置 逗号分隔的唯一主机名列表(区分大小写)。
主动检查必需,且必须与服务器配置的主机名匹配。未定义时从HostnameItem获取值。
允许字符:字母数字、'.'、' '、'_'和'-'。
最大长度:每个主机名128字符,整行2048字符。
HostnameItem no system.hostname 定义用于获取主机名称的Zabbix agent 监控项键。仅当未定义Hostname时生效。
不支持UserParameters、性能计数器或别名,但无论AllowKey/DenyKey设置如何均支持system.run[]
另见主机名参数
Include no 可在配置文件(默认位于C:\Program Files\Zabbix Agent,若通过Windows MSI安装包安装;若以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日志文件名。
LogFileSize no 0-1024 1 日志文件最大大小(MB)。
0 - 禁用自动日志轮转。
注意:当日志文件大小达到限制且轮转失败时,现有日志文件将被截断并重新开始记录。
LogType no file 日志输出类型:
file - 写入LogFile参数指定的文件
system - 写入Windows事件日志
console - 输出到标准输出
自Zabbix 3.0.0版本起支持。
LogRemoteCommands no 0 启用执行的shell命令日志记录为警告。
0 - 禁用
1 - 启用
MaxLinesPerSecond no 1-1000 20 agent每秒向Zabbix server或proxy发送处理'log'、'logrt'和'eventlog'主动检查的新行数上限。
该值会被'log'、'logrt'或'eventlog' 监控项键中的'maxlines'参数覆盖。
注意:Zabbix会处理MaxLinesPerSecond设置值10倍的新行数以查找日志监控项中的目标string。
PerfCounter no 定义新参数<parameter_name>作为系统性能计数器<perf_counter_path>在指定时间段<period>(秒)内的平均值。
语法:<parameter_name>,"<perf_counter_path>",<period>
例如要获取处理器过去60秒每秒中断次数的平均值,可定义新参数"interrupts":
PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60
注意性能计数器路径需用双引号包裹。
创建监控项时,参数名(interrupts)将作为监控项键使用。
采样计算每秒进行一次。
可运行"typeperf -qx"获取Windows所有可用性能计数器列表。
PerfCounterEn no 定义新参数<parameter_name>作为系统性能计数器<perf_counter_path>在指定时间段<period>(秒)内的平均值(仅限英文路径)。
语法:<parameter_name>,"<perf_counter_path>",<period>
仅支持Windows Server 2008/Vista及以上系统。
例如要获取处理器过去60秒每秒中断次数的平均值:
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 逗号分隔的Zabbix servers IP地址列表(支持CIDR表示法)或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地址或集群配置。
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 单次处理最大耗时(秒)。
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证书链的文件完整路径,用于对等证书验证。
自Zabbix 3.0.0版本起支持。
TLSCertFile no 包含用于与Zabbix组件加密通信的agent证书或证书链的文件完整路径。
自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 包含已吊销证书列表的文件完整路径,用于与Zabbix组件的加密通信。
自Zabbix 3.0.0版本起支持。
TLSKeyFile no 包含用于与Zabbix组件加密通信的agent私钥的文件完整路径。
自Zabbix 3.0.0版本起支持。
TLSPSKFile no 包含用于与Zabbix组件加密通信的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。