Table of Contents

1 Zabbix server

概述

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

注意事项:

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

参数

参数 必选 取值范围 默认值 描述
AlertScriptsPath no /usr/local/share/zabbix/alertscripts 自定义告警脚本存放路径(取决于编译时安装变量datadir)。
AllowRoot no 0 允许服务器以'root'用户运行。若禁用且服务器由'root'启动,将尝试切换至'zabbix'用户。以普通用户启动时此参数无效。
0 - 不允许
1 - 允许
AllowUnsupportedDBVersions no 0 允许服务器使用不受支持的数据库版本。
0 - 不允许
1 - 允许
CacheSize no 128K-64G 32M 配置缓存大小(字节)。
用于存储主机、监控项和触发器数据的共享内存大小。
CacheUpdateFrequency no 1-3600 60 配置缓存更新频率(秒)。
另见运行时控制选项。
DBHost no localhost 数据库主机名称。
MySQL中localhost或空string表示使用套接字。PostgreSQL中仅空string会尝试使用套接字。
连接建立中空string表示使用Net Service Name连接方式,此时建议通过TNS_ADMIN环境变量指定tnsnames.ora文件目录。
DBName yes 数据库名称。
连接建立使用Net Service Name连接方式时,需指定tnsnames.ora中的服务名或设为空string;若DBName设为空string需设置TWO_TASK环境变量。
DBPassword no 数据库密码。
若无密码请注释此行。
DBPort no 1024-65535 非本地套接字连接时的数据库端口。
连接建立使用Net Service Name连接方式时此参数无效,将使用tnsnames.ora中的端口号。
DBSchema no 模式名称(PostgreSQL专用)。
DBSocket no MySQL套接字文件路径。
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 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 - 扩展调试(更详细输出)
另见运行时控制选项。
ExportDir no 事件、历史和趋势数据以换行分隔JSON格式real-time export的目录。设置后启用实时导出。
此参数自Zabbix 4.0.0起支持。
ExportFileSize no 1M-1G 1G 单个导出文件最大字节数(仅ExportDir设置时用于轮转)。
此参数自Zabbix 4.0.0起支持。
ExportType no real-time export的逗号分隔实体类型列表(默认所有类型)。仅ExportDir设置时有效。
注意:若指定ExportType但未设置ExportDir,将导致配置错误且服务器无法启动。
例如:
ExportType=history,trends - 仅导出历史和趋势
ExportType=events - 仅导出事件
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 历史缓存大小(字节)。
存储历史数据的共享内存大小。
HistoryIndexCacheSize no 128K-2G 4M 历史索引缓存大小(字节)。
索引历史缓存数据的共享内存大小。
每个监控项索引约需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 清理数据库过期信息的频率(小时)。
注意:为防止housekeeper过载(如历史/趋势周期大幅缩短),每个监控项每次清理周期最多删除4倍HousekeepingFrequency小时的过期数据。若HousekeepingFrequency为1,则每周期最多删除4小时数据(从最旧开始)。
注意:为降低服务器启动负载,首次清理在启动后延迟30分钟执行。若HousekeepingFrequency为1,首次清理将在启动后30分钟运行,之后每小时一次。
Zabbix 3.0.0起可通过设为0禁用自动清理,此时仅能通过housekeeper_execute运行时控制选项触发,每次清理周期删除自上次清理后4倍时长的数据(不少于4小时且不超过4天)。
另见运行时控制选项。
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地址列表。
未设置时监听所有网络接口。
ListenPort no 1024-32767 10051 trapper监听端口。
LoadModule no 服务器启动时加载的模块,用于扩展功能。
格式:
LoadModule=<模块.so>
LoadModule=<路径/模块.so>
LoadModule=</绝对路径/模块.so>
模块需位于LoadModulePath指定目录或路径需前置。若为绝对路径(以'/'开头)则忽略LoadModulePath。
可配置多个LoadModule参数。
LoadModulePath no 服务器模块的完整路径。
默认取决于编译选项。
LogFile yes, if LogType is set to file, otherwise
no
日志文件名。
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 - 不记录慢queries。
DebugLevel≥3时此选项生效。
MaxHousekeeperDelete no 0-1000000 5000 每次清理周期每任务最多删除'MaxHousekeeperDelete'行(对应[表名],[字段],[值])。
设为0表示无限制(需谨慎使用,避免脚注 脚注)。
此参数仅适用于删除已移除监控项的历史/趋势数据。
NodeAddress no 10051 前端连接服务器时覆盖的IP/主机名(可选端口)。
格式:<地址>[:端口]
未设置时使用ListenIP值,若ListenIP未设置则使用localhost
可被前端配置中的地址覆盖。
另见:HANodeName参数
PidFile no /tmp/zabbix_server.pid PID文件名。
ProxyConfigFrequency no 1-604800 3600 Zabbix server向被动模式Zabbix proxy发送配置数据的频率(秒)。
ProblemHousekeepingFrequency | 否 | 1-3600 | 60 | 删除已移除触发器问题的频率(秒)。 |
ProxyDataFrequency | 否 | 1-3600 | 1 | 被动模式Zabbix server从Zabbix proxy请求历史数据的频率(秒)。 |
ServiceManagerSyncFrequency | 否 | 1-3600 | 60 | 服务管理器配置同步频率(秒)。 |
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选项。对于libcurl 7.42.0之前版本,仅当libcurl编译使用OpenSSL时有效。详见cURL web page
自Zabbix 2.4.0起用于web监控,3.0.0起用于SMTP认证。 |
StartAlerters | 否 | 1-100 | 3 | server-进程类型的预派生实例数。
此参数自Zabbix 3.4.0起支持。 |
StartDBSyncers | 否 | 1-100 | 4 | server-进程类型的预派生实例数。
注意:修改需谨慎,增加可能弊大于利。默认值约可处理4000 NVPS。 |
StartDiscoverers | 否 | 0-250 | 1 | server-进程类型的预派生实例数。 |
StartEscalators | 否 | 1-100 | 1 | server-进程类型的预派生实例数。
此参数自Zabbix 3.0.0起支持。 |
StartHistoryPollers | 否 | 0-1000 | 5 | server-进程类型的预派生实例数。
此参数自Zabbix 5.4.0起支持。 |
StartHTTPPollers | 否 | 0-1000 | 1 | server-进程类型脚注的预派生实例数。 |
StartIPMIPollers | 否 | 0-1000 | 0 | server-进程类型的预派生实例数。 |
StartJavaPollers | 否 | 0-1000 | 0 | server-进程类型脚注的预派生实例数。 |
StartLLDProcessors | 否 | 1-100 | 2 | 低级发现(L
脚注

1 注意,过多的数据采集进程(轮询器、不可达轮询器、ODBC轮询器、HTTP轮询器、Java轮询器、Ping检测器、Trapper、代理轮询器)与IPMI管理器、SNMP Trapper及预处理工作进程一起运行,可能会耗尽预处理管理器每个进程的文件描述符限制。

这将导致Zabbix server停止运行(通常在启动后不久发生,但有时可能需要更长时间)。应修改配置文件或提高限制以避免此情况。

2 当大量监控项被删除时,会增加数据库负载,因为管家进程需要移除这些监控项关联的所有历史数据。例如,若仅需从模板中移除1 监控项原型,但该模板链接到50 主机,且每个主机会将原型扩展为100个实际监控项,则总共需要删除5000个监控项(150100)。若设置MaxHousekeeperDelete=500,管家进程在一个周期内需从历史和趋势表中为已删除的监控项移除多达2500000条值(5000*500)。