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 指定的数据库身份是否与其证书匹配

从 MySQL 5.7.11 和 PostgreSQL 开始支持以下值:"required", "verify_ca", "verify_full"。从 MariaDB 版本 10.2.6 开始支持 "required" 和 "verify_full" 值。
默认未设置任何选项,行为取决于数据库配置。

此参数自 Zabbix 5.0.0 起支持。
DBTLSCAFile
(如果是 DBTLSConnect 设置为 verify_ca 或 verify_full 则为是)
包含用于数据库证书验证的顶级 CA 证书的文件的完整路径名。
此参数自 Zabbix 5.0.0 起支持。
DBTLSCertFile 包含用于向数据库进行身份验证的 Zabbix server证书的文件的完整路径名。
此参数自 Zabbix 5.0.0 起支持。
DBTLSKeyFile 包含用于向数据库进行身份验证的私钥的文件的完整路径名。
此参数自 Zabbix 5.0.0 起支持。
DBTLSCipher Zabbix server允许用于 TLS 协议的加密密码列表,直到 TLSv1.2。
仅 MySQL 支持。
此参数自 Zabbix 5.0.0 起支持。
DBTLSCipher13 Zabbix server允许用于 TLSv1.3 协议的加密密码列表。
仅 MySQL 支持,从版本 8.0.16 开始。
此参数自 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 执行维护操作的频率,单位为小时。
维护是从数据库中删除过时信息的过程。
注意:为了防止管家过载(例如,当历史和趋势周期大大减少时),在一个维护周期中,每个监控项删除的过时信息不超过 HousekeepingFrequency 小时的 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 网关的 IP 地址(或主机名)。
仅在启动 Java 轮询器时需要。
JavaGatewayPort 1024-32767 10052 Zabbix Java 网关监听的端口。
ListenBacklog 0 - INT_MAX SOMAXCONN TCP队列中挂起连接的最大数量。
默认值是一个硬编码常量,这取决于系统。
支持的最大值也取决于系统,过高的值可能会被静默截断为“实现指定的最大值”。
ListenIP 0.0.0.0 trapper 应该监听的逗号分隔的 IP 地址列表。
如果缺少此参数,trapper 将监听所有网络接口。
ListenPort 1024-32767 10051 trapper 的监听端口。
LoadModule 在服务器启动时加载的模块。模块用于扩展服务器的功能。
格式:
LoadModule=<module.so>
LoadModule=<path/module.so>
LoadModule=</abs_path/module.so>
模块必须位于 LoadModulePath 指定的目录中,或者路径必须在模块名称之前。如果前面的路径是绝对路径(以 '/' 开头),则忽略 LoadModulePath。
允许包含多个 LoadModule 参数。
LoadModulePath 服务器模块的位置的完整路径。
默认值取决于编译选项。
LogFile 是,如果 LogType 设置为 file,否则
日志文件的名称。
LogFileSize 0-1024 1 日志文件的最大大小(MB)。
0 - 禁用自动日志轮转。
注意:如果日志文件大小达到限制并且文件轮转失败,无论出于何种原因,现有的日志文件将被截断并重新开始。
LogType file 日志输出类型:
file - 写入由 LogFile 参数指定的日志文件,
system - 写入系统日志,
console - 输出到控制台。
此参数自 Zabbix 3.0.0 起支持。
LogSlowQueries 0-3600000 0 确定数据库查询在被记录为慢查询之前的最长时间(毫秒)。
0 - 不记录慢查询。
此选项从 DebugLevel=3 开始启用。
MaxHousekeeperDelete 0-1000000 5000 每个任务在一个维护周期中删除的行数(对应于 [tablename], [field], [value])不超过 'MaxHousekeeperDelete'。
如果设置为 0,则不使用任何限制。在这种情况下,您必须知道自己在做什么,以免 过度加载数据库! 2
此参数仅适用于已删除监控项的历史和趋势数据的删除。
NodeAddress 10051 IP 或主机名,可选端口,用以覆盖前端应如何连接到服务器的方式。
格式:<address>[:port]
如果未设置 IP 或主机名,则将使用 ListenIP 的值。如果 ListenIP 也未设置,则将使用值 localhost
此选项可以被前端配置中指定的地址覆盖。
另见:HANodeName 参数
PidFile /tmp/zabbix_server.pid PID 文件的名称。
ProxyConfigFrequency 1-604800 3600 确定 Zabbix server 向 Zabbix proxy 发送配置数据的频率,单位为秒。仅用于被动模式的 proxies。
ProblemHousekeepingFrequency 1-3600 60 确定 Zabbix 删除已删除触发器的问题的频率,单位为秒。
ProxyDataFrequency 1-3600 1 确定 Zabbix server 从 Zabbix proxy 请求历史数据的频率,单位为秒。仅用于被动模式的 proxies。
ServiceManagerSyncFrequency 1-3600 60 确定 Zabbix 同步服务管理器配置的频率,单位为秒。
SNMPTrapperFile /tmp/zabbix_traps.tmp 用于从 SNMP trap 守护进程向服务器传递数据的临时文件。
必须与 zabbix_trap_receiver.pl 或 SNMPTT 配置文件中的相同。
SocketDir /tmp 存储内部 Zabbix 服务使用的 IPC 套接字的目录。
此参数自 Zabbix 3.4.0 起支持。
SourceIP 源 IP 地址用于:
- 与 Zabbix proxy 和 Zabbix agent 的出站连接;
- 无代理连接(VMware、SSH、JMX、SNMP、Telnet 和简单检查);
- HTTP agent 连接;
- 脚本监控项 JavaScript HTTP 请求;
- 预处理 JavaScript HTTP 请求;
- 发送通知邮件(连接到 SMTP 服务器);
- Webhook 通知(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 认证。
StartAlerters 1-100 3 alerters 的预派生实例数量。
此参数自 Zabbix 3.4.0 起支持。
StartDBSyncers 1-100 4 history syncers 的预派生实例数量。
注意:更改此值时要小心,增加它可能弊大于利。大致上,默认值应该足以处理多达 4000 NVPS。
StartDiscoverers 0-250 1 discoverers 的预派生实例数量。
StartEscalators 1-100 1 escalators 的预派生实例数量。
此参数自 Zabbix 3.0.0 起支持。
StartHistoryPollers 0-1000 5 history pollers 的预派生实例数量。
此参数自 Zabbix 5.4.0 起支持。
StartHTTPPollers 0-1000 1 HTTP pollers 的预派生实例数量。
StartIPMIPollers 0-1000 0 IPMI pollers 的预派生实例数量。
StartJavaPollers 0-1000 0 Java pollers 的预派生实例数量。
StartLLDProcessors 1-100 2 低级发现 (LLD) workers 的预派生实例数量。
当启动 LLD 工作进程时,LLD 管理进程将自动启动。
此参数自 Zabbix 4.2.0 起支持。
StartODBCPollers 0-1000 1 ODBC pollers 的预派生实例数量。
StartPingers 0-1000 1 ICMP pingers 的预派生实例数量。
StartPollersUnreachable 0-1000 1 pollers for unreachable hosts 的预派生实例数量(包括 IPMI 和 Java)
如果启动了常规、IPMI 或 Java 轮询器,则至少必须运行一个无法到达主机的轮询器。
StartPollers 0-1000 5 pollers 的预派生实例数量。
StartPreprocessors 1-1000 3 预处理 workers 的预派生实例数量。
当启动预处理工作进程时,预处理管理进程将自动启动。
此参数自 Zabbix 3.4.0 起支持。
StartProxyPollers 0-250 1 pollers for passive proxies 的预派生实例数量。
StartReportWriters 0-100 0 report writers 的预派生实例数量。
如果设置为 0,则禁用计划报表生成。
当启动报表编写器时,报表管理进程将自动启动。
此参数自 Zabbix 5.4.0 起支持。
StartSNMPTrapper 0-1 0 如果设置为 1,则将启动 SNMP trapper 进程。
StartTimers 1-1000 1 timers 的预派生实例数量。
计时器处理维护周期。
StartTrappers 0-1000 5 trappers 的预派生实例数量。
轮询器接受来自 Zabbix sender、主动 agents 和主动 proxies 的传入连接。
StartVMwareCollectors 0-250 0 VMware collector 实例的预派生数量。
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 的加密的默认密码套件选择标准。
示例:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
此参数自 Zabbix 4.4.7 起支持。
TLSCipherAll13 OpenSSL 1.1.1 或更高版本在 TLS 1.3 中的密码字符串。覆盖基于证书和基于 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 OpenSSL 1.1.1 或更高版本在 TLS 1.3 中的密码字符串。覆盖基于证书的加密的默认密码套件选择标准。
此参数自 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 OpenSSL 1.1.1 或更高版本在 TLS 1.3 中的密码字符串。覆盖基于 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 1-3600 15 确定在 不可达 期间,以秒为单位检查主机可用性的频率。
UnreachablePeriod 1-3600 45 确定在多少秒的 不可达 后,将主机视为不可用。
User zabbix 将权限降低到系统上特定的、已存在的用户。
仅当以 'root' 身份运行且 AllowRoot 被禁用时有效。
ValueCacheSize 0,128K-64G 8M 历史值缓存的大小,单位为字节。
共享内存大小,用于缓存监控项历史数据请求。
设置为 0 将禁用值缓存(不推荐)。
当值缓存耗尽共享内存时,每 5 分钟会在服务器日志中写入一条警告消息。
VaultDBPath 通过键 'password' 和 'username' 检索数据库凭据的 Vault 路径。
示例:secret/zabbix/database
如果未指定 DBUser 和 DBPassword,则只能使用此选项。
此参数自 Zabbix 5.2.0 起支持。
VaultToken 应为 Zabbix server 专门生成的 Vault 认证令牌,该令牌仅具有对 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 256K-2G 8M 存储 VMware 数据的共享内存大小。
可以使用 VMware 内部检查 zabbix[vmware,buffer,...] 来监控 VMware 缓存使用情况(见 内部检查)。
注意,如果没有配置启动的 vmware collector 实例,则不分配共享内存。
VMwareFrequency 10-86400 60 从单个 VMware 服务收集数据之间的延迟,单位为秒。
此延迟应设置为任何 VMware 监控项的最小更新间隔。
VMwarePerfFrequency 10-86400 60 从单个 VMware 服务检索性能计数器统计信息之间的延迟,单位为秒。
此延迟应设置为使用 VMware 性能计数器的任何 VMware 监控项 的最小更新间隔。
VMwareTimeout 1-300 10 VMware 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)。