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

2 Zabbix proxy

概述

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

  • The default values reflect daemon defaults, not the values in the shipped configuration files;
  • 默认值反映了守护程序启动的默认值,而不是配置文件中的值;
  • Zabbix只支持不带BOM的UTF-8编码的配置文件
  • 在配置文件中行首使用 "#"可以注释此行配置。

参数

参数名称 必须配 范围 默认值 描述信息
AllowRoot no 0 允许服务以 'root'身份运行。 如果该参数配置为禁止,并且服务仍以root身份启动,服务会切换到使用 'zabbix'用户启动 。 对于以普通用户启动的,该参数没有影响。
0 - 禁止
1 - 允许
Zabbix 2.2.0。以后的版本都支持这个参数。
CacheSize no 128K-64G 8M 缓存大小, 单位为字节。
用于存储主机、监控项数据的共享内存大小。
在Zabbix 5.0.1版本这参数的最大值可以从8G增加到64G。
ConfigFrequency no 1-604800 3600 每隔多少秒proxy从Zabbix server获取配置数据。
该参数只有主动proxy才会使用,proxy工作模式由参数ProxyMode决定。
DataSenderFrequency no 1-3600 1 Proxy将采集到的数据以一定的时间间隔(单位为秒)发送给Zabbix server。
该参数只有主动proxy才会使用,proxy工作模式由参数ProxyMode决定。
DBHost no localhost 数据库主机名。
如果是MySQL localhost或空字符串会导致使用套接字。 如果是 PostgreSQL
只有空字符串会使用套接字。
DBName yes 数据库名称。
对于 SQLite3 必须提供数据库文件路径(Zabbix的多进程架构不允许使用内存数据库,例如 :memory:file :: memory:?cache = sharedfile:memdb1?mode = memory&cache = shared)。
警告: 不要与Zabbix server使用同一个数据库。
DBPassword no 数据库登录密码。此参数SQLite不使用。
如果数据库没有密码,请注释掉此参数。
DBSchema no 数据库Schema 名字。仅IBM DB2 和 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" and "verify_full"。
默认情况下不设置为任何选项,以数据库配置为准.

