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

1 Zabbix 服务器

概述

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

  • 默认值反映的是守护进程的默认值,而不是附带的配置文件中的值;
  • Zabbix 仅支持 UTF-8 编码的配置文件,不支持 BOM 格式;
  • 以 “#” 开头的注释只支持在行首。

参数

参数 是否必选设置 范围 默认值 说明
AlertScriptsPath /usr/local/share/zabbix/alertscripts 自定义告警脚本位置(取决于编译时安装变量datadir)。
AllowRoot 0 允许服务器以 “root” 权限运行。如果禁用此项,以“root” 权限启动服务器时,服务器将尝试切换到 “zabbix” 用户。如果在普通用户下启动,则不受影响。
0 - 不允许;
1 - 允许。
AllowUnsupportedDBVersions 0 允许服务器使用不受支持的数据库版本。
0 - 不允许;
1 - 允许。
CacheSize 128K-64G 32M 配置缓存大小,以字节为单位。
存储主机、监控项和触发器数据的共享内存大小。
CacheUpdateFrequency 1-3600 60 Zabbix执行配置缓存更新的频率,以秒为单位。
另请参阅 运行时控制 选项。
DBHost localhost 数据库主机名。

针对 MySQL 用户,设置为 localhost 或者空字符串会尝试使用本地套接字;
针对 PostgreSQL 用户,仅设置为空字符串会尝试使用本地套接字;
针对 Oracle 用户,设置为空字符串会使用网络服务名称连接,此类情况可以考虑使用 TNS_ADMIN 环境变量来指定 tnsnames.ora 文件所在目录。
DBName 数据库名称。
针对 Oracle 用户,如果使用了网络服务名称连接方式,请在 tnsnames.ora 中指定服务名称,或设置为空字符串;如果 DBName 设置为空,需要设置 TWO_TASK 环境变量。
DBPassword 数据库密码。
如果未使用密码,注释掉此行即可。
DBPort 1024-65535 数据库端口(未使用本地套接字)
针对 Oracle 用户,如果使用网络服务名称连接方式,该参数将被忽略,系统会使用 tnsnames.ora 文件中的端口号。
DBSchema 模式名称。用于 PostgreSQL 数据库。
DBSocket MySQL套接字文件路径。
DBUser 数据库用户。
DBTLSConnect 设置此选项强制使用 TLS 连接到数据库:
required - 使用 TLS 连接;
verify_ca - 使用 TLS 连接并验证证书;
verify_full - 使用 TLS 连接,验证证书,并验证 DBHost 指定的数据库标识是否与其证书匹配。

自 5.7.11 版本起,MySQL 和 PostgreSQL 开始支持 "required", "verify_ca", "verify_full" 参数。自 10.2.6 版本起,MariaDB 开始支持 "required" 和 "verify_full" 参数。
默认情况不会配置该项,具体使用取决于数据库配置。

