Zabbix agent 2 是新一代的 Zabbix agent,可用于替代 Zabbix agent。
本节列出了 Zabbix agent 2 配置文件 (zabbix_agent2.conf) 中支持的参数。
注意事项:
参数 | 必选 | 范围 | 默认值 | 描述 | |
---|---|---|---|---|---|
Alias | no | 为监控项键设置alias。可用于将冗长复杂的监控项键替换为更短更简单的键。 可配置多个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[foo]、vfs.fs.discovery[bar]等)设置多个发现规则。 |
|||
AllowKey | no | 允许执行匹配模式的监控项键。键模式是支持"*"通配符的表达式。 可与DenyKey组合定义多个键匹配规则。参数按出现顺序逐个处理。 该参数自Zabbix 5.0.0起支持。 另见:Restricting agent checks。 |
|||
BufferSend | no | 1-3600 | 5 | 缓冲区数据发送至Zabbix server的时间间隔(秒)。 注意:若缓冲区满,数据会提前发送。 |
|
BufferSize | no | 2-65535 | 100 | 内存缓冲区的最大值数量。agent会在缓冲区满时将数据发送至Zabbix server或proxy。 仅当持久化缓冲区禁用时使用(EnablePersistentBuffer=0)。 |
|
ControlSocket | no | \\.\pipe\agent.sock | 控制套接字路径,用于通过'-R'选项发送运行时命令。 | ||
DebugLevel | no | 0-5 | 3 | 指定调试级别: 0 - Zabbix进程启停基本信息 1 - 关键信息 2 - 错误信息 3 - 警告信息 4 - 调试信息(大量输出) 5 - 扩展调试(更详细输出) |
|
DenyKey | no | 拒绝执行匹配模式的监控项键。键模式是支持"*"通配符的表达式。 可与AllowKey组合定义多个键匹配规则。参数按出现顺序逐个处理。 该参数自Zabbix 5.0.0起支持。 另见:Restricting agent checks。 |
|||
EnablePersistentBuffer | no | 0-1 | 0 | 启用主动监控项的本地持久化存储。 0 - 禁用 1 - 启用 若禁用持久化存储,将使用内存缓冲区。 |
|
ForceActiveChecksOnStart | no | 0-1 | 0 | 重启后立即对首次接收的配置执行主动检查。 0 - 禁用 1 - 启用 也可作为插件配置参数,例如: Plugins.Uptime.System.ForceActiveChecksOnStart=1 自Zabbix 6.0.2起支持。 |
|
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 | 定义主机元数据的可选参数。主机元数据用于主机自动注册过程。 若指定值超限或包含非UTF-8 string,agent将问题错误且不启动。 未定义时从HostMetadataItem获取值。 |
||
HostMetadataItem | no | 定义用于获取主机元数据的监控项的可选参数。每次自动注册尝试时获取主机元数据监控项值。 自动注册请求时,若指定监控项返回值超过255字符限制,agent会记录警告。 仅当HostMetadata未定义时使用此选项。 支持UserParameters和别名。无论AllowKey/DenyKey值如何,均支持system.run[]。 监控项返回值必须是UTF-8 string,否则将被忽略。 |
|||
Hostname | no | 由HostnameItem设置 | 逗号分隔的唯一主机名列表(区分大小写)。 主动检查必需,且必须与服务器配置的主机名匹配。未定义时从HostnameItem获取值。 允许字符:字母数字、'.'、' '、'_'和'-'。 最大长度:每个主机名128字符,整行2048字符。 |
||
HostnameItem | no | system.hostname | 用于生成未定义Hostname的监控项。若Hostname已定义则忽略。 不支持UserParameters或别名,但无论AllowKey/DenyKey值如何,均支持system.run[]。 |
||
Include | no | 可在配置文件(默认位于C:\Program Files\Zabbix Agent 2 ,若Zabbix agent通过Windows MSI安装包安装;若以zip压缩包安装则位于安装时指定的文件夹)中包含单个文件或目录下所有文件。所有包含文件必须语法正确,否则agent不会启动。 路径可相对于zabbix_agent2.conf文件位置(如 Include=.\zabbix_agent2.d\plugins.d\*.conf )。为仅包含指定目录的相关文件,支持通配符*进行模式匹配。例如: C:\Program Files\Zabbix Agent2\zabbix_agent2.d\*.conf 。关于限制见special notes。 |
|||
ListenIP | no | 0.0.0.0 | agent监听的IP地址列表。 首个IP地址会发送至Zabbix server用于获取主动检查列表(若连接成功)。 |
||
ListenPort | no | 1024-32767 | 10050 | Agent监听此端口以接受服务器连接。 | |
LogFile | yes, if LogType is set to file, otherwise no |
c:\zabbix_agent2.log | LogType为'file'时的日志文件名。 | ||
LogFileSize | no | 0-1024 | 1 | 日志文件最大大小(MB)。 0 - 禁用自动日志轮转。 注意:若日志文件大小达限且轮转失败,无论何原因,现有日志文件将被截断并重新开始。 |
|
LogType | no | file | 指定日志消息写入位置: file - LogFile参数指定的文件 console - 标准输出 |
||
PersistentBufferFile | no | Zabbix Agent2保存SQLite数据库的文件。 必须为完整文件名。 仅当持久化缓冲区启用时使用(EnablePersistentBuffer=1)。 |
|||
PersistentBufferPeriod | no | 1m-365d | 1h | 无连接至server 或 proxy时应保留数据的时间段。旧数据将丢失。日志数据会保留。 仅当持久化缓冲区启用时使用(EnablePersistentBuffer=1)。 |
|
Plugins | no | 自Zabbix 6.0.0起,多数插件拥有自己的configuration files。agent配置文件包含以下插件参数。 | |||
Plugins.Log.MaxLinesPerSecond | no | 1-1000 | 20 | 处理'log'和'eventlog'主动检查时,agent每秒发送至Zabbix server或proxy的最大新行数。 该值会被'log'或'eventlog' 监控项键中的'maxlines'参数覆盖。 注意:Zabbix会处理10倍于MaxLinesPerSecond设置的新行数以查找日志监控项中的目标string。 该参数自4.4.2起支持,替代MaxLinesPerSecond。 |
|
Plugins.SystemRun.LogRemoteCommands | no | 0 | 启用以警告级别记录执行的shell命令。 0 - 禁用 1 - 启用 仅远程执行时记录命令。若system.run[]由HostMetadataItem、HostInterfaceItem或HostnameItem参数本地启动,则不创建日志条目。 该参数自4.4.2起支持,替代LogRemoteCommands。 |
||
PluginSocket | no | \\..plugin.sock | 可加载插件通信的Unix套接字路径。 | ||
PluginTimeout | no | 1-30 | 全局超时 | 可加载插件连接超时时间。 | |
PerfCounter | no | 定义新参数<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 | no | 定义新参数<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 获取英文字符串列表。 |
|||
RefreshActiveChecks | no | 60-3600 | 120 | 主动检查列表刷新频率(秒)。 注意:若刷新失败,下次尝试将在60秒后进行。 |
|
Server | yes | 逗号分隔的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地址。 示例: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等)时的连接 |
|||
StatusPort | no | 1024-32767 | 若设置,agent将监听此端口以响应HTTP状态请求(http://localhost:<port>/status)。 | ||
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和证书的连接 |
|||
TLSCAFile | no | 包含对等证书验证的{a4ffdcf0}级CA证书链的完整路径,用于Zabbix组件间加密通信。 | |||
TLSCertFile | no | 包含{b33aed8f}证书或证书链的完整路径,用于与Zabbix组件的加密通信。 | |||
TLSConnect | yes, if TLS certificate or PSK parameters are defined (even for unencrypted connection), otherwise no | {b33aed8f}应如何连接至{fd0690ce}或{431387eb}。用于主动检查。仅可指定一个值: unencrypted - 不加密连接(默认) psk - 使用TLS和预共享密钥(PSK)连接 cert - 使用TLS和证书连接 |
|||
TLSCRLFile | no | 包含已吊销证书的完整路径。用于与Zabbix组件的加密通信。 | |||
TLSKeyFile | no | 包含{b33aed8f}私钥的完整路径,用于与Zabbix组件的加密通信。 | |||
TLSPSKFile | no | 包含{b33aed8f}预共享密钥的完整路径,用于与Zabbix组件的加密通信。 | |||
TLSPSKIdentity | no | 预共享密钥标识{b45cffe0},用于与{fd0690ce}的加密通信。 | |||
TLSServerCertIssuer | no | 允许的服务器({431387eb})证书颁发者。 | |||
TLSServerCertSubject | no | 允许的服务器({431387eb})证书主题。 | |||
UnsafeUserParameters | no | 0,1 | 0 | 允许在用户定义参数中传递所有字符。 以下字符不允许: \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > \ |
|
UserParameter | no | 用户定义的监控参数。可定义多个用户参数。 格式:UserParameter=<键>,<shell命令> 注意shell命令不得返回空{b45cffe0}或仅EOL。 若指定UserParameterDir参数,shell命令可使用相对路径。 示例: UserParameter=system.test,dir /b \ |
|||
UserParameterDir | no | UserParameter命令的默认搜索路径。若使用,{b33aed8f}在执行命令前会将工作目录切换至此。 因此,UserParameter命令可使用相对路径 ./ 前缀而非完整路径。仅允许一个条目。 示例:UserParameterDir=C: |