从Zabbix 5.0.0开始支持此参数。
DBTLSCAFile no
(yes, 如果数据库连接为其中一个: verify_ca, verify_full)
<从Zabbix 5.0 包含用于数据库证书验证的顶级CA证书的文件的完整路径名。
0开始支持此参数。
DBTLSCertFile no 数据库进行身份验证时对Zabbix服务器证书文件进行完整路径名验证。
从Zabbix 5.0.0开始支持此参数。
DBTLSKeyFile no 数据库进行身份验证时对私钥文件进行完整路径名验证。
从Zabbix 5.0.0开始支持此参数。
DBTLSCipher no Zabbix服务器允许TLS协议通过TLSv1.2的加密密码列表。
只支持MySQL.
从Zabbix 5.0.0开始支持此参数。
DBTLSCipher13 no Zabbix服务器允许TLS协议通过TLSv1.3的加密密码列表。
只支持MySQL8.0.16之后的版本。
从Zabbix 5.0.0开始支持此参数。
DebugLevel no 0-5 3 指定调试等级:
0 - Zabbix进程的起停基本信息
1 - 重要(Critical)信息
2 - 错误(Error)信息
3 - 警告(Warning)信息
4 - 调试(Debug)信息 (产生大量信息)
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 ping6程序的路径。
确保fping6程序的所有者是root用户,并且设置了SUID标记。
如果需要fping程序处理IPv6地址,就置空("Fping6Location=")参数 。
FpingLocation no /usr/sbin/fping fping程序的路径。
确保fping程序的所有者是root用户,并且设置了SUID标记
HeartbeatFrequency no 0-3600 60 心跳信息发送频率,单位为秒。
用于监视proxy的可用性。
0 - 禁止
该参数只有主动proxy才会使用,proxy工作模式由参数ProxyMode决定。
HistoryCacheSize no 128K-2G 16M 历史缓存数据大小, 单位为字节。
存储历史数据使用共享内存.
HistoryIndexCacheSize no 128K-2G 4M 历史索引缓存大小, 单位为字节。\\缓存一个item大概需要大小为100字节的空间。
该参数从Zabbix 3.0.0开始支持。
Hostname no 由参数HostnameItem设置 唯一的大 写敏感的Proxy名称。确保Server端能正确解析这个proxy名称。
允许的字符: 字母, '.', ' ', '_' 和 '-'.
最大长度: 128
HostnameItem no system.hostname 当参数Hostname没有定义时使用这个参数设置主机名。
该参数不能用于UserParameters, performance counters or aliases, 但能用于system.run[]。
如果Hostname设置了,该参数可以忽略。从Zabbix 1.8.6开始支持该参数。
HousekeepingFrequency no 0-24 1 Zabbix 执行 housekeeping 的频率 (单位为小时)。
housekeeping负责从数据库中删除过期的信息。
注意: 为了防止 housekeeper 负载过大 (例如, 当历史和趋势周期大大减小时), 对于每一个监控项,不会在一个housekeeping周期内删除超过4倍HousekeepingFrequency 的过期数据。 因此, 如果 HousekeepingFrequency 是 1小时, 一个周期内不会删除超过4小时的过期信息 (从最旧的数据开始) 。
备注: 为降低 server压力, housekeeping将在server启动以后,延迟30分钟执行。 因此, 如果 HousekeepingFrequency 是1小时,serverg启动30分后执行第一次 housekeeping , 然后按1小时为周期重复执行。从Zabbix 2.4.0以后有了这种延迟行为。
从Zabbix 3.0.0开始,可以设置HousekeepingFrequency为0来禁止自动housekeeping。 此时 housekeeping 只能通过 housekeeper_execute 启动, 在一个housuekeeping周期内删除的过期信息时长为从最后一次housekeeping以来到配置周期的4倍,不少于4小时且不大于4天。
Include no 可以在配置文件中指定单个文件或者指定一个目录(所有文件在该目录中)。
只有在指定的目录中包含相关文件, 才可以使用正则匹配的通配符 。例如: /absolute/path/to/config/files/*.conf. Zabbix 2.4.0以后都支持模式匹配。
参看关于限制条件特例
JavaGateway no Zabbix Java 网关的IP 地址 (或主机名) 。
Java 轮询器启动时才需要该参数。
Zabbix 2.0.0以后的所有版本都支持该参数.
JavaGatewayPort no 1024-32767 10052 Zabbix Java 网关监听端口。
Zabbix 2.0.0以后的所有版本都支持该参数。
ListenIP no 0.0.0.0 trapper监听的Ip地址,多个Ip用逗号分开。
如果没有设置该参数,会监听所有网络接口。
从Zabbix 1.8.3开始支持多Ip地址。
ListenPort no 1024-32767 10051 trapper监听端口。
LoadModule no server端启动时加载的模块,这些模块用来扩展server的功能。
格式:
LoadModule=<module.so>
LoadModule=<path/module.so>
LoadModule=</abs_path/module.so>
这些模块必须位于LoadModulePath指定的目录中,或者路径必须位于模块名称之前。 如果前面的路径是绝对路径(以“/”开头),则忽略LoadModulePath.
允许多个 LoadModule 参数。
LoadModulePath no proxy模块本地完整路径.
默认值在编译时指定。
LogFile 如果日志类型选择yes,其他选择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 数据库查询消耗时间,大于该时间将会记入日志 (毫秒)。
0 - 不记录慢查询日志。
DebugLevel=3时该选项可用。
从Zabbix 1.8.2开始支持该参数。
PidFile no /tmp/zabbix_proxy.pid PID文件名字。
ProxyLocalBuffer no 0-720 0 Proxy将在本地保留数据N小时,即使数据已与server同步。\\如果第三方应用程序将使用本地数据,则可以使用此参数。
ProxyMode no 0-1 0 Proxy工作模式。
0 - 主动模式
1 - 被动模式
从Zabbix 1.8.3开始支持该参数。
注意 当使用 Active proxy 时,敏感的 proxy 配置数据可供有权访问Zabbix server trapper端口的应用使用。 因为第三方应用可以假装是活动proxy并请求配置数据而不会进行身份验证。
ProxyOfflineBuffer no 1-720 1 如果无法连接Zabbix server,proxy将保留数据N小时。\\旧数据将丢失。
ServerPort no 1024-32767 10051 当ProxyMode参数设置为 主动模式:\\可以通过Zabbix server的IP地址或DNS名称获取配置数据并将数据发送给Zabbix server。

当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守护进程的数据给server.
必须和 zabbix_trap_receiver.pl或 SNMPTT 配置文件中的配置保持一致。
从Zabbix 2.0.0开始支持该参数。
SocketDir no /tmp Zabbix 内部服务使用的用于存储 IPC sockets的目录。从Zabbix 3.4.0开始支持该参数。
SourceIP no 对外连接的源IP地址。如:
-连接到Zabbix server;
- 无代理连接(VMware, SSH, JMX, SNMP, Telnet and simple checks);
- HTTP agent连接;
- 预处理JavaScript HTTP请求
SSHKeyLocation no SSH检查和操作的公钥和私钥的位置。
SSLCertLocation no 用于客户端身份验证的SSL证书文件的位置。
该参数只用于web监控,从Zabbix 2.4开始支持该参数
SSLKeyLocation no 用于客户端身份验证的SSL私钥文件的位置。
该参数只用于web监控,从Zabbix 2.4开始支持该参数。
SSLCALocation no 为SSL服务器证书验证覆盖证书颁发机构(CA)文件的位置。如果不设置,系统范围的目录将被使用。
注意,这个参数的值将被设置为libcurl选项curloptcapath, 在7.42.0之前的libcurl版本中,只有使用OpenSSL编译libcurl才会有效。 更多信息见 cURL 网页.
这个参数从Zabbix 2.4.0开始的web监控和自从Zabbix 3.0.0开始的SMTP身份验证中使用。
StartDBSyncers no 1-100 4 数据库进程的初始实例数量。
在版本1.8.5之前,上限是64。
这个参数从Zabbix 1.8.3开始得到了支持。
StartDiscoverers no 0-250 1 发现进程的初始实例数量。
在Zabbix 1.8.5版本之前,最大能设置为255。
StartHTTPPollers no 0-1000 1 HTTP 轮询进程的初始实例数量。
StartIPMIPollers no 0-1000 0 IPMI 轮询进程的初始实例数量。
在Zabbix 1.8.5版本之前,最大能设置为255。
StartJavaPollers no 0-1000 0 Java 轮询子进程的初始实例数量。
从Zabbix 2.0.0开始支持该参数。
StartPingers no 0-1000 1 ICMP pingers进程的初始实例数量
在Zabbix 1.8.5版本之前,最大能设置为255。
StartPollersUnreachable no 0-1000 1 不可达主机 (包括IPMI 和 Java)的轮询进程的初始实例数量。
从Zabbix 2.4.0开始,如果IPMI或Java轮询器启动,那么至少有一个针对不可访问主机的轮询进程必须运行。\\在Zabbix 1.8.5版本之前,最大能设置为255。
这个参数从Zabbix 1.8.3开始得到了支持。
StartPollers no 0-1000 5 轮询进程的初始实例数量。\\在Zabbix 1.8.5版本之前,最大能设置为255。
StartPreprocessors no 1-1000 3 pre-forked实例的预处理线程数量1.
预处理器工作进程启动时,预处理管理器进程将自动启动。
从Zabbix 4.2.0开始支持该参数。
StartSNMPTrapper no 0-1 0 设置为1, SNMP trapper进程将启动。
从Zabbix 2.0.0开始支持该参数。
StartTrappers no 0-1000 5 trapper进程的初始实例数量。
Trapper接收来自Zabbix发送者、主动agent的数据。
至少要运行一个trapper进程用于在web前端展示服务器可用性和队列视图。
在Zabbix 1.8.5版本之前,最大能设置为255。
StartVMwareCollectors no 0-250 0 vmware采集器进程的初始实例数量。\\从Zabbix 2.2.0开始支持该参数。
StatsAllowedIP no ip地址列表以","分割,也可以使用CIDR、或者DNS. 只接受ip里表中的请求. 如果未设置此参数,则不接受请求.如果启用ipv6,则 '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' ipv4和ipv6都支持 ,'::/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 certificate 或 PSK 参数都进行了定义(即使是未加密的连接)选择yes, 否则为否 Zabbix server能接受哪些连接方式。 此 数仅用于被动proxy。 可以指定多个值,以逗号分隔:
未加密接受无加密的连接(默认)
// psk // - 接受与TLS的连接和预共享密钥(PSK)
// cert // - 接受与TLS和证书的连接
从Zabbix 3.0.0开始支持该参数。
TLSCAFile no 包含用于对等证书验证的顶级CA(s)证书的文件的完整路径名,用于Zabbix组件之间的加密通信。
从Zabbix 3.0.0开始支持该参数。
TLSCertFile no 包含服务器证书或证书链文件的完整路径名,用于Zabbix组件之间的加密通信。
从Zabbix 3.0.0开始支持该参数。
TLSCipherAll no GnuTLS或者OpenSSL (TLS 1.2)加密. 默认的密码套件为PSK-based.  例如GnuTLS: N例如: TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256  例从Zabbix 4.4.7开始支持该参数。 从Zabbix NE:+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
.4.7开始支持该参数。
TLSCipherCert no GnuTLS加密或者 OpenSSL (TLS 1.2) 加密. 基于证书的加密的默认certificate-based.
例如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,基于证书的加密的默认certificate-based.
从Zabbix 4.4.7开始支持该参数。
TLSCipherPSK no GnuTLS或者OpenSSL (TLS 1.2) 加密。 默认的密码套件为PSK-based.
例如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.默认的密码套件为PSK-based..
例如: TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
从Zabbix 4.4.7开始支持该参数。
TLSConnect 如果TLS certificate 或 PSK 参数进行了定义(即使是未加密的连接)选是, 否则为否 该参数仅用于主动proxy连接Zabbix se ver。 仅可以选择一种方式:
未加密接受无加密的连接(默认)
// psk // - 接受与TLS的连接和预共享密钥(PSK)
// cert // - 接受与TLS和证书的连接
从Zabbix 3.0.0开始支持该参数。
TLSKeyFile no 包含私钥文件的完整路径名,用于Zabbix组件之间的加密通信。
从Zabbix 3.0.0开始支持该参数。
TLSPSKFile no 包含proxy与Zabbix server加密通信所使用的预共享密钥文件的完整路径名。
从Zabbix 3.0.0开始支持该参数。
TLSPSKIdentity no 预共享密钥身份字符串,用于与Zabbix server进行加密通信。
从Zabbix 3.0.0开始支持该参数。
TLSServerCertIssuer no 允许server证书颁发者。
从Zabbix 3.0.0开始支持该参数。
TLSServerCertSubject no 允许的server证书主题。
从Zabbix 3.0.0开始支持该参数。
TmpDir no /tmp 临时目录
TrapperTimeout no 1-300 300 定义trapper处理数据的超时时间。
User no zabbix 为了降低权限使用普通用户。
仅当以'root'身份运行且AllowRoot参数设置为禁止时,该参数才起作用。
从Zabbix 2.4.0开始支持该参数。
UnavailableDelay no 1-3600 60 在资源不可达期间,Zabbix多少秒检查一次资源是否可用。
UnreachableDelay no 1-3600 15 在资源不可 期间 ,Zabbix多少秒检查一次资源是否可达.
UnreachablePeriod no 1-3600 45 在资源不可期间 ,Zabbix多少秒检查一次资源是否可达。
VMwareCacheSize no 256K-2G 8M 存储VMware数据的共享内存大小。
VMware内部检查[vmware,buffer,...] 可以用来监控VMware缓存使用情况 (参见 内部检查)。
注意,如果没有配置并启动vmware收集器实例,那么共享内存就不会被分配。\\从Zabbix 2.2.0开始支持该参数。
VMwareFrequency no 10-86400 60 间隔多少秒从单个VMware服务收集数据。\\任何VMware监控项的最小更新周期都大于或等于该时间。
从Zabbix 2.2.0开始支持该参数。
VMwarePerfFrequency no 10-86400 60 间隔多少秒从单个VMware服务检索性能计数器统计数据。
该时间为任一VMware 监控项(使用VMware性能计数器)的最小更新间隔。
从Zabbix 2.2.9, 2.4.4开始支持该参数。
VMwareTimeout no 1-300 10 vmware采集器等待 VMware 服务(vCenter or ESX 管理程序)响应的最大时长。
从Zabbix 2.2.9, 2.4.4开始支持该参数。