从零详解 Prometheus + Grafana + Zabbix 整套监控平台(含实操流程、探针联动、通俗比喻)
前置通俗比喻
把整套监控系统类比成小区物业安防体系:
- 探针(Exporter)= 楼道传感器 / 摄像头:分布在每台服务器、容器,实时采集温度(CPU)、人流(流量)、门禁记录(登录日志);
- Prometheus = 物业数据机房:统一收集所有传感器上报的数据,永久存储指标;
- Grafana = 物业监控大屏:把机房里枯燥数字绘成图表、仪表盘,一眼看懂服务器状态;
- Zabbix = 一体化老物业整套系统:把「传感器 + 数据存储 + 大屏 + 告警」打包在一个软件里,开箱即用,中小企业传统服务器用得多。
一、先拆分每个组件单独讲,再讲完整工作流程
1. Prometheus(时序数据库 + 监控核心,现在主流云 / 容器 / 政务都在用)
1)核心作用
专门存储服务器 / 业务的时序指标(带时间戳的数字:比如 14:00 CPU 80%、14:01 CPU 75%),主动定时拉取各个探针采集的数据,提供查询、告警规则能力。
2)核心工作逻辑(和探针联动重点)
- 你在 Windows / 服务器部署探针(node-exporter/windows-exporter/minio-exporter),探针本地开放一个端口(如
9100),持续生成性能数据; - Prometheus 配置文件里填写探针地址
10.32.184.100:9100,每隔 15 秒主动去拉一次探针的数据(叫「Pull 拉取模式」); - 拉到的数据带上时间戳存入本地数据库,永久留存;
- 内置告警规则:比如配置「磁盘剩余 < 10% 就触发告警」,满足条件自动推送消息。
3)简单配置示例(最小配置文件prometheus.yml)
# 定义要采集的探针 scrape_configs: - job_name: "windows终端探针" static_configs: - targets: ["127.0.0.1:9182"] # windows-exporter探针地址 - job_name: "minio存储探针" static_configs: - targets: ["10.32.184.20:9290"] # minio-exporter探针地址 # 告警规则:磁盘不足10%触发告警 alerting: alertmanagers: - static_configs: - targets: ["localhost:9093"]4)实操场景贴合你的 MinIO 下载问题
MinIO 探针持续上报「文件下载接口响应耗时」指标;当你遇到curl连接443超时,Prometheus 拉取到接口耗时从 20ms 暴涨到 5000ms,匹配告警规则,自动发钉钉 / 短信通知运维:「存储服务接口超时,存在下载失败风险」。
5)优缺点
✅ 优点:轻量化、适配 K8s 云原生、和各类探针兼容性拉满、资源占用低; ❌ 缺点:原生界面很难看,纯文字表格,必须搭配 Grafana 做可视化。
2. Grafana(可视化大屏,几乎和 Prometheus 绑定使用)
1)核心作用
单纯的图表展示工具,不存储任何数据,只连接 Prometheus 数据源,把枯燥的数字绘成折线图、仪表盘、热力图、状态面板,做成运维监控大屏。
2)完整实操使用流程(从零搭建)
- 安装启动 Grafana,登录后台;
- 左侧菜单「数据源」,添加数据源类型选
Prometheus,填写 Prometheus 访问地址http://127.0.0.1:9090; - 新建「仪表盘 Dashboard」,添加面板;
- 面板查询框写 Prometheus 查询语句,示例:
# 查询Windows机器CPU使用率 100 - (avg by (instance) (irate(windows_cpu_time_total{mode="idle"}[1m])) * 100) - 保存面板,调整样式:折线图显示近 2 小时 CPU 变化,环形仪表盘显示实时内存占用;
- 复用社区现成模板:搜 Windows-exporter、MinIO 模板,导入后一键生成完整监控大屏,不用自己写查询。
3)你能直观看到的监控内容
打开大屏一眼看到:
- 本机 Windows:CPU / 内存 / 磁盘剩余、网络上传下载速度;
- MinIO 存储服务器:桶总容量、每秒下载文件数、443 接口错误请求数量;
- 告警色块:红色 = 故障、黄色 = 预警、绿色 = 正常。
4)优缺点
✅ 优点:图表颜值高、模板极多、支持钉钉 / 邮件告警、可分权限给不同运维看; ❌ 缺点:本身不能采集数据、不能存数据,必须搭配 Prometheus/Zabbix 数据源。
3. Zabbix(传统一体化监控平台,政务内网老服务器大量在用)
1)核心定位
一套打包完成的监控系统,包含四大模块: 探针采集器 + 数据库存储(MySQL) + Web 可视化页面 + 内置告警,不用分开装多个软件,传统物理机、Windows 办公终端场景普及。
2)工作逻辑(和 Prometheus 最大区别)
- 采集模式:探针主动推送数据到 Zabbix 服务端(Push 推送模式);
- 部署:每台电脑装 Zabbix Agent(也就是它的专属探针),Agent 每分钟采集一次本机指标,主动发给 Zabbix 服务器;
- 内置 Web 页面,不用额外装 Grafana,自带图表、告警、资产清单。
3)实操场景(政务内网适配)
政务机房几十台 Windows 终端、Linux 服务器全部装 Zabbix 探针,运维登录 Zabbix 后台:
- 批量查看所有机器磁盘空间,自动筛选磁盘快满的设备;
- 配置触发器规则:连续 3 次检测到外网 443 端口连接失败,发送告警;
- 自带资产台账,记录每台终端 IP、操作系统、在线状态,符合等保资产审计要求。
4)优缺点对比 Prometheus
✅ 优点:一体化、开箱即用、内置资产管理、老运维上手简单、适合纯物理服务器内网; ❌ 缺点:容器 / K8s 适配差、大规模集群卡顿、资源占用高、图表美观度不如 Grafana。
二、两种主流落地架构完整流程(带探针联动,看懂探针怎么和平台配合)
架构 A:云原生主流架构 Prometheus + Grafana + 各类 Exporter 探针(现在新项目都用这套)
完整数据流闭环:
- 部署探针Windows 电脑启动
windows-exporter探针,监听 9182 端口;MinIO 服务器启动minio-exporter探针监听 9290 端口; - Prometheus 定时拉取指标Prometheus 每 15 秒主动访问所有探针端口,拉取 CPU、磁盘、接口耗时等数字,存入时序数据库;
- Grafana 可视化展示Grafana 连接 Prometheus 数据源,绘制监控大屏,运维日常查看服务器状态;
- 异常告警触发Prometheus 检测到指标触发阈值(如磁盘 < 10%、MinIO 接口大量超时),推送告警到钉钉 / 企业微信;
- 运维排查故障看到大屏红色告警,结合图表定位是内网 DNS 故障还是存储服务器磁盘打满,对应你之前
curl下载失败问题。
架构 B:传统政务内网架构 Zabbix 一体化(老机房、Windows 终端多)
数据流闭环:
- 所有终端 / 服务器安装 Zabbix Agent 探针;
- 探针每分钟主动把采集到的系统数据推送到 Zabbix 服务端 MySQL 数据库;
- 运维登录 Zabbix 自带 Web 页面查看内置图表;
- 配置触发器规则,异常直接在平台内生成告警工单。
三、关键名词区分:Exporter 探针到底是什么(你之前运维场景提到的核心)
Exporter 就是 Prometheus 体系下专属采集探针,不同组件对应不同探针:
windows-exporter:Windows 系统指标探针(你当前电脑可用);node-exporter:Linux 服务器指标探针;minio-exporter:MinIO 对象存储专属探针,专门采集文件上传下载、桶容量;blackbox-exporter:链路拨测探针,专门探测端口连通、域名解析(对应你 443 端口 / 域名解析报错排查); 作用:把系统、软件的运行状态,转换成 Prometheus 能识别的数字指标。
四、极简实操入门步骤(你本地 Windows 可以直接测试)
步骤 1:安装 windows-exporter(本机探针)
- GitHub 下载 windows-exporter 程序,双击运行,本机开放 9182 端口;
- 浏览器访问
http://127.0.0.1:9182/metrics,页面会输出一堆带数字的指标(CPU、内存、磁盘),这就是探针采集到的数据。
步骤 2:启动 Prometheus 拉取探针数据
- 修改 prometheus.yml,加入本机 windows 探针地址;
- 启动 Prometheus,访问
http://127.0.0.1:9090,页面可以查询 CPU、磁盘指标。
步骤 3:Grafana 做可视化大屏
- 修改 prometheus.yml,加入本机 windows 探针地址;
- 启动 Prometheus,访问
http://127.0.0.1:9090,页面可以查询 CPU、磁盘指标。
步骤 4:配置磁盘不足告警
在 Prometheus 写入告警规则,当 C 盘剩余空间低于 10%,自动发送钉钉消息提醒。
五、Zabbix 和 Prometheus+Grafana 核心对比表
| 对比项 | Prometheus+Grafana | Zabbix |
|---|---|---|
| 产品形态 | 拆分式:采集探针 + 存储 + 大屏三个组件 | 一体化单软件,内置全部功能 |
| 数据采集模式 | Prometheus 主动拉取探针(Pull) | 探针 Agent 主动推送(Push) |
| 适用场景 | K8s 容器、云服务、新型 MinIO / 微服务 | 传统物理机、Windows 政务内网老机房 |
| 可视化效果 | Grafana 图表丰富美观,海量开源模板 | 自带页面,样式老旧,自定义弱 |
| 资源占用 | 轻量,低配机器也能跑 | 较重,数据库长期占用资源 |
| 上手难度 | 需分开部署 3 个组件,有学习成本 | 安装一套即可使用,老运维友好 |
| 你的场景适配 | 适合 MinIO 存储、云模型服务监控 | 适合政务内网 Windows 终端批量监控 |
