Table of Contents

2 Zabbix proxy

概览

本节列出了 Zabbix proxy 的配置文件(zabbix_proxy.conf)中支持的参数。 请注意:

  • 默认值反映的是守护进程的默认值,而不是附带的配置文件中的值;
  • Zabbix 仅支持 UTF-8 编码的配置文件,且编码中不可使用字节顺序标记(BOM)
  • 仅在行首支持以“#”开始的注释。

参数

参数 必填 范围 默认值 描述
AllowRoot 0 允许 proxy 以 'root' 身份运行。如果禁用,并且 proxy 是由 'root' 启动的,则 proxy 将尝试切换到 'zabbix' 用户。如果以普通用户身份启动,则此设置无效。
0 - 不允许
1 - 允许
AllowUnsupportedDBVersions 0 允许 proxy 工作于不支持的数据库版本。
0 - 不允许
1 - 允许
CacheSize 128K-64G 32M 配置缓存的大小,单位为字节。
共享内存的大小,用于存储主机和监控项数据。
ConfigFrequency 1-604800 3600 proxy 从 Zabbix server 检索配置数据的频率,单位为秒。
主动 proxy 参数。对于被动 proxy 将被忽略(见 ProxyMode 参数)。
DataSenderFrequency 1-3600 1 proxy 每 N 秒向服务器发送收集到的数据。注意,主动 proxy 仍然会每秒轮询 Zabbix server 以获取远程命令任务。
主动 proxy 参数。对于被动 proxy 将被忽略(见 ProxyMode 参数)。
DBHost localhost 数据库主机名。
对于 MySQL,localhost 或空字符串将使用套接字。对于 PostgreSQL
只有空字符串将尝试使用套接字。对于 Oracle,空字符串将使用网络服务名称连接方法;在这种情况下,考虑使用 TNS_ADMIN 环境变量来指定 tnsnames.ora 文件的目录。
DBName 数据库名称或 SQLite3 数据库文件的路径(Zabbix 的多进程架构不允许使用内存中数据库,例如 :memory:file::memory:?cache=sharedfile:memdb1?mode=memory&cache=shared)。

警告:不要尝试使用 Zabbix server 正在使用的相同数据库。
对于 Oracle,如果使用网络服务名称连接方法,请指定 tnsnames.ora 中的服务名称或将其设置为空字符串;如果 DBName 设置为空字符串,则设置 TWO_TASK 环境变量。
DBPassword 数据库密码。SQLite 忽略此设置。
如果不使用密码,请注释掉此行。
DBSchema 架构名称。PostgreSQL 使用。
DBSocket 3306 MySQL 套接字的路径。
不使用本地套接字时的数据库端口。SQLite 忽略此设置。
DBUser 数据库用户。SQLite 忽略此设置。
DBTLSConnect 设置此选项强制使用 TLS 连接到数据库:
required - 使用 TLS 连接
verify_ca - 使用 TLS 并验证证书
verify_full - 使用 TLS,验证证书,并验证由 DBHost 指定的数据库身份是否与其证书匹配

在 MySQL 从 5.7.11 起和 PostgreSQL,支持以下值:"required"、"verify"、"verify_full"。在 MariaDB 从 10.2.6 版本起,支持 "required" 和 "verify_full" 值。
默认不设置任何选项,行为取决于数据库配置。

