Table of Contents

2 Zabbix proxy

概述

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

请注意:

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

参数

参数 必选 范围 默认值 描述
AllowRoot no 0 允许proxy以'root'身份运行。若禁用且proxy由'root'启动,将尝试切换至'zabbix'用户。以普通用户启动时无效。
0 - 不允许
1 - 允许
AllowUnsupportedDBVersions no 0 允许proxy使用不受支持的数据库版本。
0 - 不允许
1 - 允许
CacheSize no 128K-64G 32M 配置缓存大小(字节)。
用于存储主机和监控项数据的共享内存大小。
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.ora文件目录。
DBName yes SQLite3的数据库名或路径(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 10.2.6起支持"required"和"verify_full"。
默认不设置,行为取决于数据库配置。

此参数自Zabbix 5.0.0起支持。
DBTLSCAFile no
(yes, if DBTLSConnect set to one of: verify_ca, verify_full)
包含数据库证书验证的Top级CA证书文件完整路径。
此参数自Zabbix 5.0.0起支持。
DBTLSCertFile no 包含Zabbix server证书的完整路径文件,用于数据库认证。
此参数自Zabbix 5.0.0起支持。
DBTLSKeyFile no 包含数据库认证私钥的完整路径文件。
此参数自Zabbix 5.0.0起支持。
DBTLSCipher no Zabbix server允许的TLSv1.2及以下协议的加密套件列表。
仅MySQL支持。
此参数自Zabbix 5.0.0起支持。
DBTLSCipher13 no Zabbix server允许的TLSv1.3协议加密套件列表。
仅MySQL 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 历史缓存大小(字节)。
存储历史数据的共享内存大小。
HistoryIndexCacheSize no 128K-2G 4M 历史索引缓存大小(字节)。
为历史缓存中的数据建立索引的共享内存大小。
每个监控项约需100字节索引缓存空间。
此参数自Zabbix 3.0.0起支持。
Hostname no Set by HostnameItem 唯一且大小写敏感的Proxy名称。确保服务器已知此proxy名称!
允许字符:字母数字、'.'、' '、'_'和'-'。
最大长度:128
HostnameItem no system.hostname 用于设置未定义Hostname的监控项(将在proxy上运行,类似于agent)。
不支持UserParameters、性能计数器或别名,但支持system.run[]。

若Hostname已设置则忽略。
HousekeepingFrequency no 0-24 1 Zabbix执行数据清理的频率(小时)。
清理指从数据库删除过期信息。
注意:为降低proxy启动负载,清理在启动后延迟30分钟执行。因此若HousekeepingFrequency为1,首次清理将在启动30分钟后执行,之后每小时重复。
自Zabbix 3.0.0起可通过设为0禁用自动清理,此时仅能通过housekeeper_execute运行时控制选项启动清理。
Include no 可在配置文件中包含单个文件或目录下所有文件。
为仅包含指定目录的相关文件,支持通配符*进行模式匹配。例如:/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 trapper监听的逗号分隔IP地址列表。
若未设置此参数,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
日志文件名。
LogFileSize no 0-1024 1 日志文件最大大小(MB)。
0 - 禁用自动日志轮转。
注意:若日志文件大小达到限制且轮转失败,无论何种原因,现有日志文件将被截断并重新开始。
LogRemoteCommands no 0 启用以警告级别记录执行的shell命令。
0 - 禁用
1 - 启用
此参数自Zabbix 3.4.0起支持。
LogType no file 日志输出类型:
file - 写入LogFile参数指定的文件,
system - 写入syslog,
console - 写入标准输出。
此参数自Zabbix 3.0.0起支持。
LogSlowQueries no 0-3600000 0 数据库query执行超时记录阈值(毫秒)。
0 - 不记录慢查询。
当DebugLevel=3时此选项自动启用。
PidFile no /tmp/zabbix_proxy.pid PID文件名。
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设为主动模式
获取配置数据及发送数据的Zabbix server IP地址或DNS名(地址:端口)或cluster(地址:端口;地址2:端口)。
未指定端口时使用默认端口。
集群节点需用分号分隔。

若ProxyMode设为被动模式
逗号分隔的Zabbix server IP地址列表(支持CIDR表示法)或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传递数据使用的临时文件。
需与zabbix_trap_receiver.pl或SNMPTT配置文件保持一致。
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-进程类型脚注的预派生实例数。
启动预处理工作进程时自动启动预处理管理进程。
此参数自Zabbix 4.2.0起支持。
StartSNMPTrapper no 0-1 0 设为1时启动proxy-进程类型进程。
StartTrappers no 0-1000 5 proxy-进程类型的预派生实例数。
Trapper接受来自Zabbix sender和主动agents的传入连接。
StartVMwareCollectors no 0-250 0 预派生proxy-进程类型实例数。
StatsAllowedIP no 外部Zabbix实例的逗号分隔IP地址列表(支持CIDR表示法)或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证书的文件完整路径,用于Zabbix组件间加密通信的peer证书验证。
此参数自Zabbix 3.0.0起支持。
TLSCertFile no 包含proxy证书或证书链的文件完整路径,用于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 包含吊销证书的文件完整路径。用于Zabbix组件间加密通信。
此参数自Zabbix 3.0.0起支持。
TLSKeyFile no 包含proxy私钥的文件完整路径,用于Zabbix组件间加密通信。
此参数自Zabbix 3.0.0起支持。
TLSPSKFile no 包含proxy预共享密钥的文件完整路径,用于与Zabbix server的加密通信。
此参数自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'运行且AllowRoot禁用时有效。
UnavailableDelay no 1-3600 60 不可用接口期间检查主机可用性的频率(秒)。
UnreachableDelay no 1-3600 15 不可达接口期间检查主机可用性的频率(秒)。
UnreachablePeriod no 1-3600 45 不可达接口持续多少秒后视主机为不可用。
VaultDBPath no 通过'password'和'username'键从Vault获取数据库凭证的路径。
示例: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数据的共享内存大小。
可使用VMware内部检查zabbix[vmware,buffer,...]监控VMware缓存使用情况(参见Internal checks)。
注意若未配置启动任何vmware采集器实例则不分配共享内存。
VMwareFrequency no 10-86400 60 从单个VMware服务收集数据的间隔(秒)。
此延迟应设为任何VMware监控监控项的最小更新间隔。
VMwarePerfFrequency no 10-86400 60 从单个VMware服务获取性能计数器统计数据的间隔(秒)。
此延迟应设为使用VMware性能计数器的任何脚注的最小更新间隔。
VMwareTimeout no 1-300 10 vmware采集器等待VMware服务(vCenter或ESX虚拟机监控程序)响应的最长时间(秒)。