这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会
Table of Contents

2 Zabbix proxy

概览

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

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

参数

参数 强制 范围 默认 说明
AllowRoot 0 允许代理以“root”身份运行。 如果禁用并且代理由“root”启动,则代理将尝试切换到“zabbix”用户。 如果在普通用户下启动则无效。
0 - 不允许
1 - 允许
AllowUnsupportedDBVersions 0 允许代理使用不受支持的数据库版本。
0 - 不允许
1 - 允许
CacheSize no 128K-64G 32M 配置缓存的大小,以字节为单位。
共享内存大小,用于存储主机和项目数据。
ConfigFrequency no 1-604800 3600 代理从 Zabbix 服务器检索配置数据的频率(秒)。
主动代理参数。 忽略被动代理(请参阅 ProxyMode 参数)。
DataSenderFrequency no 1-3600 1 Proxy 将每 N 秒向服务器发送一次收集的数据。 请注意,活动代理仍会每秒轮询 Zabbix 服务器以获取远程命令任务。
主动代理参数。 忽略被动代理(请参阅 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 服务器正在使用的同一个数据库。
如果是 Oracle,如果使用 Net Service Name 连接方法,请从 tnsnames.ora 中指定服务名称或设置为空字符串; 如果 DBName 设置为空字符串,则设置 TWO_TASK 环境变量。
DBPassword 数据库密码。 SQLite 忽略。
如果没有使用密码,请注释掉这一行。
DBSchema Schema名称。 用于 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”。 从版本 10.2.6 开始,MariaDB 支持“required”和“verify_full”值。
默认情况下不设置任何选项,行为取决于数据库配置。

自Zabbix 5.0.0起支持此参数。
DBTLSCAFile no
(是,如果 DBTLSConnect 设置为以下之一:verify_ca, verify_full)
包含用于数据库证书验证的顶级 CA(s) 证书的文件的完整路径名。
自 Zabbix 5.0.0 起支持此参数。
DBTLSCertFile 包含用于对数据库进行身份验证的 Zabbix 服务器证书的文件的完整路径名。
自 Zabbix 5.0.0 起支持此参数。
DBTLSKeyFile 包含用于对数据库进行身份验证的私钥的文件的完整路径名。
自 Zabbix 5.0.0 起支持此参数。
DBTLSCipher Zabbix 服务器允许通过 TLSv1.2 的 TLS 协议的加密密码列表。
仅支持 MySQL。
自 Zabbix 5.0.0 起支持此参数。
DBTLSCipher13 Zabbix server 允许用于TLSv1.3 协议的加密密码套件列表。
仅支持MySQL,从版本8.0.16 开始。
自 Zabbix 5.0.0 起支持此参数。
DebugLevel no 0-5 3 指定调试级别:
0 - 关于启动和停止 Zabbix 进程的基本信息
1 - 关键信息
2 - 错误信息
3 - 警告< br>4 - 用于调试(产生大量信息)
5 - 扩展调试(产生更多信息)
EnableRemoteCommands 0 是否允许来自 Zabbix 服务器的远程命令。
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 no 0-3600 60 心跳消息的频率(以秒为单位)。
用于监视服务器端代理的可用性。
0 - 禁用心跳消息。
主动代理参数。 忽略被动代理(请参阅 ProxyMode 参数)。
HistoryCacheSize no 128K-2G 16M 历史缓存的大小,以字节为单位。
用于存储历史数据的共享内存大小。
HistoryIndexCacheSize no 128K-2G 4M 历史索引缓存的大小,以字节为单位。
用于索引历史缓存中存储的历史数据的共享内存大小。
索引缓存大小大约需要 100 字节来缓存一项 .
此参数从Zabbix 3.0.0开始支持。
Hostname 由 HostnameItem 设置 唯一且区分大小写的代理名称。 确保服务器知道代理名称!
允许的字符:字母数字、“.”、“”、“_”和“-”。
最大长度:128
HostnameItem system.hostname 如果未定义则用于设置主机名的监控项(这将像在agent上一样在代理上运行)。
不支持 UserParameters、性能计数器或别名,但支持 system.run[ ].

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

如果 ProxyMode 设置为 passive 模式 :
逗号分隔的 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 地址。
示例:Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example .com
SNMPTrapperFile /tmp/zabbix_traps.tmp 用于将数据从 SNMP 采集器守护进程传递到代理的临时文件。
必须与 zabbix_trap_receiver.pl 或 SNMPTT 配置文件中的相同。
SocketDir 没有 /tmp 存储Zabbix内部服务使用的IPC套接字的目录。
自Zabbix 3.4.0起支持该参数。
SourceIP 源 IP 地址:
- 到 Zabbix 服务器的传出连接;
- 无代理连接(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 no 1-100 4 history syncers 的预启动实例数。
注意:更改此值时要小心,增加它可能弊大于利。
StartDiscoverers no 0-250 1 发现者 的预启动实例数。
StartHistoryPollers no 0-1000 1 历史轮询器 的预启动实例数。
自 Zabbix 5.4.0 起支持此参数。
StartHTTPPollers no 0-1000 1 HTTP 轮询器 的预启动实例数。
StartIPMIPollers no 0-1000 0 IPMI 轮询器 的预启动实例数。
StartJavaPollers no 0-1000 0 Java 轮询器 的预启动实例数。
StartODBCPollers no 0-1000 1 ODBC 轮询器 的预启动实例数。
StartPingers no 0-1000 1 ICMP pingers 的预启动实例数。
StartPollersUnreachable no 0-1000 1 无法访问的轮询器 主机(包括 IPMI 和 Java)的预启动实例数。
至少一个无法访问的轮询器 如果启动了常规 IPMI 或 Java 轮询器,主机必须正在运行。
StartPollers no 0-1000 5 轮询器 的预启动实例数。
StartPreprocessors no 1-1000 3 预处理的预启动实例数 workers1
preprocessor manager进程在preprocessor worker启动时自动启动。
此参数自Zabbix 4.2.0起支持。
StartSNMPTrapper no 0-1 0 如果设置为 1,将启动 SNMP trapper 进程。
StartTrappers no 0-1000 5 trappers 的预启动实例数。
Trappers 接受来自 Zabbix 发件人和主动代理的传入连接。
StartVMwareCollectors no 0-250 0 预启动的 VMware 收集器 实例数。
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 no 1-30 3 指定我们等待agent、SNMP 设备或外部检查的时间(以秒为单位)。
TLSAccept 如果定义了 TLS 证书或 PSK 参数(即使是未加密连接),则对于被动代理为是,否则为否 从 Zabbix 服务器接受哪些传入连接。 用于被动代理,在主动代理上被忽略。 可以指定多个值,以逗号分隔:
unencrypted - 接受不加密的连接(默认)
psk - 接受使用 TLS 和预共享密钥 (PSK) 的连接
cert - 接受与 TLS 和证书的连接
此参数自 Zabbix 3.0.0 起受支持。
TLSCAFile 包含用于对等证书验证的顶级 CA 证书的文件的完整路径名,用于 Zabbix 组件之间的加密通信。
自 Zabbix 3.0.0 起支持此参数。
TLSCertFile 包含代理证书或证书链的文件的完整路径名,用于 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 TLS 1.3 中 OpenSSL 1.1.1 或更新版本的密码字符串。 覆盖基于证书和 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<br >此参数自 Zabbix 4.4.7 起受支持。
TLSCipherCert13 TLS 1.3 中 OpenSSL 1.1.1 或更新版本的密码字符串。 覆盖基于证书的加密的默认密码套件选择标准。
自 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 TLS 1.3 中 OpenSSL 1.1.1 或更新版本的密码字符串。 覆盖基于 PSK 加密的默认密码套件选择标准。
示例:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
自 Zabbix 4.4.7 起支持此参数。
TLSConnect 如果定义了 TLS 证书或 PSK 参数(即使对于未加密连接),则对于活动代理为是,否则为否 代理应如何连接到 Zabbix 服务器。 用于主动代理,在被动代理上被忽略。 只能指定一个值:
unencrypted - 不加密连接(默认)
psk - 使用 TLS 和预共享密钥 (PSK) 连接
cert - 使用 TLS 和连接 a certificate
此参数自 Zabbix 3.0.0 起受支持。
TLSCRLFile 包含已撤销证书的文件的完整路径名。此参数用于 Zabbix 组件之间的加密通信。
自 Zabbix 3.0.0 起支持此参数。
TLSKeyFile 包含代理私钥的文件的完整路径名,用于 Zabbix 组件之间的加密通信。
自 Zabbix 3.0.0 起支持此参数。
TLSPSK文件 包含代理预共享密钥的文件的完整路径名。 用于与Zabbix server的加密通信。
自 Zabbix 3.0.0 起支持此参数。
TLSPSKIdentity 预共享密钥身份字符串,用于与Zabbix服务器的加密通信。
自 Zabbix 3.0.0 起支持此参数。
TLSServerCertIssuer 允许的服务器证书颁发者。
自 Zabbix 3.0.0 起支持此参数。
TLSServerCertSubject 允许的服务器证书主题。
自 Zabbix 3.0.0 起支持此参数。
TmpDir /tmp 临时目录。
TrapperTimeout no 1-300 300 指定 trapper 处理新数据可能花费的秒数。
User zabbix 取消系统上特定的现有用户的权限。
仅当以“root”运行且禁用 AllowRoot 时才有效。
UnavailableDelay no 1-3600 60 unavailability 期间检查主机可用性的频率,以秒为单位。
UnreachableDelay no 1-3600 15 unreachability 期间检查主机可用性的频率,以秒为单位。
UnreachablePeriod no 1-3600 45 unreachability 多少秒后将主机视为不可用。
VaultDBPath 通过键“密码”和“用户名”检索数据库凭据的保险库路径。
示例:secret/zabbix/database
只有在未指定 DBUser 和 DBPassword 时才能使用此选项。<br >此参数自 Zabbix 5.2.0 起受支持。
VaultToken 本应专门为 Zabbix 代理生成的 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 no 256K-2G 8M 用于存储 VMware 数据的共享内存大小。
VMware 内部检查 zabbix[vmware,buffer,...] 可用于监控 VMware 缓存使用情况(参见 内部检查)。
请注意,如果没有配置为启动的 vmware 收集器实例,则不会分配共享内存。
VMwareFrequency no 10-86400 60 从单个 VMware 服务收集数据之间的延迟秒数。
此延迟应设置为任何 VMware 监控项的最小更新间隔。
VMwarePerfFrequency no 10-86400 60 从单个 VMware 服务检索性能计数器统计信息之间的延迟秒数。
此延迟应设置为任何 VMware 监控 项目 的最小更新间隔 /items/itemtypes/simple_checks/vmware_keys#footnotes) 使用 VMware 性能计数器。
VMwareTimeout no 1-300 10 vmware 收集器等待 VMware 服务(vCenter 或 ESX 管理程序)响应的最大秒数。