Table of Contents

1 Zabbix server

概述

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

请注意:

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

参数

参数 必选 范围 默认值 描述
AlertScriptsPath no /usr/local/share/zabbix/alertscripts 自定义告警脚本存放路径(取决于编译时安装变量 datadir)。
AllowRoot no 0 允许服务器以'root'身份run. 若禁用且服务器由'root'启动, 服务器将尝试切换至'zabbix'用户. 以普通用户启动时此设置无效.
0 - 不允许
1 - 允许
AllowUnsupportedDBVersions no 0 允许服务器与不受支持的数据库版本协同工作。
0 - 不允许
1 - 允许
CacheSize no 128K-64G 32M configuration cache的大小,以字节为单位。
用于存储主机、监控项和触发器数据的共享memory大小。
CacheUpdateFrequency no 1-3600 60 决定Zabbix执行configuration cache的update操作的频率(以秒为单位)。
另请参阅运行时控制选项。
DBHost no localhost 数据库主机名.
对于MySQL, localhost或空string会导致使用套接字连接. 对于PostgreSQL
只有空string会尝试使用套接字.
对于连接建立, 空string会使用Net Service Name连接方式; 这种情况下建议使用TNS_ADMIN环境变量来指定tnsnames.orafile的目录.
DBName yes 数据库名称.
若使用连接建立且采用Net Service Name连接方式时,需指定tnsnames.ora中的服务名或设为空string; 若DBName设为空string,则需设置TWO_TASK环境变量.
DBPassword no 数据库密码。
若未使用密码请注释此行。
DBPort no 1024-65535 不使用本地套接字时的数据库端口。
对于连接建立,如果使用Net Service Name连接方式,此参数将被忽略;将改用tnsnames.ora file中的端口号。
DBSchema no 模式名称。用于PostgreSQL。
DBSocket no MySQL套接字路径 file.
DBUser no 数据库用户.
DBTLSConnect no 此选项强制要求使用TLS连接数据库:
required - 使用TLS连接
verify_ca - 使用TLS连接并验证证书
verify_full - 使用TLS连接,验证证书并确保DBHost指定的数据库身份与其证书匹配

