Table of Contents

2 Zabbix proxy

概述

本节列出了Zabbix proxy配置文件 file (zabbix_proxy.conf)中支持的参数.

请注意:

  • 默认值反映守护进程的默认设置,而非配置文件中的初始值;
  • Zabbix仅支持UTF-8编码的配置文件,不含 BOM;
  • 以"#"开头的注释仅支持在行首使用.

参数

参数 必选 范围 默认值 描述
AllowRoot no 0 允许proxy以'root'身份run. 如果禁用且proxy由'root'启动, proxy将尝试切换至'zabbix'用户运行. 以普通用户启动时此设置无效.
0 - 不允许
1 - 允许
AllowUnsupportedDBVersions no 0 允许 proxy 与不受支持的数据库版本协同工作。
0 - 不允许
1 - 允许
CacheSize no 128K-64G 32M configuration cache的大小,以字节为单位。
共享memory大小,用于存储主机和监控项数据。
ConfigFrequency no 1-604800 3600 proxy从Zabbix server获取配置数据的频率(以秒为单位)。
主动式proxy参数。对于被动式proxies忽略此参数(参见ProxyMode参数)。
DataSenderFrequency no 1-3600 1 Proxy 将每隔N秒向服务器发送采集的数据。注意主动式proxy仍会每秒轮询Zabbix server以处理远程命令任务。
主动式proxy参数。被动式proxies忽略此参数(参见ProxyMode参数)。
DBHost no localhost 数据库主机名.
对于MySQL,localhost或空string会导致使用套接字. 对于PostgreSQL
只有空string会尝试使用套接字.
对于Oracle,空string会导致使用Net Service Name连接方式; 这种情况下可考虑使用TNS_ADMIN环境变量来指定tnsnames.orafile的目录.
DBName yes 数据库名称或SQLite3数据库路径file(Zabbix的多进程架构不允许使用in-memory database,例如:memory:file::memory:?cache=sharedfile:memdb1?mode=memory&cache=shared)。

警告:请勿尝试使用与Zabbix server相同的数据库。
对于Oracle数据库,若采用Net Service Name连接方式,需指定tnsnames.ora中的服务名或将string设为空;若DBName设为空string,则需设置TWO_TASK环境变量。
DBPassword no 数据库密码。SQLite数据库忽略此参数。
若未使用密码,请注释此行。
DBSchema no 模式名称。用于PostgreSQL。
DBSocket no 3306 MySQL套接字文件路径。
不使用本地套接字时的数据库端口。SQLite忽略此参数。
DBUser 数据库用户. SQLite忽略此项.
DBTLSConnect no 此选项强制要求使用TLS连接数据库:
required - 使用TLS连接
verify_ca - 使用TLS连接并验证证书
verify_full - 使用TLS连接,验证证书并确保DBHost指定的数据库身份与其证书匹配

MySQL从5.7.11版本开始及PostgreSQL支持以下值: "required", "verify", "verify_full"。mariadb从version 10.2.6版本开始支持"required"和"verify_full"值。
默认情况下不设置任何选项,具体行为取决于数据库配置。

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

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

