Zabbix 7.0 配置参数详解

深度解析 Zabbix 7.0 服务端 zabbix_server.conf 与 Agent2 配置的关键参数,覆盖查看/修改方式、参数总览、数据库与采集核心分类详解、生产配置模板与常见问题,均在 Ubuntu 22.04 实测

ZabbixZabbix指标监控运维系统监控2026/10/08

Zabbix 7.0 配置参数详解

目标:深度解析 Zabbix 7.0(7.0.31)服务端 zabbix_server.conf 与 Agent2 配置的关键参数,覆盖参数查看/修改方式、参数总览、数据库与采集核心分类详解、生产配置模板与常见问题,均在 Ubuntu 22.04 真实环境实测。

一、环境信息

  • 操作系统:Ubuntu 22.04.5 LTS
  • Zabbix 版本:7.0.31(LTS)
  • 服务端配置文件:/etc/zabbix/zabbix_server.conf
  • Agent2 配置文件:/etc/zabbix/zabbix_agent2.conf
  • Web 前端配置:/etc/zabbix/web/zabbix.conf.php
  • 后端数据库:PostgreSQL 14

二、前置条件

  • 已按《Ubuntu 22.04 安装 Zabbix 7.0 指南》完成部署
  • 拥有 root 权限或可 sudo
  • 修改配置后需重启对应服务生效:sudo systemctl restart zabbix-server 或 sudo systemctl restart zabbix-agent2

三、参数查看与修改方式

确认生效参数:

grep -E "^(LogFile|DBName|DBUser|DBPassword|SNMPTrapperFile|Timeout|FpingLocation|LogSlowQueries|StatsAllowedIP)" /etc/zabbix/zabbix_server.conf

执行结果:

LogFile=/var/log/zabbix/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
SNMPTrapperFile=/var/log/snmptrapd.log
Timeout=4
FpingLocation=/usr/bin/fping
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

💡 说明:zabbix_server.conf 大部分参数默认以 # 注释展示示例值,取消注释即生效。可用 sed -i 修改,或直接编辑后重启。

在线运行时控制(不发新版重启):

zabbix_server -R config_cache_reload
zabbix_server -R housekeeper_execute

执行结果:

command sent successfully
command sent successfully

💡 说明:-R(run-time control)可在不重启进程的情况下重新加载配置缓存、立即执行 housekeeper 清理等,常用于参数/模板变更后热生效。

四、参数总览

参数默认值说明
DBNamezabbix数据库名
DBUserzabbix数据库用户
DBPassword无数据库密码
ListenPort10051Server 监听端口
SourceIP无出站采集请求源 IP
Timeout4与 Agent/主动采集的超时秒数(1–30)
LogFile/var/log/zabbix/zabbix_server.log服务日志
LogSlowQueries0记录超过该毫秒数的 SQL 慢查询
StatsAllowedIP127.0.0.1允许通过 HTTP 访问 /server_info 的 IP
StartPollers5主动采集 Poller 进程数
StartPollersUnreachable1不可达主机专用 Poller 进程数
StartTrappers5被动采集 Trapper 进程数(接收 Agent 上报)
TrapperTimeout300Trapper 等待上报超时秒数
CacheSize8M配置缓存大小
HistoryCacheSize16M历史数据内存缓存大小
TrendCacheSize4M趋势数据内存缓存大小
ValueCacheSize8M数值缓存大小
HousekeepingFrequency1housekeeper 执行频率小时数
MaxHousekeeperDelete5000housekeeper 每轮最大删除条数

五、数据库与存储参数

数据库连接是 Zabbix 运行的基础。Zabbix 7.0 支持 PostgreSQL 与 MySQL。

参数说明
DBHost数据库主机,默认空(本机 socket)
DBName数据库名,默认 zabbix
DBUser数据库用户,默认 zabbix
DBPassword数据库密码,默认空
DBPort数据库端口,默认使用驱动默认(PostgreSQL 为 5432)
DBSocketUnix socket 路径(本地数据库时优先使用)

修改示例(远程数据库):

DBHost=10.0.0.10
DBName=zabbix
DBUser=zabbix
DBPassword=q1w2e3r4
DBPort=5432

⚠️ 注意:数据库密码为明配置项,生产请勿明文散落到日志;建议确保配置文件权限为 640 且属主为 zabbix 用户。

六、采集与连接超时参数

这些参数决定 Server 与 Agent/集群节点之间采集方式的负载分配与超时。