此参数自 Zabbix 5.0.0 起支持。
DBTLSCAFile
(如果是 DBTLSConnect 设置为 verify_ca 或 verify_full 则为是)
包含用于数据库证书验证的顶级 CA 证书的文件的完整路径名。
此参数自 Zabbix 5.0.0 起支持。
DBTLSCertFile 包含用于向数据库进行身份验证的 Zabbix server证书的文件的完整路径名。
此参数自 Zabbix 5.0.0 起支持。
DBTLSKeyFile 包含用于向数据库进行身份验证的私钥的文件的完整路径名。
此参数自 Zabbix 5.0.0 起支持。
DBTLSCipher Zabbix server允许用于 TLS 协议的加密密码列表,直到 TLSv1.2。
仅 MySQL 支持。
此参数自 Zabbix 5.0.0 起支持。
DBTLSCipher13 Zabbix server允许用于 TLSv1.3 协议的加密密码列表。
仅 MySQL 支持,从版本 8.0.16 开始。
此参数自 Zabbix 5.0.0 起支持。
DebugLevel 0-5 3 指定调试级别:
0 - 关于启动和停止 Zabbix 进程的基本信息
1 - 严重信息
2 - 错误信息
3 - 警告
4 - 调试(生成大量信息)
5 - 扩展调试(生成更多信息)
EnableRemoteCommands 0 是否允许来自 Zabbix server 的远程命令。
0 - 不允许
1 - 允许
此参数自 Zabbix 3.4.0 起支持。
ExternalScripts /usr/local/share/zabbix/externalscripts 外部脚本的位置(取决于编译时安装变量 datadir)。
Fping6Location /usr/sbin/fping6 fping6 的位置。
确保 fping6 二进制文件具有 root 所有者身份,并设置了 SUID 标志。
如果您的 fping 实用程序能够处理 IPv6 地址,请将其留空 ("Fping6Location=")。
FpingLocation /usr/sbin/fping fping 的位置。
确保 fping 二进制文件具有 root 所有者身份,并设置了 SUID 标志!
HeartbeatFrequency 0-3600 60 心跳消息的频率,单位为秒。
用于监控 server 端 proxy 的可用性。
0 - 禁用心跳消息。
主动 proxy 参数。对于被动 proxy 将被忽略(见 ProxyMode 参数)。
HistoryCacheSize 128K-2G 16M 历史缓存的大小,单位为字节。
共享内存大小,用于存储历史数据。
HistoryIndexCacheSize 128K-2G 4M 历史索引缓存的大小,单位为字节。
共享内存大小,用于对存储在历史缓存中的历史数据建立索引。
索引缓存大小大约需要 100 字节来缓存一个监控项。
此参数自 Zabbix 3.0.0 起支持。
Hostname 由 HostnameItem 设置 唯一,区分大小写的 Proxy 名称。确保 proxy 名称为 server 所知!
允许的字符:字母数字、'.'、' '、'_' 和 '-'。
最大长度:128
HostnameItem system.hostname 如果未定义 Hostname(将与 agent 类似在 proxy 上运行),则用于设置 Hostname 的监控项。
不支持 UserParameters、性能计数器或别名,但支持 system.run[]。

