本节列出了 Zabbix agent 配置文件(zabbix_agentd.conf)支持的参数。
注意:
参数 | 必填 | 范围 | 默认值 | 描述 |
---|---|---|---|---|
Alias | 否 | 为监控项键值设置别名。可以使用更简短和简单的别名替代长且复杂的监控项键值。 可以存在多个 Alias 参数。不允许有相同的 Alias 键的多个参数。 不同的 Alias 键可以引用相同的监控项键值。 别名可以在 HostMetadataItem 中使用,但不能在 HostnameItem 或 PerfCounter 参数中使用。 示例: 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. 运行多个 低级发现 规则处理相同的发现项。 Alias=vfs.fs.discovery[*]:vfs.fs.discovery 现在可以使用 vfs.fs.discovery 设置多个发现规则,每个规则使用不同的参数,例如 vfs.fs.discovery[foo],vfs.fs.discovery[bar] 等。 |
||
AllowKey | 否 | 允许执行匹配特定模式的监控项键。键模式是一个支持 "*" 字符的通配符表达式,用于匹配任意数量的任意字符。 可以与 DenyKey 结合定义多个键匹配规则。参数将根据它们出现的顺序逐个处理。 此参数自 Zabbix 5.0.0 起支持。 另请参阅:限制 agent 检查。 |
||
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 起支持。 另请参阅:限制 agent 检查。 |
||
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 将记录一条警告消息。 无论 AllowKey/DenyKey 的值如何,都支持 system.run[] 项目。 如果未定义 HostInterface,则仅使用此选项。 自 Zabbix 4.4.0 起支持。 |
||
HostMetadata | 否 | 0-255 字符 | 主动 agent 的自动注册过程中使用的主机元数据的可选参数。 如果未定义,则从 HostMetadataItem 获取值。 如果指定的值超出限制或不是 UTF-8 字符串,agent 将发出错误并不启动。 |
|
HostMetadataItem | 否 | 定义一个用于获取主机元数据的 Zabbix agent 监控项的可选参数。此选项仅在未定义 HostMetadata 时使用。 支持 UserParameters、性能计数器和别名。无论 EnableRemoteCommands 的值如何,都支持 system.run[]。 每次自动注册尝试时都会检索 HostMetadataItem 的值,并且仅在主动 agent 的自动注册过程中使用。 在自动注册请求期间,如果指定的项目返回的值超过 255 个字符的限制,agent 将记录一条警告消息。 项目返回的值必须是 UTF-8 字符串,否则将被忽略。 |
||
Hostname | 否 | Set by HostnameItem | 主机名列表,由逗号分隔,唯一且大小写敏感。 对于主动检查是必需的,并且必须与服务器上配置的主机名匹配。如果未定义,则从HostnameItem获取值。 允许的字符:字母数字、'.'、' '、'_' 和 '-'。 最大长度:每个主机名128个字符,整行为2048个字符。 |
|
HostnameItem | 否 | system.hostname | 定义一个 Zabbix agent 监控项,用于获取主机名的可选参数。当 Hostname 未定义时,此选项才会使用。 不支持 UserParameters、性能计数器或别名,但无论 EnableRemoteCommands 的值如何,都支持 system.run[]。 另请参阅 更详细的描述。 |
|
Include | 否 | 您可以在配置文件中包含单个文件或目录中的所有文件(默认位于 C:\Program Files\Zabbix Agent ,如果使用 Windows MSI 安装包安装 Zabbix agent;位于安装时指定的文件夹中,如果 Zabbix agent 作为 zip 归档安装)。所有包含的文件必须有正确的语法,否则 agent 将无法启动。要仅在指定目录中包含相关文件,支持使用星号通配符进行模式匹配。例如: C:\Program Files\Zabbix Agent\zabbix_agentd.d\*.conf 。另请参阅 特殊说明 关于限制。 |
||
ListenBacklog | 否 | 0 - INT_MAX | SOMAXCONN | TCP队列中挂起连接的最大数量。 默认值是一个硬编码常量,这取决于系统。 支持的最大值也取决于系统,过高的值可能会被静默截断为“实现指定的最大值”。 |
ListenIP | 否 | 0.0.0.0 | agent 应该监听的由逗号分隔的IP地址列表。 | |
ListenPort | 否 | 1024-32767 | 10050 | agent 将在该端口上监听来自服务器的连接。 |
LogFile | 是,如果LogType设置为file,否则 否 |
C:_agentd.log | agent 日志文件的名称。如果LogType设置为文件类型,则必须指定;否则,可以不指定。 | |
LogFileSize | 否 | 0-1024 | 1 | 日志文件的最大大小(MB)。 0 - 禁用自动日志轮转。 注意:如果日志文件大小达到限制并且文件轮转失败,无论出于何种原因,现有的日志文件将被截断并重新开始。 |
LogType | 否 | file | 日志输出类型: file - 将日志写入由 LogFile 参数指定的文件, system - 将日志写入 Windows 事件日志, console - 将日志写入标准输出。 此参数自 Zabbix 3.0.0 起支持。 |
|
LogRemoteCommands | 否 | 0 | 启用将执行的shell命令记录为警告。 0 - 禁用 1 - 启用 |
|
MaxLinesPerSecond | 否 | 1-1000 | 20 | agent 每秒向 Zabbix server 或 proxy 发送的新行的最大数量,用于处理 'log', 'logrt' 和 'eventlog' 主动检查。 如果监控项键值中提供了 'maxlines' 参数,则提供的值将被覆盖。 注意:Zabbix 将处理比 MaxLinesPerSecond 设置多10倍的新行,以在日志监控项中查找所需字符串。 |
PerfCounter | 否 | 定义一个新参数 <parameter_name> ,该参数是系统性能计数器 <perf_counter_path> 在指定时间段 <period> (秒)内的平均值。语法: <parameter_name>,"<perf_counter_path>",<period> 例如,如果您希望获取上一分钟内处理器中断每秒的平均数量,您可以按以下方式定义一个新参数 "interrupts": PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60 请注意性能计数器路径周围的双引号。 参数名称(interrupts)将用作创建监控项时的监控项键。 将每秒采集样本以计算平均值。 您可以运行 "typeperf -qx" 来获取 Windows 中所有可用的性能计数器列表。 |
||
PerfCounterEn | 否 | 定义一个新参数 <parameter_name> ,该参数是系统性能计数器 <perf_counter_path> 在指定时间段 <period> (秒)内的平均值。语法: <parameter_name>,"<perf_counter_path>",<period> 与 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 | 否 | 60-3600 | 120 | 主动检查列表多久刷新一次,单位为秒。 注意,如果在刷新主动检查失败后,下一次刷新将在60秒后尝试。 |
Server | 如果StartAgents没有明确设置为0 | Zabbix server的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 | 否 | (*) | Zabbix server/proxy地址或集群配置,用于获取主动检查。 Server/proxy地址是IP地址或DNS名称,端口号可选,由冒号分隔。 集群配置是一个或多个server地址,由分号分隔。 可以指定多个Zabbix servers/clusters和Zabbix proxies,由逗号分隔。 每个Zabbix server/cluster不应指定多个Zabbix proxy。 如果指定了Zabbix proxy,则不应为该proxy指定Zabbix server/cluster。 可以提供多个逗号分隔的地址,以并行使用几个独立的Zabbix servers。空格是允许的。 如果未指定端口,则使用默认端口。 如果为该主机指定了端口,则必须将IPv6地址用方括号括起来。 如果未指定端口,则IPv6地址的方括号是可选的。 如果未指定此参数,则禁用主动检查。 Zabbix代理示例: 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 | 否 | 用于以下情况的源IP地址: - 出站连接到Zabbix server或Zabbix proxy; - 在执行某些监控项(如web.page.get, net.tcp.port等)时建立连接 |
||
StartAgents | 否 | 0-63 (*) | 3 | 处理被动检查的预先派生的zabbix_agentd实例的数量。 如果设置为0,则禁用被动检查,agent将不会监听任何TCP端口。 |
Timeout | 否 | 1-30 | 3 | 处理时间不超过Timeout秒。 |
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 | 否 | 包含agent私钥的文件的完整路径名,该私钥用于与Zabbix组件的加密通信。 此参数自Zabbix 3.0.0起支持。 |
||
TLSPSKFile | 否 | 包含agent预共享密钥的文件的完整路径名,该密钥用于与Zabbix组件的加密通信。 此参数自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参数,agent命令可以有相对路径。 示例: UserParameter=system.test,who|wc -l UserParameter=check_cpu,./custom_script.sh |
||
UserParameterDir | 否 | UserParameter命令的默认搜索路径。如果使用,agent在执行命令前将工作目录更改为此处指定的目录。这样,UserParameter命令可以有相对的./ 前缀而不是完整路径。只允许一个条目。 示例:UserParameterDir=/opt/myscripts |
(*) ServerActive中列出的活跃服务器数量加上StartAgents中指定的用于被动检查的预先派生实例的数量必须少于64。