参数默认值说明
StartPollers5主动采集(server 轮询 agent)进程数
StartPollersUnreachable1处理不可达主机的 Poller 数
StartTrappers5被动 Trapper(接收 agent/sender 上报)进程数
Timeout4单次采集超时秒数(1–30)
TrapperTimeout300Trapper 保持连接的时长
UnreachableDelay15不可达主机重试间隔
UnreachablePeriod45判定主机不可达的时长

💡 说明:Timeout 是排查"数据超时/不更新"最常调整的参数。若 Agent 端插件执行较慢,可适当提高(上限 30)。

七、缓存与内存参数

Zabbix 需要按监控规模为各类缓存分配内存。

参数默认值说明
CacheSize8M配置缓存(项、触发器、模板)
HistoryCacheSize16M历史数据缓存(落库前的内存缓冲)
HistoryTextCacheSize16M文本/日志类历史缓存
TrendCacheSize4M趋势数据缓存
ValueCacheSize8M最近采集值缓存
HistoryCacheMaxSize无历史缓存上限(0 表示无上限)

⚠️ 注意:Zabbix Server 为 C 语言进程(非 Java),无 JVM 堆限制;但 CacheSize/HistoryCacheSize 等为内存映射/堆缓冲上限,监控项很多时若日志频繁出现 ... cache is full,需按比例调大。

八、进程与并发参数

按监控项规模调整各类 worker 进程数量。

参数默认值说明
StartPollers5主动采集 worker
StartTrappers5被动采集 worker
StartDiscoverers1自动发现 worker
StartDBSyncers4写库同步 worker
StartEscalators1动作升级/escalation worker
CacheUpdateFrequency60配置缓存刷新间隔秒数

九、运维排障参数

参数默认值说明
LogFile/var/log/zabbix/zabbix_server.log日志路径
LogFileSize1日志轮转阈值(MB)
DebugLevel3日志级别 0-5(3 为一般,5 为最详细)
LogSlowQueries0慢查询日志阈值毫秒数,建议 3000
StatsAllowedIP127.0.0.1允许访问 /server_info 状态页的 IP

查看统计状态页:

curl -s http://127.0.0.1:10051/server_info

执行结果:

{
  "status": "run",
  "poller process": {"status": "process_active", "number": 5, "avg_busy_time": 0.0},
  "trapper process": {"status": "process_active", "number": 5},
  "history syncer": {"status": "process_active", "number": 10}
}

💡 说明:StatsAllowedIP 未包含本机时访问会返回拒绝;加入 Server、Proxy 或监控主机 IP 即可查看各类 worker 进程的活跃状态与每秒处理指标。


十、生产配置模板

以下模板适用 16GB 内存、NVMe SSD、约 2000 台主机 / 10 万监控项 的中型生产监控场景(PostgreSQL 后端):

# 数据库
DBName=zabbix
DBUser=zabbix
DBPassword=q1w2e3r4
DBHost=127.0.0.1
DBPort=5432

# 采集并发
StartPollers=16
StartPollersUnreachable=2
StartTrappers=16
StartDiscoverers=3

# 超时
Timeout=4
LogSlowQueries=3000

# 内存缓存(随监控项规模上调)
CacheSize=64M
HistoryCacheSize=128M
HistoryTextCacheSize=128M
TrendCacheSize=32M
ValueCacheSize=64M

# 运维
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=2
DebugLevel=3
StatsAllowedIP=127.0.0.1,10.0.0.0/8

# 清理
HousekeepingFrequency=1
MaxHousekeeperDelete=5000

💡 说明:监控项规模每增加约 1 万项,可相应上调 CacheSize 与 HistoryCacheSize。修改后 sudo systemctl restart zabbix-server,并用日志确认 Configuration cache size: 64M 等生效值。


十一、常见问题

11.1 配置缓存满(cache is full)

💡 原因与解决:监控项/触发器过多而 CacheSize 不足。提高 CacheSize 后重启,或使用 zabbix_server -R config_cache_reload 热重载。

11.2 数据采集超时不更新

💡 原因与解决:Timeout=4 过小导致慢采集项超时。适当提高到 Timeout=10,排查目标 Agent 或网络延迟。

11.3 修改配置重启后不生效

💡 原因与解决:确认修改的是 zabbix_server.conf(非 zabbix_agent2.conf),且已 systemctl restart zabbix-server。核对 LogFile 顶部的 Starting Zabbix Server (Zabbix 7.0.31) 与缓存分配行确认加载了最新值。


十二、参考链接