如果设置了 Hostname,则忽略此设置。
HousekeepingFrequency 0-24 1 Zabbix 执行维护操作的频率(单位为小时)。
维护是从数据库中删除过时信息的过程。
注意:为了降低 proxy 启动时的负载,维护在 proxy 启动后推迟 30 分钟。因此,如果 HousekeepingFrequency 为 1,则 proxy 启动后的第一次维护操作将在 30 分钟后运行,之后每小时重复一次。
自 Zabbix 3.0.0 起,可以通过将 HousekeepingFrequency 设置为 0 来禁用自动维护。在这种情况下,维护操作只能通过 housekeeper_execute 运行时控制选项启动。
Include 您可以在配置文件中包含单个文件或目录中的所有文件。
要仅包含指定目录中的相关文件,支持使用星号通配符进行模式匹配。例如:/absolute/path/to/config/files/*.conf
请参阅特殊说明了解限制。
JavaGateway Zabbix Java 网关的 IP 地址(或主机名)。
仅在启动 Java 轮询器时需要。
JavaGatewayPort 1024-32767 10052 Zabbix Java 网关监听的端口。
ListenBacklog 0 - INT_MAX SOMAXCONN TCP队列中挂起连接的最大数量。
默认值是一个硬编码常量,这取决于系统。
支持的最大值也取决于系统,过高的值可能会被静默截断为“实现指定的最大值”。
ListenIP 0.0.0.0 trapper 应该监听的逗号分隔的 IP 地址列表。
如果缺少此参数,trapper 将监听所有网络接口。
ListenPort 1024-32767 10051 trapper 的监听端口。
LoadModule 在 proxy 启动时加载的模块。模块用于扩展 proxy 的功能。
格式:
LoadModule=<module.so>
LoadModule=<path/module.so>
LoadModule=</abs_path/module.so>
模块必须位于 LoadModulePath 指定的目录中,或者路径必须在模块名称之前。如果前面的路径是绝对路径(以 '/' 开头),则忽略 LoadModulePath。
允许包含多个 LoadModule 参数。
LoadModulePath proxy 模块的位置的完整路径。
默认值取决于编译选项。
LogFile 是,如果 LogType 设置为 file,否则
日志文件的名称。
LogFileSize 0-1024 1 日志文件的最大大小(MB)。
0 - 禁用自动日志轮转。
注意:如果日志文件大小达到限制并且文件轮转失败,无论出于何种原因,现有的日志文件将被截断并重新开始。
LogRemoteCommands 0 启用将执行的 shell 命令记录为告警。
0 - 禁用
1 - 启用
此参数自 Zabbix 3.4.0 起支持。
LogType file 日志输出类型:
file - 写入由 LogFile 参数指定的日志文件,
system - 写入系统日志,
console - 输出到控制台。
此参数自 Zabbix 3.0.0 起支持。
LogSlowQueries 0-3600000 0 数据库查询被记录为慢查询的时间长度(以毫秒为单位)。
0 - 不记录慢查询。
此选项从 DebugLevel=3 开始启用。
PidFile /tmp/zabbix_proxy.pid PID 文件的名称。
ProxyLocalBuffer 0-720 0 proxy 会将数据在本地保留 N 小时,即使数据已经与服务器同步。
如果本地数据将由第三方应用程序使用,可以使用此参数。
ProxyMode 0-1 0 proxy 操作模式。
0 - proxy 处于主动模式
1 - proxy 处于被动模式
注意使用主动 proxy 时,敏感的 proxy 配置数据可能会被能够访问 Zabbix server trapper 端口的各方获取。这是因为任何人都可能假装是主动 proxy 并请求配置数据;不进行身份验证。
ProxyOfflineBuffer 1-720 1 如果与 Zabbix server 没有连接,proxy 将保留数据 N 小时。
较旧的数据将丢失。
Server 如果 ProxyMode 设置为 主动模式
Zabbix server 的 IP 地址或 DNS 名称(地址:端口)或 集群(地址:端口;地址2:端口)以获取配置数据并发送数据。
如果未指定端口,则使用默认端口。
集群节点必须用分号分隔。

如果 ProxyMode 设置为 被动模式
逗号分隔的 IP 地址列表,可选地使用 CIDR 表示法,或 Zabbix server 的 DNS 名称。只接受这里列出的地址的传入连接。如果启用了 IPv6 支持,则 '127.0.0.1', '::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
SNMPTrapperFile /tmp/zabbix_traps.tmp 用于将数据从 SNMP trap 守护进程传递到 proxy 的临时文件。
必须与 zabbix_trap_receiver.pl 或 SNMPTT 配置文件中的相同。
SocketDir /tmp 存储内部 Zabbix 服务使用的 IPC 套接字的目录。
此参数自 Zabbix 3.4.0 起支持。
SourceIP 源 IP 地址用于:
- 与 Zabbix server 的出站连接;
- 无代理连接(VMware、SSH、JMX、SNMP、Telnet 和简单检查);
- HTTP agent 连接;
- 脚本监控项 JavaScript HTTP 请求;
- 预处理 JavaScript HTTP 请求;
- 连接到 Vault
SSHKeyLocation SSH 检查和操作的公钥和私钥位置
SSLCertLocation SSL 客户端证书文件的位置,用于客户端认证。
此参数仅用于 Web 监控。
SSLKeyLocation SSL 私钥文件的位置,用于客户端认证。
此参数仅用于 Web 监控。
SSLCALocation SSL 服务器证书验证的证书颁发机构(CA)文件的位置。
请注意,此参数的值将被设置为 libcurl 选项 CURLOPT_CAPATH。对于 7.42.0 之前的 libcurl 版本,这只有在 libcurl 编译为使用 OpenSSL 时才有效。有关更多信息,另请参阅 cURL 网页
此参数自 Zabbix 2.4.0 起用于 Web 监控,在 Zabbix 3.0.0 起用于 SMTP 认证。
StartDBSyncers 1-100 4 history syncers的预派生实例数量。
注意:更改此值时要小心,增加它可能弊大于利。
StartDiscoverers 0-250 1 discoverers的预派生实例数量。
StartHistoryPollers 0-1000 1 history pollers的预派生实例数量。
此参数自 Zabbix 5.4.0 起支持。
StartHTTPPollers 0-1000 1 HTTP pollers的预派生实例数量。
StartIPMIPollers 0-1000 0 IPMI pollers的预派生实例数量。
StartJavaPollers 0-1000 0 Java pollers的预派生实例数量。
StartODBCPollers 0-1000 1 ODBC pollers的预派生实例数量。
StartPingers 0-1000 1 ICMP pingers的预派生实例数量。
StartPollersUnreachable 0-1000 1 pollers for unreachable的预派生实例数量(包括 IPMI 和 Java)。
如果启动了常规、IPMI 或 Java 轮询进程,则至少必须运行一个无法到达主机的轮询进程。
StartPollers 0-1000 5 pollers的预派生实例数量。
StartPreprocessors 1-1000 3 预处理 workers 的预派生实例数量1
当启动预处理器工作进程时,自动启动预处理管理进程。
此参数自 Zabbix 4.2.0 起支持。
StartSNMPTrapper 0-1 0 如果设置为 1,将启动 SNMP trapper 进程。
StartTrappers 0-1000 5 trappers 的预派生实例数量。
轮询器接受来自 Zabbix sender 和主动 agents 的传入连接。
StartVMwareCollectors 0-250 0 VMware collector 实例的预派生数量。
StatsAllowedIP 逗号分隔的 IP 地址列表,可选地使用 CIDR 表示法,或外部 Zabbix 实例的 DNS 名称。只接受这里列出的地址的统计请求。如果此参数未设置,则不接受任何统计请求。
如果启用了 IPv6 支持,则 '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' 被视为等效,'::/0' 将允许任何 IPv4 或 IPv6 地址。'0.0.0.0/0' 可用于允许任何 IPv4 地址。
示例:StatsAllowedIP=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
此参数自 Zabbix 4.2.0 起支持。
Timeout 1-30 3 指定我们等待 agent、SNMP 设备或外部检查的时间长度(以秒为单位)。
TLSAccept 被动 proxy 必须,如果定义了 TLS 证书或 PSK 参数(即使是 未加密 连接),否则不需要 接受来自 Zabbix server 的传入连接类型。用于被动 proxy,主动 proxy 上忽略。可以指定多个值,用逗号分隔:
unencrypted - 接受未加密的连接(默认)
psk - 接受使用 TLS 和预共享密钥 (PSK) 的连接
cert - 接受使用 TLS 和证书的连接
此参数自 Zabbix 3.0.0 起支持。
TLSCAFile 包含用于对等证书验证的顶级CA证书的文件的完整路径名,用于Zabbix组件之间的加密通信。
此参数自Zabbix 3.0.0起支持。
TLSCertFile 包含 proxy 证书或证书链的文件的完整路径名,用于 Zabbix 组件之间的加密通信。
此参数自 Zabbix 3.0.0 起支持。
TLSCipherAll GnuTLS 优先级字符串或 OpenSSL(TLS 1.2)密码字符串。覆盖基于证书和基于 PSK 的加密的默认密码套件选择标准。
示例:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
此参数自 Zabbix 4.4.7 起支持。
TLSCipherAll13 OpenSSL 1.1.1 或更高版本在 TLS 1.3 中的密码字符串。覆盖基于证书和基于 PSK 的加密的默认密码套件选择标准。
GnuTLS 示例:NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL::+SIGN-ALL:+CTYPE-X.509
OpenSSL 示例:EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128
此参数自 Zabbix 4.4.7 起支持。
TLSCipherCert GnuTLS 优先级字符串或 OpenSSL(TLS 1.2)密码字符串。覆盖基于证书的加密的默认密码套件选择标准。
GnuTLS 示例:NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509
OpenSSL 示例:EECDH+aRSA+AES128:RSA+aRSA+AES128
此参数自 Zabbix 4.4.7 起支持。
TLSCipherCert13 OpenSSL 1.1.1 或更高版本在 TLS 1.3 中的密码字符串。覆盖基于证书的加密的默认密码套件选择标准。
此参数自 Zabbix 4.4.7 起支持。
TLSCipherPSK GnuTLS 优先级字符串或 OpenSSL(TLS 1.2)密码字符串。覆盖基于 PSK 的加密的默认密码套件选择标准。
GnuTLS 示例:NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL
OpenSSL 示例:kECDHEPSK+AES128:kPSK+AES128
此参数自 Zabbix 4.4.7 起支持。
TLSCipherPSK13 OpenSSL 1.1.1 或更高版本在 TLS 1.3 中的密码字符串。覆盖基于 PSK 的加密的默认密码套件选择标准。
示例:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
此参数自 Zabbix 4.4.7 起支持。
TLSConnect 主动 proxy 必须,如果定义了 TLS 证书或 PSK 参数(即使是 未加密 连接),否则不需要 proxy 应该如何连接到 Zabbix server。用于主动 proxy,被动 proxy 上忽略。只能指定一个值:
unencrypted - 无加密连接(默认)
psk - 使用 TLS 和预共享密钥 (PSK) 连接
cert - 使用 TLS 和证书连接
此参数自 Zabbix 3.0.0 起支持。
TLSCRLFile 包含吊销证书的文件的完整路径名。此参数用于 Zabbix 组件之间的加密通信。
此参数自 Zabbix 3.0.0 起支持。
TLSKeyFile 包含 proxy 私钥的文件的完整路径名,用于 Zabbix 组件之间的加密通信。
此参数自 Zabbix 3.0.0 起支持。
TLSPSKFile 包含 proxy 预共享密钥的文件的完整路径名,用于与 Zabbix server 的加密通信。
此参数自 Zabbix 3.0.0 起支持。
TLSPSKIdentity 预共享密钥身份字符串,用于与Zabbix server的加密通信。
此参数自Zabbix 3.0.0起支持。
TLSServerCertIssuer 允许的服务器证书颁发者。
此参数自 Zabbix 3.0.0 起支持。
TLSServerCertSubject 允许的服务器证书主题。
此参数自 Zabbix 3.0.0 起支持。
TmpDir /tmp 临时目录。
TrapperTimeout 1-300 300 指定 trapper 处理新数据可能花费的秒数。
User zabbix 将权限降低到系统上特定的、已存在的用户。
仅当以 'root' 身份运行且 AllowRoot 被禁用时有效。
UnavailableDelay 1-3600 60 不可用 期间,以秒为单位检查主机可用性的时间间隔。
UnreachableDelay 1-3600 15 不可达 期间,以秒为单位检查主机可用性的时间间隔。
UnreachablePeriod 1-3600 45 在多少秒的 不可达 后,将主机视为不可用。
VaultDBPath 通过键 'password' 和 'username' 检索数据库凭据的 Vault 路径。
示例:secret/zabbix/database
如果未指定 DBUser 和 DBPassword,则只能使用此选项。
此参数自 Zabbix 5.2.0 起支持。
VaultToken 应为 Zabbix proxy 专门生成的 Vault 认证令牌,该令牌仅具有对可选 VaultDBPath 配置参数中指定路径的只读权限。
如果同时定义了 VaultToken 和 VAULT_TOKEN 环境变量,则为错误。
此参数自 Zabbix 5.2.0 起支持。
VaultURL https://127.0.0.1:8200 Vault 服务器 HTTP[S] URL。如果未指定 SSLCALocation,则使用系统范围的 CA 证书目录。
此参数自 Zabbix 5.2.0 起支持。
VMwareCacheSize 256K-2G 8M 存储 VMware 数据的共享内存大小。
可以使用 VMware 内部检查 zabbix[vmware,buffer,...] 来监控 VMware 缓存使用情况(见 内部检查)。
注意,如果没有配置启动的 vmware collector 实例,则不分配共享内存。
VMwareFrequency 10-86400 60 从单个 VMware 服务收集数据之间的延迟,单位为秒。
此延迟应设置为任何 VMware 监控项的最小更新间隔。
VMwarePerfFrequency 10-86400 60 从单个 VMware 服务检索性能计数器统计信息之间的延迟,单位为秒。
此延迟应设置为使用 VMware 性能计数器的任何 VMware 监控项 的最小更新间隔。
VMwareTimeout 1-300 10 VMware collector 从 VMware 服务(vCenter 或 ESX hypervisor)等待响应的最大秒数。