自 Zabbix 5.0.0 版本起开始支持此参数。
DBTLSCAFile
(是,适用于 DBTLSConnect 设置为以下其 CA 中值:verify_ca, verify_full)
用于数据库证书验证的顶级 CA(s)证书文件的完整路径名。
自 Zabbix 5.0.0 版本起开始支持此参数。
DBTLSCertFile 用于数据库身份验证的 Zabbix 服务器证书文件的完整路径名。
自 Zabbix 5.0.0 版本起开始支持此参数。
DBTLSKeyFile 用于数据库身份验证的私钥文件的完整路径名。
自 Zabbix 5.0.0 版本起开始支持此参数。
DBTLSCipher Zabbix 服务器允许 TLS(TLSv1.2)协议使用的加密密码套件列表。
仅支持 MySQL。
自 Zabbix 5.0.0 版本起开始支持此参数。
DBTLSCipher13 Zabbix 服务器允许 TLSv1.3 协议使用的加密密码套件列表。
仅支持 8.0.16 及更高版本 MySQL。
自 Zabbix 5.0.0 版本起开始支持此参数。
DebugLevel 0-5 3 指定调试级别:
0 - 关于启动和停止 Zabbix 进程的基本信息。
1 - 严重信息;
2 - 错误信息;
3 - 警告信息;
4 - 用于调试(产生大量信息);
5 - 扩展调试(产生更多信息);
另请参阅 运行时控制 选项。
ExportDir 由换行符分隔的 JSON 格式所记录的事件、历史和趋势的 实时导出 目录。如果设置此项,则启用实时导出。
自 Zabbix 4.0.0 版本起开始支持此参数。
ExportFileSize 1M-1G 1G 每个导出文件的最大大小(字节)。 仅在 ExportDir 设置后用于轮询。
自 Zabbix 4.0.0 版本起开始支持此参数。
ExportType 用于 实时导出 的由逗号分隔的实体类列表(事件、历史、趋势)(默认情况下为所有类型)。仅当设置了 ExportDir 时生效。
请注意 如果指定了 ExportType,但没有指定 ExportDir,服务器将因配置错误无法启动。
示例:
ExportType=history,trends - 仅导出历史和趋势。
ExportType=events - 仅导出事件。
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 标志。
HANodeName 高可用机群节点名称。
当为空时,服务器为单机模式工作,并创建一个名称为空的节点。
HistoryCacheSize 128K-2G 16M 历史缓存的大小,以字节为单位。
用于存储历史数据的共享内存大小。
HistoryIndexCacheSize 128K-2G 4M 历史索引缓存的大小,以字节为单位。
用于索引存储在历史缓存中的历史数据的共享内存大小。
索引缓存一个监控项大约需要 100 字节。
自 Zabbix 3.0.0 版本起开始支持此参数。
HistoryStorageDateIndex 0 启用历史存储中历史值的预处理,基于不同日期在索引中的存储值:
0 - 禁用;
1 - 启用。
HistoryStorageURL HTTP[S] URL 历史记录。
此参数用于 Elasticsearch 设置。
HistoryStorageTypes uint,dbl,str,log,text 发送到历史记录存储的值(类型为逗号分隔的列表)。
此参数用于 Elasticsearch 设置。
HousekeepingFrequency 0-24 1 Zabbix 执行清理的频率(以小时为单位)。
执行清理会从数据库中删除过时的信息。
注意:为了防止负载过高(例如,当历史和趋势周期大大缩短),在一个周期内,每个监控项删除的过期信息的时间不能超过清理频率(小时)的 4 倍。也就是,如果 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 gateway 的 IP 地址(或主机名)。
仅在启动 Java pollers 轮询时器需要设置。
JavaGatewayPort 1024-32767 10052 Zabbix Java gateway 监听端口。
ListenBacklog 0 - INT_MAX SOMAXCONN TCP 队列中挂起的最大连接数。
默认值是一个硬编码常量,具体取决于系统。
支持的最大值取决于系统,过高的值可能会被自动截断为'implementation-specified maximum' 的值。
ListenIP no 0.0.0.0 Tarpper 采集器监听目标(逗号分隔)的 IP 地址列表。
如果缺少此参数,Trapper 将监听所有网络接口。
ListenPort no 1024-32767 10051 Trapper 监听端口。
LoadModule no 要在服务器启动时加载的模块。模块用于扩展服务器的其他功能。
格式:
LoadModule=<module.so>
LoadModule=<path/module.so>
LoadModule=</abs_path/module.so>
模块必须位于 LoadModulePath 指定的目录中,或者路径必须位于模块名称之前。如果前面的路径是绝对路径(以 “/” 开头),则忽略 LoadModulePath。
允许包含多个 LoadModule 参数。
LoadModulePath no 服务器模块位置的完整路径
默认值取决于编译时的选项。
LogFile 是,先决条件是 LogType 设置为 file
日志文件的名称。
LogFileSize no 0-1024 1 日志文件的最大大小(MB)。
0 - 禁用日志自动轮询。
注意:如果达到日志文件大小限制且文件轮询失败,无论出于何种原因,现有日志文件都将被截断并重新启动记录。
LogType no file 日志输出类型:
file - 将日志写入 LogFile 参数指定的文件;
system - 将日志写入 syslog;
console - 将日志写入到标准输出。
自 Zabbix 3.0.0 版本起开始支持此参数。
LogSlowQueries no 0-3600000 0 数据库慢查询记录时间(以毫秒为单位)。
0 - 不记录慢查询。
此选项从 DebugLevel=3 开始启用。
MaxHousekeeperDelete no 0-1000000 5000 在一个清理周期内,每个任务最多只能删除 “MaxHousekeeperDelete” 行。(对应 [tablename], [field], [value])。
如果设置为 0,则不使用限制。在这种情况下,您必须知道自己在做什么,以免 数据库过载! 2
此参数仅适用于删除已删除监控项的历史记录和趋势。
NodeAddress no IP 或主机名,带有可选端口,以覆盖前端应连接到的服务器。
格式:<address>[:port]
前端用于指定服务器地址的地址的优先级为: NodeAddress (1); ListenIP (非设置为 0.0.0.0 or ::) (2); localhost (默认) (3)
请查阅: HANodeName parameter
PidFile no /tmp/zabbix_server.pid PID 文件的名称。
ProxyConfigFrequency 1-604800 3600 Zabbix 服务器向 Zabbix 代理发送配置数据的频率(秒)。仅用于被动模式下的代理。
ProblemHousekeepingFrequency 1-3600 60 确定 Zabbix 以秒为单位删除已删除触发器问题的频率。
ProxyDataFrequency 1-3600 1 Zabbix 服务器从 Zabbix 代理请求历史数据的频率(秒)。仅用于被动模式下的代理。
ServiceManagerSyncFrequency 1-3600 60 确定 Zabbix 以秒为单位同步服务管理器配置的频率。
SNMPTrapperFile /tmp/zabbix_traps.tmp 用于将数据从 SNMP 捕获守护进程传递到服务器的临时文件。
必须与 zabbix_trap_receiver.pl 或 SNMPTT 配置文件相同。
SocketDir /tmp 存储内部 Zabbix 服务使用的 IPC 套接字的目录。
自 Zabbix 3.4.0 版本起开始支持此参数。
SourceIP 源IP地址:
- Zabbix proxy 和 Zabbix agent 的传出连接;
- 无代理连接 (VMware, SSH, JMX, SNMP, Telnet 和 simple checks);
- HTTP agent 连接;
- 脚本监控项 JavaScript HTTP 请求;
- 预处理 JavaScript HTTP requests;
- 发送通知邮件(连接到SMTP服务器);
- webhook 通知(JavaScript HTTP 连接);
- 与保管库的连接。
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 身份验证
StartAlerters 1-100 3 告警程序的 pre-forked(预分配)实例数量。
自 Zabbix 3.4.0 版本起开始支持此参数。
StartDBSyncers 1-100 4 历史同步程序的 pre-forked(预分配)实例数量。
注意:更改此值时要小心,增加此值可能弊大于利。通常情况下,默认值足以处理多达 4000 NVPS。
StartDiscoverers 0-250 1 发现程序的 pre-forked(预分配)实例数量。
StartEscalators 1-100 1 扩容程序的 pre-forked(预分配)实例数量。
自 Zabbix 3.0.0 版本起开始支持此参数。
StartHistoryPollers 0-1000 5 历史轮询器的 pre-forked(预分配)实例数量。
自 Zabbix 5.4.0 版本起开始支持此参数。
StartHTTPPollers 0-1000 1 HTTP 轮询器1 的 pre-forked(预分配)实例数量。
StartIPMIPollers 0-1000 0 IPMI 轮询器的 pre-forked(预分配)实例数量。
StartJavaPollers 0-1000 0 Java 轮询器1 的 pre-forked(预分配)实例数量。
StartLLDProcessors 1-100 2 low-level discovery (LLD) 工作线程1(zabbix_server#footnotes) 的 pre-forked(预分配)实例数量。
LLD worker 工作线程启动时,LLD manager 管理进程将自动启动。
自 Zabbix 4.2.0 版本起开始支持此参数。
StartODBCPollers 0-1000 1 ODBC 轮询器1 的 pre-forked(预分配)实例数量。
StartPingers 0-1000 1 ICMP pingers 监控1 的 pre-forked(预分配)实例数量。
StartPollersUnreachable 0-1000 1 不可达主机轮询器 (包括 IPMI 和 Java)1 的 pre-forked(预分配)实例数量。
如果启动了常规、IPMI 或 Java轮询器,则必须至少运行一个无法访问主机的轮询器。
StartPollers 0-1000 5 轮询器1 的 pre-forked(预分配)实例数量。
StartPreprocessors 1-1000 3 预处理工作线程1 的 pre-forked(预分配)实例数量。
预处理工作线程启动时,预处理管理进程将自动启动。
自 Zabbix 3.4.0 版本起开始支持此参数。
StartProxyPollers 0-250 1 passive proxies 被动代理轮询器1 的 pre-forked(预分配)实例数量。
StartReportWriters 0-100 0 报告生成程序的 pre-forked(预分配)实例数量。
如果设置为 0,则禁用计划的报告生成。
启动报告生成线程时,报告管理进程将自动启动。
自 Zabbix 5.4.0 版本起开始支持此参数。
StartSNMPTrapper 0-1 0 设置为 1, 即启动 SNMP trapper 捕获程序 进程。
StartTimers 1-1000 1 定时器的 pre-forked(预分配)实例数量。
定时器处理维护周期。
StartTrappers 0-1000 5 trappers捕获程序1 的 pre-forked(预分配)实例数量。
捕获程序接受来自 Zabbix sender、处于工作状态的 agent 和 proxy 的传入连接。
StartVMwareCollectors 0-250 0 VMware collector 收集程序 的 pre-forked(预分配)实例数量。
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 设备或外部检查的时间(秒)。
TLSCAFile 用于对等证书验证的顶级 CA 证书的文件的完整路径名,用于 Zabbix 组件之间的加密通信。
自 Zabbix 3.0.0 版本起开始支持此参数。
TLSCertFile 服务器证书或证书链的文件的完整路径名,用于 Zabbix 组件之间的加密通信。
自 Zabbix 3.0.0 版本起开始支持此参数。
TLSCipherAll GnuTLS 优先级字符串或 OpenSSL(TLS 1.2)密码字符串。覆盖基于证书和 PSK 的加密的默认密码套件选择标准。
E示例: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
自 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 版本起开始支持此参数。
TLSCRLFile 已吊销证书的文件的完整路径名。此参数用于 Zabbix 组件之间的加密通信。
自 Zabbix 3.0.0 版本起开始支持此参数。
TLSKeyFile 服务器私钥的文件的完整路径名,用于 Zabbix 组件之间的加密通信。
自 Zabbix 3.0.0 版本起开始支持此参数。
TmpDir /tmp 临时目录。
TrapperTimeout 1-300 300 指定 trapper 捕获程序处理新数据可能花费的秒数。
TrendCacheSize 128K-2G 4M 趋势缓存的大小,以字节为单位。
用于存储趋势数据的共享内存大小。
TrendFunctionCacheSize 128K-2G 4M 趋势函数缓存的大小,以字节为单位。
用于缓存计算的趋势函数数据的共享内存大小。
UnavailableDelay 1-3600 60 不可用 期间检查主机可用性的频率,以秒为单位。
UnreachableDelay no 1-3600 15 不可达 期间检查主机可用性的频率,以秒为单位。
UnreachablePeriod no 1-3600 45 经过几秒的不可达 后,将主机视为不可用。
User zabbix 删除系统上特定现有用户的权限。
仅在禁用“以 root 权限运行”和 AllowRoot 时才生效。
ValueCacheSize 0,128K-64G 8M 历史值缓存的大小,以字节为单位。
用于缓存监控项历史数据请求的共享内存大小。
设置为 0 将禁用缓存(不推荐)。
当值缓存耗尽共享内存时,每 5 分钟会向服务器日志写入一条告警消息。
VaultDBPath 通过“密码”和“用户名”关键字检索数据库凭据的 Vault 保管库路径。
示例: secret/zabbix/database
仅在未指定 DBUser 和 DBPassword 时,才能使用此选项。
自 Zabbix 5.2.0 版本起开始支持此参数。
VaultToken 专门为 Zabbix 服务器生成的 Vault 保管库身份验证令牌,该令牌对 Vault macros 保管库宏 中指定的路径具有只读权限,并对可选 Vault DbPath 配置参数中指定的路径具有只读权限。
如果同时定义 VaultToken 和 VAULT_TOKEN 环境变量会报错。
自 Zabbix 5.2.0 版本起开始支持此参数。
VaultURL https://127.0.0.1:8200 保管库服务器 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 monitoring 监控项 的最小更新间隔
VMwareTimeout 1-300 10 Vware collector 等待 vmware 服务(vCenter或ESX hypervisor)响应的最大秒数。
WebServiceURL 用于访问 Zabbix web 服务的 HTTP[S] URL,格式为: <host:port>/report。示例: http://localhost:10053/report
自 Zabbix 5.4.0 版本起开始支持此参数。
附注

1 请注意,过多的数据采集进程(例如:pollers、unreachable pollers、ODBC pollers、HTTP pollers、Java pollers、pingers、trappers、proxypollers)连同 IPMI 管理进程、SNMP 捕获进程和预处理线程可能会耗尽预处理管理器的每进程文件描述符限制。

上述行为会导致 Zabbix 服务器宕机(通常发生在启动后不久,或是启动后的一段时间内发生)。因此,您应修改配置文件或提高最大限制以避免这种情况的发生。

2 删除大量监控项时,会增加数据库的负载,这是因为删除某个监控项,管理程序需要删除该监控项的所有历史数据。例如,如果我们只需要删除 1 项监控项原型,但这个监控项原型链接到了 50 台主机,并且每台主机的监控项原型又扩展到了 100 个实际监控项,也就是说总共要删除 5000 个监控项(1*50*100)。如果 MaxHousekeeperDelete 设置为 500(MaxHousekeeperDelete=500),管理流程则必须在一个周期内从历史和趋势表中删除多达 2500000 个被删除监控项的相关值(5000*500)。


  1. 1↩︎