MySQL从5.7.11版本开始和PostgreSQL支持以下值: "required", "verify_ca", "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)
包含用于数据库证书验证的Top级CA证书的file完整路径名.
该参数自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 - 扩展调试(产生更多信息)
另请参阅运行时控制选项.
ExportDir no 用于存储real-time export事件、历史和趋势数据的目录(换行符分隔的JSON格式)。若设置此参数,将启用实时export功能。
该参数自Zabbix 4.0.0版本起支持。
ExportFileSize no 1M-1G 1G 每个exportfile的最大字节大小。仅在设置ExportDir时用于轮转。
该参数自Zabbix 4.0.0版本起支持。
ExportType no 逗号分隔的实体类型列表(events, history, trends),用于real-time export(默认为所有类型)。仅在设置ExportDir时有效。
注意:如果指定了ExportType但未设置ExportDir,则属于配置错误,服务器将无法启动。
例如:
ExportType=history,trends - export 仅导出历史和趋势数据
ExportType=events - export 仅导出事件数据
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权限位!
HANodeName no 高可用集群节点名称。
当为空时,服务器以独立模式运行,并会创建一个名称为空的节点。
HistoryCacheSize no 128K-2G 16M history cache的大小,以字节为单位。
用于存储历史数据的共享memory大小。
HistoryIndexCacheSize no 128K-2G 4M 历史index cache的大小,以字节为单位。
共享memory大小,用于索引存储在history cache中的历史数据。
index cache大小大约需要100字节来缓存一个监控项。
该参数自Zabbix 3.0.0版本起支持。
HistoryStorageDateIndex no 0 在历史存储中启用历史值的预处理,以根据日期将值存储到不同的indices中:
0 - 禁用
1 - 启用
HistoryStorageURL no 历史存储HTTP[S] URL.
该参数用于Elasticsearch配置.
HistoryStorageTypes no uint,dbl,str,log,text 发送至历史存储的数值类型逗号分隔列表.
该参数用于Elasticsearch配置.
HousekeepingFrequency no 0-24 1 决定Zabbix执行数据库清理任务的频率(以小时为单位)。
清理任务是指从数据库中删除过时信息。
注意:为防止清理进程过载(例如当历史数据和趋势数据保留周期大幅缩短时),每次清理周期内每个监控项最多只删除相当于4倍HousekeepingFrequency时长的过时信息(从最旧的记录开始删除)。因此若HousekeepingFrequency设为1,每个周期最多删除4小时的过时数据。
注意:为降低服务器启动时的负载,清理任务会在服务器启动后延迟30分钟执行。因此若HousekeepingFrequency设为1,服务器启动后的首次清理将在30分钟后run,之后按1小时间隔重复执行。
从Zabbix 3.0.0开始,可通过将HousekeepingFrequency设为0来禁用自动清理。此时只能通过housekeeper_execute运行时控制选项触发清理,且单次清理周期内删除的过时数据时长为上次清理后时长的4倍(但不少于4小时且不超过4天)。
另见运行时控制选项。
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 服务器启动时加载的模块。模块用于扩展服务器功能。
格式:
LoadModule=<module.so>
LoadModule=<path/module.so>
LoadModule=</abs_path/module.so>
模块必须位于LoadModulePath指定的目录中,或者路径必须位于模块名称之前。如果前置路径是绝对路径(以'/'开头),则忽略LoadModulePath。
允许包含多个LoadModule参数。
LoadModulePath no 服务器模块所在位置的完整路径。
默认值取决于编译选项。
LogFile yes, if LogType is set to file, otherwise
no
日志名称 file.
LogFileSize no 0-1024 1 日志file的最大大小(MB)。
0 - 禁用自动日志轮转。
注意:如果日志file大小达到限制且file轮转失败(无论何种原因),现有日志file将被截断并重新开始记录。
LogType no file 日志输出类型:
file - 将日志写入由LogFile参数指定的file文件,
system - 将日志写入系统日志(syslog),
console - 将日志输出到标准输出.
该参数自Zabbix 3.0.0版本起支持.
LogSlowQueries no 0-3600000 0 定义数据库query执行超时阈值(毫秒),超过该时长将被记录。
0 - 不记录慢queries。
该选项在DebugLevel=3及以上级别生效。
MaxHousekeeperDelete no 0-1000000 5000 每个housekeeping周期内,每个任务最多删除'MaxHousekeeperDelete'行(对应[表名]、[字段]、[值])。
若设置为0则表示完全不设限制。此时需谨慎操作,以免overload the database! 2
该参数仅适用于删除已移除监控项的历史数据和趋势数据。
NodeAddress no 10051 用于覆盖前端应如何连接服务器的IP或主机名(可选端口)。
格式:<地址>[:端口]
若未设置IP或主机名,将使用ListenIP的值。若ListenIP未设置,则使用值localhost
该选项可被前端配置中指定的地址覆盖。
另请参阅:HANodeName参数
PidFile no /tmp/zabbix_server.pid PID文件名称 file.
ProxyConfigFrequency no 1-604800 3600 确定Zabbix server向Zabbix proxy发送配置数据的频率(以秒为单位)。仅适用于被动模式下的proxies。
ProblemHousekeepingFrequency no 1-3600 60 确定Zabbix为已删除触发器delete问题的频率(以秒为单位)。
ProxyDataFrequency no 1-3600 1 确定Zabbix server从Zabbix proxy请求历史数据的频率(以秒为单位)。仅适用于被动模式下的proxies。
ServiceManagerSyncFrequency no 1-3600 60 确定Zabbix以秒为单位同步服务管理器配置的频率。
SNMPTrapperFile no /tmp/zabbix_traps.tmp 用于从SNMP trap守护进程向服务器传递数据的临时file
必须与zabbix_trap_receiver.pl或SNMPTT配置中的file保持一致
SocketDir /tmp 用于存储Zabbix内部服务IPC套接字的目录。
该参数自Zabbix 3.4.0版本起支持。
SourceIP no 源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客户端证书文件位置。
该参数仅用于网页监控。
SSLKeyLocation 用于客户端认证的SSL私钥文件位置。
该参数仅用于网页监控。
SSLCALocation 覆盖用于SSL服务器证书验证的证书颁发机构(CA)文件位置。若未设置,将使用系统全局目录。
注意该参数值将作为libcurl选项CURLOPT_CAPATH设置。对于7.42.0之前的libcurl版本,仅当libcurl编译时使用OpenSSL才生效。更多信息参见cURL web page
该参数自Zabbix 2.4.0起用于Web监控,自Zabbix 3.0.0起用于SMTP认证。
StartAlerters no 1-100 3 server-进程类型的预派生实例数量。
该参数自Zabbix 3.4.0版本起支持。
StartDBSyncers no 1-100 4 server-进程类型的预派生实例数量。
注意: 修改此值需谨慎,增加该值可能弊大于利。通常默认值足以处理约4000 NVPS。
StartDiscoverers 0-250 1 server-进程类型的预派生实例数量。
StartEscalators 1-100 1 server-进程类型的预派生实例数量。
该参数自Zabbix 3.0.0版本起支持。
StartHistoryPollers no 0-1000 5 server-进程类型的预派生实例数量。
该参数自Zabbix 5.4.0版本起支持。
StartHTTPPollers no 0-1000 1 server-进程类型1的预派生实例数量.
StartIPMIPollers 0-1000 0 server-进程类型的预派生实例数量。
StartJavaPollers no 0-1000 0 server-进程类型1的预派生实例数量。
StartLLDProcessors no 1-100 2 低级发现(Low-Level Discovery, LLD)预派生实例数量server-进程类型1.
当启动LLD工作进程时,LLD管理器进程会自动启动.
该参数自Zabbix 4.2.0版本起支持.
StartODBCPollers 0-1000 1 预分叉的server-进程类型1实例数量。
StartPingers 0-1000 1 server-进程类型1 的预分叉实例数量。
StartPollersUnreachable no 0-1000 1 server-进程类型 的预派生实例数量(包括 IPMI 和 Java)1
如果启动了常规、IPMI 或 Java 轮询器,则必须至少运行一个不可达 主机 的轮询器。
StartPollers 0-1000 5 预分叉的server-进程类型1实例数量.
StartPreprocessors no 1-1000 3 预处理工作进程预派生实例数量server-进程类型1.
预处理管理器进程会在预处理工作进程启动时自动启动.
该参数自Zabbix 3.4.0版本起支持.
StartProxyPollers no 0-250 1 server-进程类型1的预派生实例数量。
StartReportWriters no 0-100 0 server-进程类型的预派生实例数量。
如果设置为0,则禁用计划报告生成。
当启动报告写入器时,报告管理器进程会自动启动。
此参数自Zabbix 5.4.0版本起支持。
StartSNMPTrapper no 0-1 0 如果设置为1,将启动server-进程类型进程。
StartTimers no 1-1000 1 server-进程类型的预派生实例数量。
计时器进程处理维护周期。
StartTrappers no 0-1000 5 预分叉的server-进程类型1实例数量.
Trappers接收来自Zabbix sender、主动agents和主动proxies的传入连接.
StartVMwareCollectors 0-250 0 预分叉的server-进程类型实例数量。
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版本起支持。
超时时间 1-30 3 指定等待agent、SNMP设备或外部检查的时长(秒)。
TLSCAFile no 包含用于对等证书验证的Top级CA证书的file完整路径名,用于Zabbix组件之间的加密通信。
该参数自Zabbix 3.0.0版本起支持。
TLSCertFile no 包含服务器证书或证书链的file完整路径名,用于Zabbix组件之间的加密通信。
该参数自Zabbix 3.0.0版本起支持。
TLSCipherAll 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 用于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 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 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 用于OpenSSL 1.1.1或更高版本的TLS 1.3密码套件string。覆盖基于PSK加密的默认密码套件选择标准。
示例:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
该参数自Zabbix 4.4.7版本起支持。
TLSCRLFile no 包含已吊销证书的file完整路径名。该参数用于Zabbix组件之间的加密通信。
此参数从Zabbix 3.0.0版本开始支持。
TLSKeyFile no 包含服务器私钥的file完整路径,用于Zabbix组件之间的加密通信。
该参数自Zabbix 3.0.0版本起支持。
TmpDir /tmp 临时目录。
TrapperTimeout 1-300 300 指定trapper处理新数据允许的最大耗时(秒)。
TrendCacheSize no 128K-2G 4M trend cache的大小,以字节为单位。
用于存储趋势数据的共享memory大小。
TrendFunctionCacheSize 128K-2G 4M 趋势函数缓存大小,以字节为单位。
用于缓存计算趋势函数数据的共享memory大小。
UnavailableDelay 1-3600 60 确定在不可用接口期间检查主机可用性的频率,单位为秒。
UnreachableDelay 1-3600 15 确定在不可达接口期间(以秒为单位)检查主机可用性的频率。
UnreachablePeriod 1-3600 45 确定在不可达接口持续多少秒后将一个主机视为不可用。
用户 zabbix 在系统中将权限降级为指定的现有用户.
仅当以'root'身份运行run且AllowRoot被禁用时生效.
ValueCacheSize no 0,128K-64G 8M 历史数据value cache的大小,以字节为单位。
用于缓存监控项历史数据请求的共享memory大小。
设置为0将禁用value cache(不推荐)。
当value cache耗尽共享memory时,系统会每5分钟向服务器日志写入一条警告信息。
VaultDBPath no 用于从Vault路径中通过'password'和'username'键获取数据库凭证的路径。
示例:secret/zabbix/database
仅当未指定DBUser和DBPassword时才能使用此选项。
该参数自Zabbix 5.2.0版本起支持。
VaultToken 专为Zabbix server生成的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数据的共享memory大小。
可通过zabbix[vmware,buffer,...]内部检查来监控vmware cache使用情况(参见Internal checks)。
注意:若未配置任何vmware采集器实例启动,则不会分配共享memory。
VMwareFrequency no 10-86400 60 从单个VMware服务收集数据之间的延迟秒数。
此延迟应设置为任何VMware监控监控项的最小update间隔。
VMwarePerfFrequency 10-86400 60 从单个VMware服务获取性能计数器统计数据的延迟秒数。
该延迟应设置为使用VMware性能计数器的任何VMware监控item的最小update间隔。
VMwareTimeout no 1-300 10 vmware采集器等待VMware服务(vCenter或ESX虚拟机监控程序)响应的最大秒数。
WebServiceURL Zabbix网络服务的HTTP[S] URL,格式为<host:port>/report。例如:http://localhost:10053/report
该参数自Zabbix 5.4.0版本起支持。
脚注

1 注意过多的数据采集进程(轮询器, 不可达轮询器, ODBC轮询器, HTTP轮询器, Java轮询器, ping轮询器, trapper轮询器 代理轮询器(proxypollers)与IPMI管理器、SNMP捕捉器和预处理程序一起 workers可能会耗尽每个进程file的文件描述符限制 预处理管理器

这将导致Zabbix server停止(通常 启动后不久(但有时可能需要更长时间)。 配置 file 应进行修订或将限制提高到 避免这种情况。

2 当大量监控项被删除时,会增加系统负载 数据库, 因为管家进程需要删除所有历史数据 这些监控项所拥有的数据。例如,如果我们只需要移除1个监控项 从模板继承原型,但该模板已链接到50个主机,且每个主机 原型被扩展到100个真实的监控项,总共需要5000个监控项 将被移除 (150100). 如果MaxHousekeeperDelete设置为500 (MaxHousekeeperDelete=500), 管家进程将不得不删除 最多2500000个值(5000*500)用于从历史记录中删除的监控项 一个周期内的趋势表