当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 no /tmp/zabbix_traps.tmp 用于从SNMP trap守护进程传递数据到proxy的临时file.
必须与zabbix_trap_receiver.pl或SNMPTT配置中的file保持一致.
SocketDir no /tmp 用于存储Zabbix内部服务IPC套接字的目录。
该参数自Zabbix 3.4.0版本起支持。
SourceIP no 源IP地址用于:
- 到Zabbix server的出站连接;
- 无代理连接(VMware, SSH, JMX, SNMP, Telnet和简单检查);
- HTTP agent连接;
- 脚本监控项 JavaScript HTTP请求;
- 预处理JavaScript HTTP请求;
- 到Vault的连接
SSHKeyLocation no SSH检查与操作所需的公钥和私钥存储位置
SSLCertLocation no 用于客户端认证的SSL客户端证书文件位置。
该参数仅用于网页监控。
SSLKeyLocation no 用于客户端认证的SSL私钥文件位置。
该参数仅用于网页监控。
SSLCALocation no 用于SSL服务器证书验证的证书颁发机构(CA)文件位置。
注意该参数值将作为libcurl选项CURLOPT_CAPATH设置。对于7.42.0之前的libcurl版本,仅当libcurl编译时使用OpenSSL才有效。更多信息请参阅cURL web page
该参数自Zabbix 2.4.0起用于网页监控,自Zabbix 3.0.0起用于SMTP认证。
StartDBSyncers no 1-100 4 proxy-进程类型的预派生实例数量.
注意: 修改此值需谨慎,增加该值可能弊大于利.
StartDiscoverers no 0-250 1 proxy-进程类型的预派生实例数量。
StartHistoryPollers no 0-1000 1 proxy-进程类型的预派生实例数量。
该参数自Zabbix 5.4.0版本起支持。
StartHTTPPollers no 0-1000 1 proxy-进程类型的预派生实例数量。
StartIPMIPollers no 0-1000 0 proxy-进程类型的预派生实例数量。
StartJavaPollers no 0-1000 0 proxy-进程类型的预派生实例数量。
StartODBCPollers no 0-1000 1 proxy-进程类型的预派生实例数量。
StartPingers no 0-1000 1 proxy-进程类型的预派生实例数量。
StartPollersUnreachable no 0-1000 1 proxy-进程类型 主机 的预派生实例数量(包括IPMI和Java)。
如果启动了常规、IPMI或Java轮询器,则必须至少运行一个用于不可达主机的轮询器。
StartPollers no 0-1000 5 proxy-进程类型的预派生实例数量。
StartPreprocessors no 1-1000 3 预处理proxy-进程类型1的预派生实例数量.
预处理管理器进程会在预处理器工作进程启动时自动启动.
该参数自Zabbix 4.2.0版本起支持.
StartSNMPTrapper no 0-1 0 如果设置为1,将启动proxy-进程类型进程。
StartTrappers no 0-1000 5 proxy-进程类型的预派生实例数量。
Trappers接收来自Zabbix sender和主动式agents的传入连接。
StartVMwareCollectors no 0-250 0 预分叉的proxy-进程类型实例数量。
StatsAllowedIP no 以逗号分隔的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 yes for passive proxy, if TLS certificate or PSK parameters are defined (even for unencrypted connection), otherwise no 定义接受来自Zabbix server的何种入站连接。用于被动proxy,在主动proxy上会被忽略。可指定多个值,用逗号分隔:
unencrypted - 接受未加密的连接(默认)
psk - 接受使用TLS及预共享密钥(PSK)的连接
cert - 接受使用TLS及证书的连接
该参数自Zabbix 3.0.0版本起支持。
TLSCAFile no 包含用于对等证书验证的Top级CA证书的file完整路径名,用于Zabbix组件之间的加密通信。
该参数自Zabbix 3.0.0版本起支持。
TLSCertFile no 包含 proxy 证书或证书链的 file 完整路径名,用于 Zabbix 组件之间的加密通信。
该参数自 Zabbix 3.0.0 版本起支持。
TLSCipherAll no GnuTLS优先级string或OpenSSL(TLS 1.2)加密套件string。覆盖基于证书和PSK加密的默认加密套件选择标准。
示例:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
该参数自Zabbix 4.4.7版本起支持。
TLSCipherAll13 no 适用于OpenSSL 1.1.1或更高版本的TLS 1.3密码套件string. 覆盖基于证书和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 no GnuTLS优先级string或OpenSSL(TLS 1.2)加密套件string。覆盖基于证书加密的默认加密套件选择标准。
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 no 用于OpenSSL 1.1.1或更高版本在TLS 1.3中的密码套件string。覆盖基于证书加密的默认密码套件选择标准。
该参数自Zabbix 4.4.7版本起支持。
TLSCipherPSK no GnuTLS优先级string或OpenSSL(TLS 1.2)加密套件string。覆盖基于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 no 适用于OpenSSL 1.1.1或更高版本的TLS 1.3密码套件string。覆盖基于PSK加密的默认密码套件选择标准。
示例:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
该参数自Zabbix 4.4.7版本起支持。
TLSConnect yes for active proxy, if TLS certificate or PSK parameters are defined (even for unencrypted connection), otherwise no proxy应如何连接到Zabbix server。用于主动式proxy,被动式proxy会忽略此参数。仅可指定以下一种值:
unencrypted - 不加密连接(默认)
psk - 使用TLS和预共享密钥(PSK)连接
cert - 使用TLS和证书连接
该参数自Zabbix 3.0.0版本起支持。
TLSCRLFile no 包含吊销证书的file完整路径名。该参数用于Zabbix组件之间的加密通信。
此参数自Zabbix 3.0.0版本起支持。
TLSKeyFile no 包含用于Zabbix组件间加密通信的proxy私钥的file完整路径名。
该参数自Zabbix 3.0.0版本起支持。
TLSPSKFile no 包含用于与Zabbix server进行加密通信的proxy预共享密钥的file完整路径名.
该参数自Zabbix 3.0.0版本起支持.
TLSPSKIdentity no 预共享密钥标识string, 用于与Zabbix server的加密通信.
该参数自Zabbix 3.0.0版本起支持.
TLSServerCertIssuer no 允许的服务器证书颁发者。
该参数自Zabbix 3.0.0版本起支持。
TLSServerCertSubject no 允许的服务器证书主题。
该参数从Zabbix 3.0.0版本开始支持。
TmpDir no /tmp 临时目录。
TrapperTimeout no 1-300 300 指定trapper处理新数据允许消耗的最大秒数
User no zabbix 将权限降级至系统中指定的现有用户。
仅当以'root'身份运行run且AllowRoot被禁用时生效。
UnavailableDelay no 1-3600 60 不可用接口周期内检查主机可用性的频率,以秒为单位。
UnreachableDelay no 1-3600 15 不可达接口周期内检查主机可用性的频率,单位为秒。
UnreachablePeriod no 1-3600 45 不可达接口持续多少秒后将一个主机视为不可用。
VaultDBPath no 从Vault路径获取数据库凭证的'password'和'username'键值。
示例:secret/zabbix/database
仅当未指定DBUser和DBPassword时方可使用此选项。
该参数自Zabbix 5.2.0版本起支持。
VaultToken no 应专为Zabbix proxy生成的Vault认证令牌,对可选配置参数VaultDBPath中指定路径仅具备只读权限。
若同时定义VaultToken参数和VAULT_TOKEN环境变量将引发错误。
本参数自Zabbix 5.2.0版本起支持。
VaultURL no https://127.0.0.1:8200 Vault服务器HTTP[S] URL。若未指定SSLCALocation,将使用系统级CA证书目录。
该参数自Zabbix 5.2.0版本起支持。
VMwareCacheSize no 256K-2G 8M 用于存储VMware数据的共享memory大小.
可使用VMware内部检查项zabbix[vmware,buffer,...]来监控vmware cache使用情况(参见Internal checks).
需注意若未配置启动任何vmware采集器实例,则不会分配共享memory.
VMwareFrequency no 10-86400 60 从单个VMware服务收集数据之间的延迟秒数。
此延迟应设置为任何VMware监控监控项的最小update间隔。
VMwarePerfFrequency no 10-86400 60 从单个VMware服务获取性能计数器统计数据的间隔秒数。
此延迟应设置为使用VMware性能计数器的任何VMware监控item的最小update间隔。
VMwareTimeout no 1-300 10 vmware采集器等待VMware服务(vCenter或ESX虚拟机监控程序)响应的最大秒数。