5 Zabbix agent (Windows)
概述
本节列出了Zabbix agent (Windows) 配置文件 (zabbix_agentd.conf) 中支持的参数。注意:
- 默认值反映的是进程默认值,而不是出厂配置文件中的值;
- Zabbix仅支持无 BOM 的UTF-8编码配置文件;
- 支持注释须以 “#” 为行首。
参数
参数名 | 必选项 | 范围 | 默认值 | 描述 |
---|---|---|---|---|
Alias | 否 | 设置监控项键值的别名。可以用一个更短更简单代替长而复杂的监控项键值。 可能存在多个 Alias 参数。多个参数允许使用相同的 Alias 。 不同 Alias 可能引用相同的监控项键值。 别名可以在 HostMetadataItem 使用, 但不能在 HostnameItem 或 PerfCounter 参数中使用。 示例: 1. 检索服务器页面文件使用率。 Alias=pgusage:perf_counter[\Paging 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. 运行多个 自动发现 规则处理相同的发现项。 Alias=vfs.fs.discovery[]:vfs.fs.discovery 可使用 vfs.fs.discovery 为每个规则设置多个具有不同参数的发现规则, 如 vfs.fs.discovery[foo], vfs.fs.discovery[bar], 等。 | ||
AllowKey | 否 | 允许执行模式匹配到的监控项键值。键值匹配模式支持通配字符“”用于匹配任意数量的任何字符。 可以结合DenyKey定义多个键值的匹配规则。根据其出现顺序对参数进行逐一处理。 从Zabbix 5.0.0开始支持此参数。 参阅: Restricting agent checks. | ||
BufferSend | 否 | 1-3600 | 5 | 不保存缓存中超过N秒的数据。 |
BufferSize | 否 | 2-65535 | 100 | 内存缓冲区中的最大容量。 如果缓冲区已满,则agent会将所有收集的数据发送到Zabbix server或proxy。 |
DebugLevel | 否 | 0-5 | 3 | 指定调试级别: 0 - 有关启动和停止Zabbix进程的基本信息 1 - 关键信息 2 - 错误信息 3 - 警告 4 - 用于调试(产生大量信息) 5 - 扩展调试(产生更多信息) |
DenyKey | 否 | 拒绝执行与模式匹配的那些监控项键值。键值匹配模式是支持通配字符”“用于匹配任意数量的任何字符。 可以结合AllowKey定义多个键值的匹配规则。根据其出现顺序对参数进行逐一处理。 从Zabbix 5.0.0开始支持此参数。 参考:Restricting agent checks. | ||
EnableRemoteCommands | 否 | 0 | Zabbix server允许的远程命令。此参数已被 弃用,使用 AllowKey=system.run[] 或 DenyKey=system.run[] 替代 根据数值指定内部替换 AllowKey/DenyKey 参数: 0 - DenyKey=system.run[] 1 - AllowKey=system.run[*]. | |
HostInterface | 否 | 0-255 字符 | 可选参数用于指定主机接口。 主机接口用于主机自动注册过程。 如果值超过255个字符的限制,agent将发出错误并且不会启动。 如果未定义,将从HostInterfaceItem获取值。 自Zabbix 4.4.0起支持。 | |
HostInterfaceItem | 否 | 可选参数用于定义用于获取主机接口的监控项。 主机接口用于主机自动注册过程。 在自动注册请求期间,如果指定项返回的值超过255个字符的限制,则agent将记录一条警告消息。 仅当未定义HostInterface时才使用此选项。 自Zabbix 4.4.0起支持。 | ||
HostMetadata | no | 0-255 字符 | 可选参数用于指定主机元数据。主机元数据用于(主动agent)主机自动注册过程。 如果未定义,将从HostMetadataItem获取该值。 如果指定的值超出限制或非UTF-8字符串,则agent将发出错误,并且不会启动。 | |
HostMetadataItem | 否 | 可选参数用于定义 Zabbix agent 获取主机元数据的监控项。仅当未定义HostMetadata时才使用此选项。 支持 UserParameters, performance counters 及 aliases. 无论 EnableRemoteCommands 值均支持 system.run[]。 每次在自动注册(主动模式)都会尝试检索HostMetadataItem值。 在自动注册请求期间,如果指定项目返回的值超过 255 个字符的限制,agent将记录一条警告日志。 该监控项返回的值必须是UTF-8字符串,否则将被忽略。 | ||
Hostname | 否 | HostnameItem集合 | 唯一的、区分大小写用逗号分割的主机名列表。 主动检查所必需,并且必须与服务器上配置的主机名匹配。如未指定则从HostnameItem获取。 允许的字符:字母, ‘.’, ‘ ‘, ‘‘ and ‘-‘. 最大长度: 主机名128字符, 整行2048字符。 | |
HostnameItem | 否 | system.hostname | 可选参数用于定义获取主机名的 Zabbix agent 监控项,仅当 Hostname未定义时生效。 不支持 UserParameters, performance counters 或 aliases, 但支持 system.run[] 以及 EnableRemoteCommands 值. 最大输出限制为 512KB. 参见 more detailed description. | |
Include | 否 | 可以在配置文件的目录中包括单个文件或所有文件。 要仅在指定目录中包含相关文件,模式匹配支持使用星号通配符。示例: /absolute/path/to/config/files/.conf .参见 特别说明 中限制部分。 | ||
ListenBacklog | 否 | 0 - INT_MAX | SOMAXCONN | TCP队列中待处理的连接最大数量。 默认值是硬编码常量,取决于系统。 支持的最大值取决于系统,过高的值时可能会被调整为能够‘支持的最大值’。 |
ListenIP | 否 | 0.0.0.0 | agent 监听的点分十进制表示的IP地址。 | |
ListenPort | 否 | 1024-32767 | 10050 | Agent 将监听此端口上来自server的连接。 |
LogFile | 是, 如 LogType 设置为 file, 其他 否 | C:\zabbix_agentd.log | agent的日志文件名 | |
LogFileSize | 否 | 0-1024 | 1 | 日志文件的最大容量,以MB为单位。 0 - 禁用自动日志轮换。 注意: 如果达到了日志文件大小限制并且文件轮换失败,则无论出于何种原因,现有的日志文件都会被截断并重新建。 |
LogType | 否 | file | 指定日志消息写入的位置: system - syslog, file - LogFile参数指定的文件, console - 标准输出 此参数从Zabbix 3.0.0支持 | |
LogRemoteCommands | 否 | 0 | 记录执行远程命令的告警日志。 0 - 禁止 1 - 启用 | |
MaxLinesPerSecond | 否 | 1-1000 | 20 | agent每秒发送给Zabbix server或proxy的最大新行数。 或proxy 处理 ‘log’, ‘logrt’ and ‘eventlog’ 主动检查的行数 提供在 ‘log’, ‘logrt’ or ‘eventlog’ 监控项键值将覆盖 ‘maxlines’ 参数值。 注意: Zabbix处理的新行比在 MaxLinesPerSecond 中设置的新行多10倍,以便在日志项中查找所需的字符串。 |
PerfCounter | 否 | 定义新参数<parameter_name> 用于指定时间内<period> (一秒内)系统性能计数器 <perf_counter_path> 的平均值。 语法: <parameter_name>,”<perf_counter_path>”,<period> 示例, 如想接收最近一分钟内平均处理器中断数,可定义参数 “interrupts”如下: PerfCounter = interrupts,”\Processor(0)\Interrupts/sec”,60 请注意性能计数器路径周围使用双引号。 在创建监控项时,参数名(中断) 将作为监控项键。 每秒采样一次用于计算平均值。 可通过 “typeperf -qx” 获取Windows中可用的性能计数器列表。 | ||
PerfCounterEn | 否 | 定义新参数<parameter_name> 用于指定时间内<period> (一秒内)系统性能计数器 <perf_counter_path> 的平均值。 语法: <parameter_name>,”<perf_counter_path>”,<period> 与PerfCounter相比, perfcounter path 必须为英文。 仅在Windows Server 2008/Vista 及之后版本支持 例如, 如想接收最近一分钟内每秒的平均处理器中断数,可定义参数“interrupts”,如下所示: PerfCounterEn = interrupts,”\Processor(0)\Interrupts/sec”,60 请注意性能计数器路径周围使用双引号。 在创建监控项时,参数名(中断) 将作为监控项键。 每秒采样一次用于计算平均值。 可以通过查看以下注册表项找到英文字符串列表: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009 .此参数仅支持Zabbix 4.0.13 至 4.2.7。 | ||
RefreshActiveChecks | 否 | 60-3600 | 120 | 刷新主动检查列表的频率(以秒为单位)。 请注意,刷新主动检查失败后,将在60秒后尝试进行下一次刷新。 |
Server | 是, 如 StartAgents没有设置为0 | 点分十进制的IP地址列表,可以选择使用CIDR表示法,或者Zabbix servers和 Zabbix proxies的DNS名称。 仅接受从此处列出的主机传入的连接。 如果启用了IPv6支持,则将 ‘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 允许使用空格。 | ||
ServerActive | 否 | () | 主动检查Zabbix servers和 Zabbix proxies以逗号分隔IP:端口对(或DNS名称:端口对)列表。 集群间须用分号区分 可以提供多个地址来并行使用多个独立的Zabbix servers,允许有空格。 如果未指定端口,则使用默认端口。 如果指定了该主机的端口,则IPv6地址必须用方括号括起来。 如果未指定端口,则IPv6地址的方括号是可选的。 如果未指定此参数,则禁用主动检查。 多server示例: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1] 高可用示例: ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3 以两个集群和一个server为例: ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain | |
SourceIP | 否 | 源IP用于: - 出口连接Zabbix server 或 Zabbix proxy; - 执行部分监控时用的虚拟地址(web.page.get, net.tcp.port, etc.) | ||
StartAgents | 否 | 0-63 () | 3 | 用于执行被动检查的 zabbix_agentd 实例数 如设为 0, 禁止被动检查且agent不监听任何TCP端口。 |
Timeout | 否 | 1-30 | 3 | 处理消耗的最长秒数。 |
TLSAccept | 是, 如果定义了TLS证书或PSK参数(甚至用于 未加密 的连接), 否则为否 | 指定接受哪些传入连接。用于被动检查。可以指定多个,以逗号分隔: unencrypted - 接受不加密的连接(默认) psk - 接受带TLS和预共享密钥(PSK) cert - 接受带TLS和证书的连接 此参数自 Zabbix 3.0.0.支持 | ||
TLSCAFile | 否 | 包含用于对等证书验证的顶级CA证书的文件的完整路径名,用于Zabbix组件之间的加密通信。 此参数自 Zabbix 3.0.0.支持 | ||
TLSCertFile | 否 | 包含agent证书或证书链的文件的完整路径名,用于与Zabbix组件进行加密通信。 此参数自 Zabbix 3.0.0.支持 | ||
TLSConnect | 是,如果定义了TLS证书或PSK参数(甚至用于 未加密 的连接), 否则为否 | agent应如何连接到Zabbix server 或 proxy。用于主动检查。只能指定一个值: unencrypted - 接受不加密的连接(默认) psk - 接受带TLS和预共享密钥(PSK) cert - 接受带TLS和证书的连接 此参数自 Zabbix 3.0.0.支持 | ||
TLSCRLFile | 否 | 包含已撤销证书的文件的完整路径名。此参数用于与Zabbix组件的加密通信。 此参数自 Zabbix 3.0.0.支持 | ||
TLSKeyFile | 否 | 包含用于与Zabbix组件进行加密通信的agent专用密钥的文件的完整路径名。 此参数自 Zabbix 3.0.0.支持 | ||
TLSPSKFile | 否 | 含用于与Zabbix组件进行加密通信的agent预共享密钥的文件的完整路径名。 此参数自 Zabbix 3.0.0.支持 | ||
TLSPSKIdentity | 否 | 预共享密钥标识字符串,用于与Zabbix server进行加密通信。 此参数自 Zabbix 3.0.0.支持 | ||
TLSServerCertIssuer | 否 | 允许的 server (proxy) 证书颁布者. 此参数自 Zabbix 3.0.0.支持 | ||
TLSServerCertSubject | 否 | 允许的 server (proxy) 证书主体 此参数自 Zabbix 3.0.0.支持 | ||
UnsafeUserParameters | 否 | 0-1 | 0 | 允许将所有字符都通过参数传递给用户定义的参数。 0 - 不允许 1 - 允许 不允许使用以下字符: \ ‘ “ ` ? [ ] { } ~ $ ! & ; ( ) < > | # @ 另外,不允许使用换行符。 |
UserParameter | 否 | 用户自定义的监控参数。可以有几个用户定义的参数。 格式: UserParameter=<key>,<shell command> 请注意,shell命令不得返回空字符串或仅返回EOL。 如UserParameterDir参数设定,可使用相对路径 Examples: UserParameter=system.test,who|wc -l UserParameter=check_cpu,./custom_script.sh | ||
UserParameterDir | 否 | 默认搜索用户自定义命令的文件路径。如使用,agent将在执行命令前改变工作目录到指定目录,此外, 可用./ 前缀的相对位置代替绝对路径。仅允许一个目录。 示例: UserParameterDir=/opt/myscripts |
(*) ServerActive中列出的活跃服务器数与StartAgents中被动检查的预分配实例数之和必须小于 64.