2022 Zabbix中国峰会
2022 Zabbix中国峰会
Table of Contents

4 Zabbix agent (Windows)

The default values reflect daemon defaults, not the values in the shipped configuration files.

The parameters supported in a Zabbix agent (Windows) configuration file:

Parameter Mandatory Range Default Description
Alias no 设置Item key的别名. 用短的、简单的词来替换长的,复杂的item key.
可以存在多个 别名 参数. 而且也允许多个参数使用一个 别名 .
不同的别名 也可以指向同一个 item key.
别名可以用于HostMetadataItem 但不能用在 HostnameItemPerfCounter 参数中.

例如:

1. 检索服务器虚拟内存使用率.
Alias=pg_usage:perf_counter[\Paging File(_Total)\% Usage]
简写的key pg_usage 可以用来检索数据.

2. 使用默认参数和g自定义参数得到 CPU 负载.
Alias=cpu.load:system.cpu.load
Alias=cpu.load[*]:system.cpu.load[*]
使用 cpu.load key 可以得到默认情况下 CPU使用率 , 等同于使用g指定参数的cpu.load[percpu,avg15] 来得到CPU负载.

3. 允许多个 低级别发现 规则 处理同一个发现项.
Alias=vfs.fs.discovery[*]:vfs.fs.discovery
使用 vfs.fs.discovery即可启动不同参数如 vfs.fs.discovery[foo],vfs.fs.discovery[bar],等的发现规则.
BufferSend no 1-3600 5 缓存区保存数据的最长时间(单位s).
BufferSize no 2-65535 100 数据缓存区大小. 如果缓存区满,agent会发送
所有采集到的数据给 Zabbix server 或者 proxy .
DebugLevel no 0-5 3 指定调试等级:
0 - Zabxxi进程起停的基本信息
1 - 重要信息
2 - 错误信息
3 - 警告
4 - 调试 (产生大量信息)
5 - 扩展调试 (产生更多信息)
EnableRemoteCommands no 0 是否允许server远程执行命令.
0 - 禁止
1 - 允许
HostMetadata no 0-255 characters 可选参数用来定义主机元数据,只有主机自动注册时才用到主机元数据。
如果没有定义,该值通过 HostMetadataItem 获得。\\如果指定的值超过限制或者不是UTF-8编码的字符串, agent 会给出一个错误或者不启动。
2.2.0 或更高版本支持该参数。
HostMetadataItem no 可选参数定义 Zabbix agent 监控项, 用来得到主机元数据。 HostMetadata没有定义时,使用该参数。
支持 用户自定义参数, 性能计数器和别名。支持 system.run[]EnableRemoteCommands 值对该参数没有影响。\\只有主机自动注册时才用到主机元数据。
在一个自动注册请求过程中,如果返回值超过255个字符,agent 会记录一条警告信息。
监控项返回值必须为 UTF-8的字符串, 否则会忽略 。
2.2.0 或更高版本支持该参数。
Hostname no Set by HostnameItem 唯一的, 区分大小写的.
主动检查时该配置项必填,并且必须和server端的配置匹配.
允许的符号: 字母数字, '.', ' ', '_' 和 '-'.
最大长度: 64
HostnameItem no system.hostname 可选参数, 定义一个 Zabbix agent 来自动获取主机名字。Hostname参数未设置时,该参数设置生效。
不支持用户自定义参数、计数器和别名,但支持 system.run[] (与EnableRemoteCommands值无关) .
Zabbix 1.8.6或更高版本都支持该参数. \\也可参考 更多详细描述.
Include no 可以在配置文件中指定单个文件或者指定一个目录(所有文件在该目录中)
只有在指定的目录中包含相关文件, 才可以使用正则匹配的通配符。 例如: /absolute/path/to/config/files/*.conf. Zabbix 2.4.0后都支持模式匹配。\\参看关于限制条件特例.
ListenIP no 0.0.0.0 监听Ip地址列表,多个Ip以分号隔开.
Zabbix 1.8.3后支持多Ip.
ListenPort no 1024-32767 10050 监听端口.
LogFile yes, if LogType is set to file, otherwise
no
日志文件名称.
LogFileSize no 0-1024 1 日志文件大小,单位 MB.
0 - 禁止日志文件自动回滚.
注意: 如果日志文件达到限定的大小,文件回滚失败, 不管是什么原因, 现有的日志会被截断,并重新记录日志..
LogType no file 日志输出类型:
file - 写入LogFile 参数指定的日志文件中,
system - 写入Windows事件日志 ,
console - 控制台输出.
Zabbix 3.0.0后支持该参数.
LogRemoteCommands no 0 允许执行远程命令记录日志.
0 - 禁止
1 - 允许
MaxLinesPerSecond no 1-1000 20 每秒向server发送数据的最大行数,
或者proxy进程'log', 'logrt' 和'eventlog' 主动检查。
该参数值会被监控项'log', 'logrt' 或 'eventlog' 中的 'maxlines'参数覆盖。
PerfCounter no 语法: <parameter_name>,"<perf_counter_path>",<period>
定义新的参数: <parameter_name>系统性能计数器的均值 ,<perf_counter_path> 指定时间段, <period> (单位秒).
例如,如果你想得到上一分钟处理器平均每秒中断次数 ,可以定义一个新的参数 "interrupts" ,像下面这样:
PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60
请注意性能计数器路径用双引号引住.
创建监控项的时候,参数名称(interrupts) 就可以用作监控项的key。
用于计算均值的样本,每秒取一次。
可以运行 "typeperf -qx" 命令来得到在Windows中所有可用的性能计数器列表。
RefreshActiveChecks no 60-3600 120 主动检查频率, 单位秒.
如果更新失败,60s后会尝试第二次更新。
Server no IP地址列表,以逗号分割,可选server的CIDR标记或者主机名。
只接受来自该列表的连接.
如果支持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.domain
Zabbix 2.2 以后支持空格。
ServerActive no (*) server 或 proxy 主动检查的IP:端口(或主机名:端口)。
可以使用多个并行的server端,此时用逗号分割, 不允许有空格。
如果不指定端口,就使用默认的端口号。
如果指定该主机的端口,IPv6地址必须被括在方括号中。
如果没有指定端口,则IPv6地址的方括号是可选的。
如果未指定该参数,主动检查不可用。
SourceIP no 对外连接的源IP地址.
StartAgents no 0-63 (*) 3 被动检查的zabbix_agentd子进程数量。
如果设为0,被动检查不可用并且agent不会监听任何TCP 端口。
1.8.5前版本最大数为16。
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 包含用于对等证书验证的顶级CA证书的文件的完整路径名, 用于加密Zabbix各组件间的通信。
Zabbix 3.0.0后支持该参数。
TLSCertFile no 包含证书(证书链)的文件的完整路径名, 用于加密Zabbix各组件间的通信。
Zabbix 3.0.0后支持该参数。
TLSConnect yes, if TLS certificate or PSK parameters are defined (even for unencrypted connection), otherwise no agent 连接server或proxy的方式, 用于主动检查。 只能指定一个值:
unencrypted - 连接不加密 (默认)
psk - 连接加密方式为TLS和预共享密钥(PSK)
cert - 连接加密方式为 TLS 和 证书
TZabbix 3.0.0后支持该参数。
TLSCRLFile no 包含证书吊销的文件的完整路径名, 用于加密Zabbix各组件间的通信。
Zabbix 3.0.0后支持该参数。
TLSKeyFile no 包含私钥的文件的完整路径名。
Zabbix 3.0.0后支持该参数
TLSPSKFile no 包含agent预共享key的文件的完整路径名,用于加密Zabbix各组件间的通信。
Zabbix 3.0.0后支持该参数 。
TLSPSKIdentity no 预共享密钥身份字符串, 用于加密和server间的通信。
Zabbix 3.0.0后支持该参数。
TLSServerCertIssuer no 允许的服务器证书发行者。
Zabbix 3.0.0后支持该参数
TLSServerCertSubject no 允许的服务器证书主体。
Zabbix 3.0.0后支持该参数
UnsafeUserParameters no 0-1 0 允许用户自定义参数中传递所有字符.
0 - 禁止
1 - 允许
禁止下面字符:
\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
另外, 不允许换行符.
UserParameter 用户自定义监控参数,可以有多个。
格式: UserParameter=<key>,<shell command>
注意 shell命令一定不能只返回空的字符串或者EOL 。
例子: UserParameter=system.test,echo 1

(*) ServerActive 中的服务器数量加上StartAgents 中指定的数量不能大于64.

在Zabbix agent 2.0.0 关于主动和被动的配置参数已经改变。
更多详细信息请查看本页底部的"参见" 部分。

Zabbix 的配置文件都是无BOM的utf8编码的。

注释只能在每行以 "#" 开头。

参见

  1. Zabbix2.0.0版本后,Zabbix agent 主动和被动配置的区别