Zabbix agent 2 是新一代的 Zabbix agent,可用于替代 Zabbix agent。
本节列出了 Zabbix agent 2 配置文件 (zabbix_agent2.conf) 中 file 支持的参数。
请注意:
参数 | 必选 | 范围 | 默认值 | 描述 | |
---|---|---|---|---|---|
Alias | no | 为监控项键设置alias. 可用于将冗长复杂的监控项键替换为更短更简单的形式. 允许存在多个alias参数. 不允许存在相同alias键的多个参数. 不同的alias键可以引用相同的监控项键. 别名可用于HostMetadataItem参数但不能用于HostnameItem参数. 示例: 1. 从服务器获取分页file使用百分比. 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键get默认参数的CPU负载, 也可以使用cpu.load[percpu,avg15]来getCPU负载的特定数据. 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 | 该时间间隔(秒)决定缓冲区的值多久被发送至Zabbix server。 需注意若缓冲区已满,数据会提前发送。 |
|
BufferSize | no | 2-65535 | 100 | memory缓冲区中值的最大数量。当缓冲区满时,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 - 启用 如果禁用持久化存储,将使用memory缓冲区. |
|
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获取值。 允许字符:字母数字、'.'、' '、'_'和'-'。 最大长度:每个主机名128个字符,整行2048个字符。 |
||
HostnameItem | no | system.hostname | 监控项 用于在未定义主机名时生成主机名。若已定义主机名则忽略此参数。 不支持UserParameters或别名,但无论AllowKey/DenyKey设置如何,均支持system.run[]。 |
||
Include | no | 您可以在配置file中包含单个文件或目录中的所有文件(如果Zabbix agent通过Windows MSI安装包安装,默认位于C:\Program Files\Zabbix Agent 2 ;如果Zabbix agent以zip压缩包形式安装,则位于安装时指定的文件夹)。所有包含的文件必须具有正确的语法,否则agent将无法启动。路径可以是相对于zabbix_agent2.conf file位置的相对路径(例如 Include=.\zabbix_agent2.d\plugins.d\*.conf )。为了仅包含指定目录中的相关文件,支持使用星号通配符进行模式匹配。例如: C:\Program Files\Zabbix Agent2\zabbix_agent2.d\*.conf 。有关限制,请参阅special notes。 |
|||
ListenIP | no | 0.0.0.0 | 逗号分隔的IP地址列表,agent应监听的地址。 首个IP地址会被发送至Zabbix server,当连接到该地址时用于获取主动检查的列表。 |
||
ListenPort | no | 1024-32767 | 10050 | Agent 将在此端口监听来自服务器的连接。 | |
LogFile | yes, if LogType is set to file, otherwise no |
c:\zabbix_agent2.log | 当日志类型为'file'时,指定file日志文件名 | ||
LogFileSize | no | 0-1024 | 1 | 日志file的最大大小(MB)。 0 - 禁用自动日志轮转。 注意:如果日志file大小达到限制且file轮转失败(无论何种原因),现有日志file将被截断并重新开始记录。 |
|
LogType | no | file | 指定日志消息写入位置: file - 由LogFile参数指定的file console - 标准输出。 |
||
PersistentBufferFile | no | file 参数,用于指定Zabbix Agent2应保留SQLite数据库的位置。 必须为完整文件名。 仅当启用持久缓冲区时使用此参数(EnablePersistentBuffer=1)。 |
|||
PersistentBufferPeriod | no | 1m-365d | 1h | 当与server 或 proxy无连接时,数据应存储的时间段。旧数据将被丢弃。日志数据将被保留。 此参数仅在启用持久缓冲区时生效(EnablePersistentBuffer=1)。 |
|
Plugins | no | 自Zabbix 6.0.0起,大多数插件都拥有各自的configuration files。agent配置file包含以下列出的插件参数。 | |||
Plugins.Log.MaxLinesPerSecond | no | 1-1000 | 20 | 当处理'日志'和'eventlog'主动检查时,agent每秒向Zabbix server或proxy发送的新行最大数量。 提供的值将被'日志'或'eventlog' 监控项键中的'maxlines'参数覆盖。 注意: Zabbix将处理比MaxLinesPerSecond设置多10倍的新行,以在日志监控项中查找所需的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)将作为创建监控项时使用的监控项键。 系统将每秒采集一次样本用于计算平均值。 您可run命令"typeperf -qx"来getWindows中所有可用性能计数器的列表。 |
|||
PerfCounterEn | no | 定义一个新参数<parameter_name>,用于表示系统性能计数器<perf_counter_path>在指定时间段<period>(以秒为单位)内的平均值。 语法:<parameter_name>,"<perf_counter_path>",<period> 与PerfCounter相比,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地址或集群配置,用于get主动检查的来源。 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:<端口>/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 | 包含对等证书验证所需的file级Top CA证书的完整路径名,用于Zabbix组件之间的加密通信。 | |||
TLSCertFile | no | 包含用于与Zabbix组件加密通信的agent证书或证书链的file完整路径名。 | |||
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和证书连接 |
|||
TLSCRLFile | no | 包含已吊销证书的file完整路径名。该参数用于与Zabbix组件进行加密通信。 | |||
TLSKeyFile | no | 包含用于与Zabbix组件进行加密通信的agent私钥的file完整路径名。 | |||
TLSPSKFile | no | 包含用于与Zabbix组件进行加密通信的file agent预共享密钥的完整路径名。 | |||
TLSPSKIdentity | no | 预共享密钥标识 string, 用于与 Zabbix server 进行加密通信. | |||
TLSServerCertIssuer | no | 允许的服务器(proxy)证书颁发机构。 | |||
TLSServerCertSubject | no | 允许的服务器(proxy)证书主题。 | |||
UnsafeUserParameters | no | 0,1 | 0 | 允许所有字符作为参数传递给用户自定义参数。 以下字符不允许使用: \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > \ |
|
UserParameter | no | 用于监控的用户自定义参数。可以存在多个用户自定义参数。 格式: UserParameter=<键值>,<shell命令> 注意shell命令不能返回空string或仅包含EOL。 如果指定了UserParameterDir参数,shell命令可以使用相对路径。 示例: UserParameter=system.test,dir /b \ |
|||
UserParameterDir | no | UserParameter命令的默认搜索路径。如果使用此参数,agent将在执行命令前将其工作目录更改为此处指定的目录。因此,UserParameter命令可以使用相对路径./ 前缀而非完整路径。仅允许一个条目。 示例:UserParameterDir=C: |