Prometheus和Grafana简介

Prometheus 是一款开源的时序数据监控系统 ,核心用于采集、存储分布式系统的指标数据(如服务器 CPU 使用率、接口响应时间);Grafana 则是一款开源的数据可视化平台,主要用于将 Prometheus 等数据源的指标数据,以图表、仪表盘等形式直观展示,二者常搭配使用,构成 "监控采集 + 可视化展示" 的完整监控方案。

一、Prometheus:监控数据的 "采集与存储中心"

Prometheus 的核心作用是解决 "从哪里拿数据、怎么存数据" 的问题,它不负责数据展示,专注于监控数据的全生命周期管理。

1. 核心功能
  • 指标采集 :通过 "拉取(Pull)" 模式主动从目标服务(如 Java 应用、MySQL 数据库、服务器)抓取指标数据。目标服务需暴露一个 HTTP 接口(如 Spring Boot 应用的/actuator/prometheus),返回符合 Prometheus 格式的指标(如http_requests_total 100,表示 HTTP 请求总数为 100)。
  • 时序存储 :将采集到的指标数据以 "时序" 形式存储(按时间戳顺序排列),采用自研的 TSDB(Time Series Database)数据库,优化了时序数据的读写性能,支持按标签(如service=orderhost=server1)筛选数据。
  • 灵活查询 :提供 PromQL 查询语言,可对指标进行计算和筛选。例如:
    • http_requests_total{service="order"}:查询 "订单服务" 的 HTTP 请求总数;
    • rate(http_requests_total[5m]):计算 "近 5 分钟内 HTTP 请求的每秒增长率"(即 QPS)。
  • 告警触发:支持基于 PromQL 配置告警规则(如 "CPU 使用率连续 5 分钟超过 80%"),当规则触发时,通过 Alertmanager 组件向邮件、钉钉等渠道发送告警通知。
2. 适用场景
  • 监控分布式系统的基础设施(服务器、容器、数据库);
  • 监控业务系统的核心指标(接口 QPS、错误率、订单量);
  • 构建自定义告警规则,及时发现系统异常。

二、Grafana:监控数据的 "可视化展示窗口"

Grafana 本身不采集数据,而是作为 "数据展示层",对接 Prometheus 等多种数据源(还支持 Elasticsearch、InfluxDB 等),将枯燥的指标数据转化为直观的图表,方便运维或业务人员快速理解系统状态。

1. 核心功能
  • 仪表盘(Dashboard):支持自定义仪表盘,将多个相关指标(如 "订单服务的 QPS、错误率、响应时间")组合成一个页面,按业务场景分类展示(如 "支付系统监控仪表盘""用户中心监控仪表盘")。
  • 丰富图表:提供折线图、柱状图、饼图、仪表盘等多种图表类型,支持按时间范围(如近 1 小时、近 7 天)切换数据展示,直观呈现指标的变化趋势。
  • 多数据源支持:可同时对接多个 Prometheus 实例(如 "生产环境 Prometheus""测试环境 Prometheus"),或混合对接其他数据源(如用 Prometheus 监控指标,用 Elasticsearch 展示日志)。
  • 权限控制:支持按角色分配权限(如 "运维人员可编辑仪表盘,业务人员仅可查看"),确保监控数据的访问安全。
2. 适用场景
  • 构建运维监控大屏,实时查看系统整体健康状态;
  • 向业务团队展示核心业务指标(如 "今日订单量趋势""用户注册量");
  • 排查问题时,通过图表快速定位指标异常(如 "QPS 突降时,响应时间是否同步升高")。

三、Prometheus + Grafana:经典搭配流程

二者结合使用时,工作流程如下:

  1. 数据采集:Prometheus 通过 "拉取" 模式,从目标服务(如订单服务、MySQL)采集指标数据,存储到 TSDB 中;
  2. 数据查询:Grafana 对接 Prometheus 数据源,通过 PromQL 查询需要展示的指标;
  3. 可视化展示:Grafana 将查询到的指标以图表形式展示在自定义的仪表盘上,支持实时刷新;
  4. 告警联动:当 Prometheus 触发告警时,除了发送通知,也可在 Grafana 中标记异常时间点,方便事后回溯。

简单来说,Prometheus 像 "监控数据的仓库管理员",负责收集和保管数据;Grafana 像 "数据展览馆的设计师",负责将仓库里的数据整理成美观易懂的展览。二者搭配,是目前分布式系统监控领域最主流的方案之一。

相关推荐
龙码精神4 天前
前端嵌入Grafana 报表的自定义方案:隐藏导航栏保留筛选工具
grafana
Cherry的跨界思维5 天前
【AI测试全栈:质量】47、Vue+Prometheus+Grafana实战:打造全方位AI监控面板开发指南
vue.js·人工智能·ci/cd·grafana·prometheus·ai测试·ai全栈
AC赳赳老秦5 天前
云原生AI故障排查新趋势:利用DeepSeek实现高效定位部署报错与性能瓶颈
ide·人工智能·python·云原生·prometheus·ai-native·deepseek
予枫的编程笔记5 天前
【Kafka高级篇】Kafka监控不踩坑:JMX指标暴露+Prometheus+Grafana可视化全流程
kafka·grafana·prometheus·可观测性·jmx·kafka集群调优·中间件监控
AC赳赳老秦6 天前
预见2026:DeepSeek与云平台联动的自动化流程——云原生AI工具演进的核心引擎
人工智能·安全·云原生·架构·自动化·prometheus·deepseek
认真的薛薛6 天前
13.k8s中Prometheus监控集群及其服务,endpoint暴露服务,es采集k8s日志
elasticsearch·kubernetes·prometheus
A-刘晨阳6 天前
K8S部署kube-state-metrics + CAdvisor 并使用 Prometheus 监控 Kubernetes 指标
运维·云原生·kubernetes·云计算·prometheus·cadvisor·state-metrics
AC赳赳老秦7 天前
多模态 AI 驱动办公智能化变革:DeepSeek 赋能图文转写与视频摘要的高效实践
java·ide·人工智能·python·prometheus·ai-native·deepseek