
一文带你掌握 Zabbix从入门到实战部署Rocky Linux 9.6 Zabbix 6.0 LTS环境Rocky Linux 9.6x86_64 / Zabbix 6.0 LTS / MySQL 8.0声明本文为实战部署记录文中所有命令均已在上述环境验证通过可直接照抄上手。适合人群零基础想入门监控的同学或想在生产中系统搭建 Zabbix 平台的工程师。写在前面监控是运维的眼睛线上出故障最怕的不是故障本身而是发现得太晚。等业务方反馈页面打不开了再排查损失往往已经造成。监控的意义就是让你在故障发生前预警、发生后快速定位——而 Zabbix正是开源监控界的事实标准。但 Zabbix 的上手门槛不低环境准备 → 数据库初始化 → Server/Web 部署 → Agent 纳管 → 告警闭环一环扣一环文档散、坑点多新手很容易照着教程也装不起来。这篇文章就是一份可直接照抄的实战记录基于Rocky Linux 9.6 Zabbix 6.0 LTS MySQL 8.0所有命令均已在文中环境验证通过。你只需要一台 2C4G 的测试机按章节顺序敲完就能收获一套可用的监控平台。目录一、Zabbix 核心概念与系统架构二、部署前环境准备三、部署 Zabbix Server四、部署 Zabbix Agent被监控主机五、实战添加监控项、触发器与图形六、模板批量纳管同一类主机七、自动发现与自动注册规模化纳管八、配置告警监控闭环九、分布式监控Zabbix Proxy十、Grafana 可视化大屏十一、日常排障手册十二、总结与下一步一、Zabbix 核心概念与系统架构1.1 Zabbix 系统架构核心组件及其职责组件作用Zabbix Server大脑。负责采集调度、触发器计算、告警发送常驻进程zabbix_serverDatabase数据仓库存储配置与历史/趋势数据生产建议独立部署Web Frontend基于 PHP 的 Web 管理界面Zabbix Agent安装在被监控主机上的采集探针Zabbix Proxy分布式代理替 Server 分摊采集压力适合跨机房、大并发Zabbix Java Gateway采集 JMX Java 应用Tomcat、Kafka 等指标Zabbix Get命令行取数工具是排障利器端口约定防火墙配置要用10050/TCP—— Agent 监听供 Server 被动拉取10051/TCP—— Server 监听接收 Agent 主动上报和 Proxy 转发80 / 8080/TCP—— Web 前端访问端口解析排障只要抓住两个端口——“谁拉谁的数据谁就监听谁”。Server 被动拉数据 → 连 Agent 的10050Agent 主动上报 → 连 Server 的10051。1.2 数据是怎么被采集上来的核心概念模型Zabbix 的采集模型Host主机→ Item监控项→ Trigger触发器→ Action动作→ 告警/执行。Host(主机) ──定义── Item(监控项) ──超过阈值── Trigger(触发器) │ ▼ Media(告警介质) ──发送── Action(动作) ──条件匹配──┘两种核心采集模式被动模式默认Server 按周期主动向 Agent 发起请求Agent 把结果回传。适合主机数量不多、Server 压力可控的场景。主动模式Agent 周期主动向 Server或 Proxy上报数据。适合大规模场景能把采集压力分摊到 Agent 端。常见的监控项类型Item type类型适用场景Zabbix agent默认探针CPU、内存、磁盘、网络等SNMP agent交换机、路由器等网络设备IPMI服务器硬件传感器温度、风扇、电源JMXJava 中间件指标HTTP agent网页状态码、接口可用性Simple checkTCP 端口存活、ICMP ping 等External check / Script自定义脚本万能扩展点解析这条链路是 Zabbix 的神经反射弧Item 决定采什么Trigger 决定什么时候算异常Action 决定异常了通知谁。后续部署你会亲手走完这条链路。二、部署前环境准备2.1 环境要求项目建议操作系统Rocky Linux 9.6 x86_64CPU / 内存测试环境 2C / 4G 足够磁盘50G历史数据很吃磁盘建议独立数据盘数据库MySQL 8.0Rocky 9.6 官方镜像源自带版本Zabbix6.0 长期维护版本2.2 网络规划本文规划两台机器一台做 Server一台做被监控主机主机名IP角色server1192.168.40.141Zabbix Server MySQL Web 前端server2192.168.40.142被监控主机Agent 后文第九章的分布式监控还会再加一台 server3192.168.40.143充当 Proxy这里先把网段规划好后面不用改。2.3 基础优化防火墙 / SELinux / 时间同步实验环境下图省事可以关掉防火墙和 SELinux但生产环境更推荐放行端口而不是整体关闭。这里给出两种做法# 方案一实验/内网环境简单粗暴systemctl stop firewalldsystemctl disable firewalld setenforce0sed-is/^SELINUX.*/SELINUXdisabled//etc/selinux/config# 方案二生产推荐只放行必要端口firewall-cmd--permanent--add-port80/tcp# Web 前端firewall-cmd--permanent--add-port10051/tcp# Server 监听Agent 主动上报firewall-cmd--permanent--add-port10050/tcp# Agent 监听Server 被动拉取firewall-cmd--reload另外监控系统对时间非常敏感——Server 和 Agent 时间不一致告警时间、数据对账都会乱。务必配置 NTP 时间同步dnfinstall-ychrony systemctlenable--nowchronyd timedatectl set-timezone Asia/Shanghai# 按需设置时区chronyc sources# 确认时间源已同步三、部署 Zabbix Server192.168.40.1413.1 添加官方源并安装组件Zabbix 官方下载页会根据你选择的版本、操作系统、数据库、Web 服务器自动生成对应的安装命令。入口Zabbix 官网下载页在页面选择6.0 / Rocky Linux 9 / MySQL / Apache官方会给出对应的安装方式依次执行官方给出的安装命令对应的可复制命令如下与截图内容一致rpm-Uvhhttps://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest-6.0.el9.noarch.rpm dnf clean all dnfinstall-yzabbix-server-mysql zabbix-web-mysql zabbix-apache-conf\zabbix-sql-scripts zabbix-selinux-policy zabbix-agent解析逐个说清楚装了什么——zabbix-server-mysql核心的zabbix_server守护进程zabbix-web-mysqlPHP 编写的 Web 前端程序zabbix-apache-conf自动在 httpd 下生成/etc/httpd/conf.d/zabbix.conf虚拟主机配置zabbix-sql-scripts数据库初始化脚本server.sql.gz里面是表结构和内置模板数据zabbix-selinux-policySELinux 放行策略虽然实验关了 SELinux装上无害zabbix-agent连 Server 自己也要被监控顺手装上。3.2 初始化 MySQL 数据库Rocky 9 官方源自带 MySQL 8.0直接安装即可dnfinstall-ymysql-server systemctlenable--nowmysqld# 启动并开机自启初始化 Zabbix 数据库把password换成你自己的密码建议用强密码mysql-uroot-p进入 MySQL 后依次执行# 创建 Zabbix 专属数据库utf8mb4 字符集CREATEDATABASEzabbixCHARACTERSETutf8mb4COLLATEutf8mb4_bin;# 创建专用账号只授权给 zabbix 库CREATEUSERzabbixlocalhostIDENTIFIEDBYpassword;GRANTALLPRIVILEGESONzabbix.*TOzabbixlocalhostWITHGRANTOPTION;# 临时放开函数创建限制为导入 server.sql.gz 做准备SETGLOBALlog_bin_trust_function_creators1;QUIT;退出后导入 Zabbix 官方提供的建表脚本zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz|mysql --default-character-setutf8mb4-uzabbix-pzabbix导入完成后务必将限制关回 0注意要退出当前 MySQL 会话重新进入或直接执行mysql-uroot-p-eSET GLOBAL log_bin_trust_function_creators 0;解析为什么一定要log_bin_trust_function_creators 1server.sql.gz里有存储函数如nan()。MySQL 为了安全默认不允许在未指定DETERMINISTIC等属性时创建函数此时直接导入会报ERROR 1419 (HY000)。临时打开这个开关再导入成功后务必关回 0避免留下安全敞口。顺带一提server.sql.gz里不止有表结构还预置了大量官方监控模板Linux、MySQL、Nginx……这就是后面模板直接套用的数据来源。3.3 配置 Server 连接数据库并启动服务为 Zabbix 配置 MySQL 连接信息然后重启服务。注Rocky 9 官方源自带 httpd 和 php-fpm无需再手动搭建 LAMP 环境。vim/etc/zabbix/zabbix_server.conf找到DBPassword那一行默认是注释掉的取消注释并填入数据库密码DBPasswordpassword启动并设置开机自启systemctlenable--nowzabbix-server zabbix-agent httpd php-fpm验证监听端口应能看到 10051、80 等解析改完配置后 Zabbix 首次启动会自动连接 MySQL 做一次版本检查。如果 3.2 小节数据库没导入成功这里zabbix-server会反复重启并报Cannot connect to database——看到这个报错先回 3.2 排查数据库别急着改别处。3.4 添加 PHP 页面汉化与中文字体Zabbix Web 前端本身支持中文但中文图形里的文字需要中文字体才能正常显示否则会出现方框乱码。需要给系统安装中文字体包dnfinstallglibc-langpack-zh-ylocalectl list-locales|grepzh_CN# 确认 zh_CN 语言包已就绪在 Web 前端首次配置向导中将界面语言选为中文简体3.5 部署成功与首次登录配置完成后进入 Web 界面默认账号Admin/zabbix注意 A 大写。登录后第一件事建议改掉默认密码Zabbix 默认口令广为人知生产环境裸奔很危险。修改路径管理 → 用户 → Admin → 密码。四、部署 Zabbix Agent被监控主机 192.168.40.1424.1 安装 Agent与 Server 端一样先加官方源再安装rpm-Uvhhttps://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest-6.0.el9.noarch.rpm dnfinstall-yzabbix-agent4.2 主动模式 vs 被动模式务必先搞懂配置 Agent 前先把两种模式的区别讲透否则后面 Web 端配置容易踩坑。被动模式Passive默认Server 主动发起 TCP 连接访问 Agent 的10050端口Agent 收到请求采集本机数据把结果返回给 Server当 Agent 数量巨大时Server 会创建大量连接压力明显上涨。主动模式ActiveAgent 主动发起连接去找 Zabbix ServerServer 监听10051端口Server 接收数据存入数据库不会主动去连 Agent主动模式下Web 界面主机的监控项类型要改成Zabbix agent (active)不能继续用被动的Zabbix agent主动模式只需要 Agent出站访问 10051不需要 Server 入站访问 Agent 机器对防火墙更友好。⚠️实战提醒主动模式下 Server 不会去探测 Agent 的 10050 端口所以单独使用主动模板时Agent 的状态会显示为未知灰色 ZBX这是正常现象。因此生产实践中常常主动模板 被动模板搭配使用用被动模板里的agent.ping判断主机存活用主动模板采集业务数据。4.3 配置 Agent修改 Agent 配置文件vim/etc/zabbix/zabbix_agentd.conf核心需要修改的三项Server192.168.40.141 # 被动模式允许哪些 Server 来拉数据白名单 ServerActive192.168.40.141 # 主动模式Agent 主动上报给哪个 Server Hostnameserver2 # Agent 自己的主机名⚠️Hostname 三处必须一致zabbix_agentd.conf里的Hostname、Web 端创建主机时填的主机名称以及 Server 端识别这台 Agent 用的名字三者必须完全一致。Server 要靠这个名字来对账识别 Agent对不上就会采集失败。这是 Zabbix 新手翻车率最高的坑之一。启动并验证systemctlenable--nowzabbix-agent.service ss-lntp|grep10050# 确认 Agent 已监听 10050 端口4.4 在 Web 端添加主机接入 Agent路径监测 → 主机 → 创建主机填写配置项填写内容主机名称server2必须与 Agent 配置文件里的 Hostname 一致可见的名称Agent02-业务机随便起用于显示群组新建或选择Linux servers接口AgentIP192.168.40.142端口10050添加成功主机列表出现server2ZBX 图标颜色含义绿色 Agent 连接正常灰色 暂时无数据红色 采集失败多半是防火墙、端口、Hostname 不一致导致。解析这里最容易踩的坑是接口栏。接口Interface是给被动模式用的——Server 要知道去哪个 IP:端口 拉数据而主机名称Host name是给主动模式对账用的。两种模式都配的情况下两个字段都别省。如果后面发现灰色 ZBXzabbix_get -s 192.168.40.142 -k agent.ping一下一步就能定位是网络不通还是名字对不上。五、实战添加监控项、触发器与图形这一章开始把采集→判断→展示真正落地到 Web 上建议对照第一节的采集模型一起看。5.1 添加监控项CPU 每分钟负载路径配置 → 主机 → 监控项 → 创建监控项创建一个 CPU 每分钟负载的监控项核心配置名称CPU 每分钟平均负载类型Zabbix agent键值Keysystem.cpu.load[percpu,avg1]更新间隔30s配置好后可以用下面的命令制造 CPU 负载来验证采集多开几个终端并行执行能看到 load 立刻飙高md5sum /dev/zero解析监控项Item是 Zabbix 的最小采集单元核心就两个字段——Key 和间隔。Key决定采什么。CPU 负载的 key 是system.cpu.load[percpu,avg1]中括号是参数percpu表示按每核归一化、avg1表示取 1 分钟平均。这样配置的好处是多核机器 load 不会虚高8 核 load 8 才算满。间隔决定多久采一次。CPU 这种秒级变化的数据可以设 10~30s磁盘容量这种变化慢的设 1~5min 就够别把 Server 和数据库拖垮。5.2 添加根分区监控项根分区使用量根分区剩余空间百分比解析磁盘类 key 统一用vfs.fs.size[/,used]这种格式中括号第一个参数是挂载点第二个是取值维度used已用字节free剩余字节pfree剩余百分比total总容量。建议同时监控used看绝对增长和pfree看相对水位触发器一般挂在pfree上低于 5% 报警比已用 45G 报警更有普适性。5.3 为监控项添加触发器路径配置 → 主机 → 触发器 → 创建触发器CPU 负载过高触发器根分区空闲空间不足 5% 触发器解析触发器Trigger是异常判定规则核心就是表达式last(/主机名/key) 阈值。几个高频用法last(/server2/system.cpu.load[percpu,avg1]) 3最近一次负载 3min(/server2/... ,5m) 3最近 5 分钟最小值仍 3防止瞬时抖动误报max(...,1h) 阈值反向用比如CPU 持续低也可以告警。实战建议给表达式加5m 或 10m 的窗口如min(...,5m)否则 CPU 一瞬间飙高就会连环告警刷屏。5.4 添加监控图形路径配置 → 主机 → 图形 → 创建图表CPU 负载的图形执行 CPU 负载测试命令后查看图形变化解析图形Graph是把监控项组合展示的层。一个图形里可以画多条线的多个 item比如把 CPU 的 1/5/15 分钟负载画在一张图里对比。它不产生额外数据纯粹是查询历史数据做可视化。数据来源有两条**历史数据History**保留原始值、**趋势数据Trends**是降采样后的汇总——图形默认用的是趋势数据所以看大趋势很正常要精确到秒级请切历史视图。六、模板批量纳管同一类主机路径配置 → 模板 → 创建模板创建一个新的空模板为新模板添加监控项配置新模板成功添加三条监控项配置解析模板Template是 Zabbix 批量纳管的灵魂——一个模板 一组 Item Trigger 图形的集合。给主机挂上模板等于一次性灌入整套监控规则。生产里你不会给每台机器手敲几十个 item而是官方模板直接套装好zabbix-sql-scripts时自带的Linux by Zabbix agent等自己建的业务模板如MySQL 巡检“Nginx 状态”复制给同构机器。注意模板修改会同步到所有挂它的主机这既是优点一处改、处处生效也是风险改坏了全挂改模板前建议先复制一份再改。七、自动发现与自动注册规模化纳管生产环境几百上千台机器一台台创建主机是不现实的。Zabbix 提供了两条自动化纳管路径7.1 自动发现DiscoveryServer 主动扫描规则内的网段找出存活设备发现之后根据发现动作中配置的操作自动添加主机、连接模板。先启用发现动作再启动自动发现规则7.2 自动注册Auto-registrationAgent 主动上报申请注册主机。Agent 启动后主动向 Server 发送**携带元数据主机名、主机元数据**的注册请求Server 根据自动注册动作中的条件自动添加主机、套用模板。配置 Agent 元数据在zabbix_agentd.conf中添加# zabbix_agentd.conf 追加 HostMetadataLinux server # 元数据用来在注册动作中匹配条件解析两条路线的本质区别就一句话——自动发现是Server 主动找自动注册是Agent 主动来。自动注册配合HostMetadata可以在注册动作里按元数据比如按业务分组、按操作系统自动套用不同模板是实现新增机器零干预上线的关键。八、配置告警监控闭环监控只有加上告警才算闭环——光有图表没人看等于没监控。8.1 配置告警媒介以邮件为例启用触发器动作。路径配置 → 动作 → 触发器动作Zabbix 自带的默认触发器动作是向 Zabbix 组中所有用户发送全部问题。如果需要配置用户自己的报警规则需要单独设置 1 个触发器动作。为用户配置收件邮箱。路径管理 → 媒介 → Email解析告警介质Media是用什么通道发。默认内置 Email、脚本、短信等类型。Email 类型里最关键的是 SMTP 配置服务器、端口、认证、发件人邮箱配完先点测试发送验证一遍别等真出故障才发现发不出去。几个容易懵的字段说明SMTP 电邮发件人邮箱地址如noreplyxxx.comHELOSMTP 握手时Zabbix 服务器向邮箱服务器如 163报自己的主机名hostnameSSL/TLS是否启用加密需与邮箱服务商要求保持一致163 邮箱通常勾选 STARTTLS端口 25 或 465。启用用户收件邮箱。路径管理 → 用户 → 点击 Admin → 告警媒介 → 添加填入接收邮箱解析介质配好 ≠ 用户会收到。每个用户要手动绑定介质填自己的接收邮箱并且可以设置启用时间段和严重级别过滤。很多人配完动作没反应八成是介质没绑定到用户这一步漏了。8.2 为触发器添加动作为前面配置的 CPU 负载过高触发器添加动作。路径配置 → 动作 → 触发器动作 → 创建动作为动作添加相应操作选择发送给哪个用户、用哪种介质添加成功解析动作Action是条件 操作的规则条件哪些主机、哪些触发器、什么级别命中后执行操作发给哪些用户/群组、走哪种介质、发什么内容。{TRIGGER.NAME}、{HOST.NAME}、{ITEM.VALUE}、{TRIGGER.STATUS}这些是 Zabbix 内置的宏在操作内容里直接引用就能自动填充实际值告警内容会专业很多。例如告警主机{HOST.NAME} 告警触发器{TRIGGER.NAME} 当前值{ITEM.LASTVALUE1} 触发时间{DATE} {TIME}8.3 告警链路验证用压测制造一次 CPU 告警验证整条链路md5sum /dev/zero# 在 server2 上压 CPU让负载飙过触发器阈值解析验证时建议去报表 → 动作日志看动作是否触发、发送是否成功。整条链路是Item 采到高负载 → Trigger 判定异常 → Action 匹配 → 按用户介质发送邮件。哪一环断了对照 8.1~8.2 排查介质没配通、用户没绑介质、动作没启用是三个最高频的原因。九、分布式监控Zabbix Proxy当被监控主机数量很大、或分布在不同机房时单台 Server 会扛不住。此时引入Zabbix Proxy分摊采集压力。再开一台代理机器 192.168.40.143server3在官方下载页选择对应的 Proxy 版本会给出安装步骤安装完成后先确认 10051 端口是否存在——因为 Proxy 的监听端口也是 10051所以 Proxy 一定不能和 Server 装在同一台机器上9.1 修改 Proxy 配置文件修改/etc/zabbix/zabbix_proxy.conf关键配置项Server192.168.40.141 # Zabbix Server 的 IP DBPasswordpassword # 数据库密码若用默认内置 SQLite 可忽略此项 JavaGateway192.168.40.142 # Java Gateway 主机 IP采集 JMX 指标时才需要 StartJavaPollers # 启动多少个 Java 轮询进程按需设置数字解析Proxy 有两种数据存储方式——默认的内置 SQLite零配置适合中小规模和MySQL/PostgreSQL大规模、要做高可用时用。如果使用默认 SQLite就不需要配置DBHost/DBUser/DBPassword。Hostname与 Web 端【代理】页面填写的代理名称严格一致即可不一定要是主机名——这是 Proxy 对账的关键。然后重启 Proxy 服务systemctl restart zabbix-proxy9.2 在 Server 上配置代理Proxy 的作用减轻 Server 的压力。Proxy 是介于 Zabbix Server 和被监控设备之间的中间代理组件承担监控数据采集中转——Agent 传来的数据先存入 Proxy 本地数据库不直接发给 Server。所以 Proxy 可以大幅减少 Server 的瞬时连接数、缓解 Server 端 MySQL 的写入压力多用于跨网段、分布式、异地分支机构场景。但触发器和告警计算仍然由 Server 完成Proxy 不处理告警。创建 Proxy。路径管理 → Proxy → 创建 Proxy设置 Agent 主机使用 Proxy 采集数据刷新 Server 配置缓存zabbix_server-Rconfig_cache_reload# 刷新 Server 配置缓存systemctl restart zabbix_server# 更彻底的兜底直接重启 Server解析Web 上配置完只是写进了数据库还没有刷新到 Server 的内存配置缓存需要手动zabbix_server -R config_cache_reload触发重载否则要等默认间隔约 60s才会自动刷新。并且Proxy 一定要在 Server 完成配置刷新后再启动否则 Server 端还不认识这个 Proxy会报错。正常重启 Server 后会在日志中出现 Proxy 注册成功的记录9.3 切换 Agent 上报到 Proxy现在zabbix_agent要向 Proxy 上报核心数据所以修改 server2 上的 Agent 配置。修改/etc/zabbix/zabbix_agentd.confServer192.168.40.143 # 被动模式指向 Proxy 主机 IP ServerActive192.168.40.143 # 主动模式同样指向 Proxy重启 Agent 服务systemctl restart zabbix-agent代理成功主机状态正常十、Grafana 可视化大屏Grafana 是开源可视化仪表盘工具由 Go 编写内置完整 HTTP Web 服务默认监听 3000 端口。它本身不采集数据只做三件事读时序数据库 → 画图、做监控大屏 → 告警展示。Grafana 官网入口安装grafana-enterprise_12.4.8_31135008312_linux_amd64.rpm版本本地已有 rpm 包直接安装dnfinstall-y./grafana-enterprise_12.4.8_31135008312_linux_amd64.rpm systemctlenable--nowgrafana-server安装完成后启动服务查看 3000 端口是否监听成功直接登录 Grafana192.168.40.141:3000默认账户名和密码都是adminGrafana 通过插件化来完成不同的可视化需求需要先安装 Zabbix 数据源插件添加数据源连接 Zabbix Server获取监控数据填写 Server 地址、Zabbix API 地址、API 用户名密码测试是否连接成功使用样例——创建仪表盘展示 Zabbix 数据解析Zabbix 自带 Web 界面做日常管理足够但Grafana 在大屏展示上明显更强——主题漂亮、拖拽式布局、模板市场丰富适合给领导看、或投放到监控大屏。二者互补Zabbix 管采、判、告Grafana 管看得好看。十一、日常排障手册万能排查三件套zabbix_get-s192.168.40.142-kagent.ping# 验证取数需先 dnf install -y zabbix-gettail-f/var/log/zabbix/zabbix_server.log# Server 日志tail-f/var/log/zabbix/zabbix_agentd.log# Agent 日志解析这三个命令按顺序用基本能解决 90% 的问题——zabbix_get告诉你数据链路通不通返回值对不对agent.ping返回 1 即正常zabbix_server.log告诉你Server 侧发生了什么数据库连不上、触发器计算错误都会在这里zabbix_agentd.log告诉你Agent 侧发生了什么Server 主动连接被拒、主动上报失败都会在这里。从数据流向Server ↔ Agent两头各看一边日志问题就能被切得很小。常见问题速查表现象可能原因排查手段ZBX 图标灰色Agent 未启动 / 网络不通 / 防火墙拦截 10050systemctl status zabbix-agentzabbix_get -s agent_ip -k agent.pingZBX 图标红色Hostname 三处不一致 / 接口 IP 端口填错核对 agent 配置、Web 主机名、接口三项zabbix-server反复重启数据库连接失败 / 库未导入看/var/log/zabbix/zabbix_server.log回 3.2 排查图形无数据Key 写错 / 采集间隔未到 / 主机未套模板去监测 → 最新数据看对应 Key 是否有值收不到告警邮件介质没配通 / 用户没绑介质 / 动作未启用逐层验证 8.1 ~ 8.2去报表 → 动作日志看发送记录Web 界面中文乱码缺少中文字体包dnf install glibc-langpack-zh -y见 3.4Proxy 一直连不上Server 配置缓存未刷新 / Hostname 不一致zabbix_server -R config_cache_reload核对代理名称十二、总结与下一步至此你已经完整走通了 Zabbix 的全链路实战理解了监控的价值与 Zabbix 的核心概念Host / Item / Trigger / Action / Media在 Rocky Linux 9.6 上完成了Server MySQL Web 前端的部署接入了被监控主机亲手创建了监控项、触发器、图形通过模板实现了同类机器的批量纳管通过自动发现/自动注册实现了规模化纳管打通了邮件告警闭环并用压测验证了采集 → 判定 → 告警整条链路通过Zabbix Proxy实现了分布式监控用Grafana搭出了可视化大屏。下一步可以继续深挖的方向安全加固修改默认密码、限制 Web 访问来源、开启 HTTPS高可用Server 集群 数据库主从让监控本身也不挂告警升级接入钉钉、企业微信、飞书 Webhook或对接电话/短信网关监控对象扩展网络设备SNMP、Java 中间件JMX、容器Docker/K8s、自定义脚本自动化运维联动用 Zabbix API CMDB/工单系统实现告警自动建单、自动处置。监控的终点不是建好一套平台而是让每一次故障都能被提前发现、快速定位。希望这篇文章能帮你迈出第一步。如果觉得有用欢迎收藏转发也欢迎在评论区交流踩坑经验。