Zabbix agent 2 是新一代的 Zabbix agent 并用于替代之前的 Zabbix agent。
本节列出了Zabbix agent 2 配置文件 (zabbix_agent2.conf) 中支持的参数。注意:
参数 | 是否必须 | 范围 | 默认值 | 描述 | |
---|---|---|---|---|---|
Alias | 否 | 设置监控项键的别名。可以用来替代长且复杂的监控项键,使用更简短和简单的别名。 可以存在多个 Alias 参数。不允许有相同 Alias 键的多个参数。 不同的 Alias 键可以引用同一个监控项键。 别名可以在 HostMetadataItem 中使用,但不能在 HostnameItem 参数中使用。 示例: 1. 检索用户 'zabbix' 的 ID。 Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1] 现在可以使用简写键 zabbix.userid 来检索数据。 2. 使用默认和自定义参数获取 CPU 利用率。 Alias=cpu.util:system.cpu.util Alias=cpu.util[*]:system.cpu.util[*] 这允许使用 cpu.util 键以默认参数获取 CPU 利用率百分比,也可以使用 cpu.util[all, idle, 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 | 确定缓冲区向 Zabbix server 发送数据的时间间隔,单位为秒。 请注意,如果缓冲区已满,数据将更早发送。 |
|
BufferSize | 否 | 2-65535 | 100 | 内存缓冲区中值的最大数量。如果缓冲区满了,agent 将把所有收集的数据发送到 Zabbix server 或 proxy。 如果持久缓冲区被禁用(EnablePersistentBuffer=0),则应仅使用此参数。 |
|
ControlSocket | 否 | \\.\pipe\agent.sock | 控制套接字,用于使用 '-R' 选项发送运行时命令。 | ||
DebugLevel | 否 | 0-5 | 3 | 指定调试级别: 0 - 关于启动和停止 Zabbix 进程的基本信息 1 - 严重信息 2 - 错误信息 3 - 警告 4 - 调试(产生大量信息) 5 - 扩展调试(产生更多信息) |
|
DenyKey | 否 | 拒绝执行匹配模式的监控项键。键模式是一个通配符表达式,支持 "*" 字符匹配任意数量的任意字符。 可以与 AllowKey 结合定义多个键匹配规则。参数将根据它们出现的顺序逐个处理。 此参数自 Zabbix 5.0.0 起支持。 另请参阅:限制 agent 检查。 |
|||
EnablePersistentBuffer | 否 | 0-1 | 0 | 启用对主动监控项使用本地持久存储。 0 - 已禁用 1 - 已启用 如果持久存储被禁用,则将使用内存缓冲区。 |
|
ForceActiveChecksOnStart | 否 | 0-1 | 0 | 在重启后立即对接收到的第一个配置执行主动检查。 0 - 已禁用 1 - 已启用 也可作为每个插件配置参数使用,例如: Plugins.Uptime.System.ForceActiveChecksOnStart=1 自 Zabbix 6.0.2 起支持。 |
|
HostInterface | 否 | 0-255 字符 | 定义主机接口的可选参数。 主机接口在主机自动注册过程中使用。 如果值超过 255 字符的限制,agent 将发出错误并不启动。 如果没有定义,值将从 HostInterfaceItem 获取。 自 Zabbix 4.4.0 起支持。 |
||
HostInterfaceItem | 否 | 定义用于获取主机接口的监控项的可选参数。 主机接口在主机自动注册过程中使用。 在自动注册请求期间,如果指定的监控项返回的值超过 255 字符的限制,agent 将记录一条警告消息。 system.run[] 监控项无论 AllowKey/DenyKey 值如何都受支持。 如果 HostInterface 未定义,则仅使用此选项。 自 Zabbix 4.4.0 起支持。 |
|||
HostMetadata | 否 | 0-255 字符 | 定义主机元数据的可选参数。主机元数据用于主机自动注册过程。 如果指定的值超出限制或不是 UTF-8 字符串,agent 将发出错误并不启动。 如果没有定义,将从 HostMetadataItem 获取该值。 |
||
HostMetadataItem | 否 | 定义用于获取主机元数据的监控项的可选参数。每次自动注册尝试时,都会检索主机元数据监控项的值。 在自动注册请求期间,如果指定的监控项返回的值超过 255 字符的限制,agent 将记录一条警告消息。 此选项仅在未定义 HostMetadata 时使用。支持 UserParameters 和别名。无论 EnableRemoteCommands 的值如何,都支持 system.run[]。 监控项返回的值必须是 UTF-8 字符串,否则将被忽略。 |
|||
Hostname | 否 | 由 HostnameItem 设置 | 用逗号分隔的唯一、区分大小写的主机名列表。 主动检查需要这些主机名,并必须与服务器上配置的主机名匹配。如果未定义,则从 HostnameItem 获取值。 允许的字符:字母数字、'.'、' '、'_' 和 '-'。 最大长度:每个主机名 128 个字符,整行 2048 个字符。 |
||
HostnameItem | 否 | system.hostname | 如果未定义 Hostname,则用于生成 Hostname 的监控项。如果已定义 Hostname,则忽略。 不支持 UserParameters 或别名,但如果未定义 EnableRemoteCommands,则支持 system.run[]。 |
||
Include | 否 | 您可以在配置文件中包含单个文件或目录中的所有文件(如果使用 Windows MSI 安装包安装 Zabbix agent,则默认位于 C:\Program Files\Zabbix Agent 2 ;如果以 zip 归档的方式安装 Zabbix agent,则位于安装期间指定的文件夹)。所有包含的文件必须具有正确的语法,否则 agent 将不启动。路径可以是相对于 zabbix_agent2.conf 文件位置的(例如, Include=.\zabbix_agent2.d\plugins.d\*.conf )。为了仅包含指定目录中的相关文件,支持使用星号通配符字符进行模式匹配。例如: C:\Program Files\Zabbix Agent2\zabbix_agent2.d\*.conf 。有关限制,请参见特别说明。 |
|||
ListenIP | 否 | 0.0.0.0 | 逗号分隔的 IP 地址列表,agent 应该侦听这些地址。 如果连接到 Zabbix server,第一个 IP 地址将被发送到它,以检索主动检查的列表。 |
||
ListenPort | 否 | 1024-32767 | 10050 | agent 将在此端口上侦听来自服务器的连接。 | |
LogFile | 是,如果 LogType 设置为 file,否则 否 |
c:_agent2.log | 如果 LogType 是 'file',日志文件的名称。 | ||
LogFileSize | 否 | 0-1024 | 1 | 日志文件的最大大小(MB)。 0 - 禁用自动日志轮转。 注意:如果达到日志文件大小限制,并且由于任何原因日志轮转失败,则现有的日志文件将被截断并重新启动。 |
|
LogType | 否 | file | 指定日志消息写入的位置: file - 由 LogFile 参数指定的文件, console - 标准输出。 |
||
PersistentBufferFile | 否 | 存储 Zabbix Agent2 SQLite 数据库的文件。 必须是完整文件名。 只有启用持久缓冲区(EnablePersistentBuffer=1)时才使用此参数。 |
|||
PersistentBufferPeriod | 否 | 1m-365d | 1h | 当没有连接到 server 或 proxy 时,数据应该存储的时间周期。旧数据将丢失。日志数据将被保留。 只有启用持久缓冲区(EnablePersistentBuffer=1)时才使用此参数。 |
|
Plugins | 否 | 自 Zabbix 6.0.0 起,大多数插件都有自己的 配置文件。agent 配置文件包含下面列出的插件参数。 | |||
Plugins.Log.MaxLinesPerSecond | 否 | 1-1000 | 20 | agent 在处理 'log' 和 'eventlog' 主动检查时,每秒钟发送到 Zabbix server 或 proxy 的新行的最大数量。 如果 'log' 或 'eventlog' 监控项键中提供了 'maxlines' 参数,将覆盖提供的值。 注意:Zabbix 将处理比 MaxLinesPerSecond 设置多 10 倍的新行,以在日志项中查找所需字符串。 此参数自 4.4.2 起支持,并替代了 MaxLinesPerSecond。 |
|
Plugins.SystemRun.LogRemoteCommands | 否 | 0 | 启用将执行的 shell 命令记录为警告。 0 - 禁用 1 - 启用 仅当远程执行时,命令将被记录。如果 system.run[] 由 HostMetadataItem、HostInterfaceItem 或 HostnameItem 参数本地启动,则不会创建日志条目。 此参数自 4.4.2 起支持,并替代了 LogRemoteCommands。 |
||
PluginSocket | 否 | \\..plugin.sock | 用于可加载插件通信的 unix 套接字路径。 | ||
PluginTimeout | 否 | 1-30 | 全局超时 | 与可加载插件连接的超时时间。 | |
RefreshActiveChecks | 否 | 60-3600 | 120 | 主动检查列表刷新的频率,以秒为单位。 注意,在刷新主动检查失败后,下一次刷新将在 60 秒后尝试。 |
|
Server | 是 | 逗号分隔的 IP 地址列表,可选地使用 CIDR 表示法,或 Zabbix server 和 Zabbix proxy 的 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 | 否 | 用于获取主动检查的 Zabbix server/proxy 地址或集群配置。 Server/proxy 地址是 IP 地址或 DNS 名称和可选的端口号,由冒号分隔。 集群配置是由分号分隔的一个或多个 server 地址。 可以指定多个 Zabbix server/cluster 和 Zabbix proxy,由逗号分隔。 每个 Zabbix server/cluster 不应指定多个 Zabbix proxy。 如果指定了 Zabbix proxy,则不应为该 proxy 指定 Zabbix server/cluster。 可以提供多个地址以并行使用几个独立的 Zabbix server。允许空格。 如果未指定端口,则使用默认端口。 如果为该主机指定了端口,则必须将 IPv6 地址用方括号括起来。 如果未指定端口,则 IPv6 地址的方括号是可选的。 如果未指定此参数,则禁用主动检查。 Zabbix proxy 示例: ServerActive=127.0.0.1:10051 多 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 等)。 |
|||
StatusPort | 否 | 1024-32767 | 如果设置,agent 将在此端口上侦听 HTTP 状态请求(http://localhost:<port>/status)。 | ||
Timeout | 否 | 1-30 | 3 | 在处理上花费的时间不超过 Timeout 秒。 | |
TLSAccept | 是,如果定义了 TLS 证书或 PSK 参数(即使是 未加密 连接),否则否 | 指定接受哪些传入连接。用于被动检查。可以指定多个值,用逗号分隔: unencrypted - 接受未加密的连接(默认) psk - 接受使用 TLS 和预共享密钥 (PSK) 的连接 cert - 接受使用 TLS 和证书的连接 |
|||
TLSCAFile | 否 | 包含顶层 CA 证书的文件的完整路径名,用于 Zabbix 组件之间的加密通信中的对等证书验证。 | |||
TLSCertFile | 否 | 包含 agent 证书或证书链的文件的完整路径名,用于与 Zabbix 组件的加密通信。 | |||
TLSConnect | 是,如果定义了 TLS 证书或 PSK 参数(即使是 未加密 连接),否则否 | agent 应如何连接到 Zabbix server 或 proxy。用于主动检查。只能指定一个值: unencrypted - 不使用加密连接(默认) psk - 使用 TLS 和预共享密钥 (PSK) 连接 cert - 使用 TLS 和证书连接 |
|||
TLSCRLFile | 否 | 包含吊销证书的文件的完整路径名。此参数用于与 Zabbix 组件的加密通信。 | |||
TLSKeyFile | 否 | 包含 agent 私钥的文件的完整路径名,用于与 Zabbix 组件的加密通信。 | |||
TLSPSKFile | 否 | 包含 agent 预共享密钥的文件的完整路径名,用于与 Zabbix 组件的加密通信。 | |||
TLSPSKIdentity | 否 | 预共享密钥身份字符串,用于与 Zabbix server 的加密通信。 | |||
TLSServerCertIssuer | 否 | 允许的服务器(proxy)证书颁发者。 | |||
TLSServerCertSubject | 否 | 允许的服务器(proxy)证书主题。 | |||
UnsafeUserParameters | 否 | 0,1 | 0 | 允许将所有字符作为参数传递给用户定义的参数。 不允许以下字符: \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @ 此外,不允许新行字符。 |
|
UserParameter | 否 | 用于监控的用户定义参数。可以有多个用户定义的参数。 格式:UserParameter=<key>,<shell command> 注意,shell 命令不能仅返回空字符串或 EOL。 如果指定了 UserParameterDir 参数,shell 命令可以有相对路径。 示例: UserParameter=system.test,who|wc -l UserParameter=check_cpu,./custom_script.sh |
|||
UserParameterDir | 否 | UserParameter 命令的默认搜索路径。如果使用,agent 将执行命令前将其工作目录更改为此处指定的目录。这样,UserParameter 命令可以有一个相对的 ./ 前缀而不是完整路径。只允许一个条目。 示例:UserParameterDir=/opt/myscripts |