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 像 "数据展览馆的设计师",负责将仓库里的数据整理成美观易懂的展览。二者搭配,是目前分布式系统监控领域最主流的方案之一。

相关推荐
牛奶咖啡139 小时前
Prometheus+Grafana构建云原生分布式监控系统(十一)_基于consul的服务发现
云原生·prometheus·consul的安装部署·consul服务自动发现·consul服务的注册删除·consul服务的更新·实现自动去consul注册服务
Otto_10271 天前
在 OpenStack Rocky 中部署 Prometheus + Grafana
openstack·grafana·prometheus
牛奶咖啡131 天前
Prometheus+Grafana构建云原生分布式监控系统(十)_prometheus的服务发现机制(一)
云原生·prometheus·prometheus服务发现·静态服务发现·动态服务发现·基于文件的服务发现配置实践·prometheus标签重写
玄德公笔记1 天前
Prometheus监控k8s的metric详解(第二版)-01-scrape 指标抓取
kubernetes·k8s·prometheus·监控·metric·scrape·k8s监控
小北方城市网1 天前
Spring Boot Actuator+Prometheus+Grafana 生产级监控体系搭建
java·spring boot·python·rabbitmq·java-rabbitmq·grafana·prometheus
牛奶咖啡132 天前
Prometheus+Grafana构建云原生分布式监控系统(九)_pushgateway的使用
云原生·grafana·prometheus·pushgateway·pushgateway使用场景·推数据到pushgateway·pushgateway的使用
AC赳赳老秦3 天前
Notion+DeepSeek:搭建个人工作看板与自动化任务管理规则
前端·javascript·人工智能·自动化·prometheus·notion·deepseek
牛奶咖啡133 天前
Prometheus+Grafana构建云原生分布式监控系统(八)_监控docker容器
云原生·grafana·prometheus·cadvisor·docker容器的安装与部署·docker容器的监控·node-exporter容器
翱翔的苍鹰4 天前
完整的“RNN + jieba 中文情感分析”项目之一:添加 Prometheus + Grafana 监控,配置 CI/CD 自动部署和支持多语言模型切换
rnn·grafana·prometheus
牛奶咖啡134 天前
Prometheus+Grafana构建云原生分布式监控系统(七)
云原生·grafana·prometheus·hadoop集群的安装·hadoop集群的监控·prometheus自动发现·hadoop数据可视化