当前位置: 首页 > news >正文

微服务指标监控一站式搭建:Prometheus抓取+Grafana大屏展示详解

一、组件分工

  1. Prometheus(普罗米修斯)
    时序数据库,定时拉取(Pull模式)各个服务暴露的监控指标(JVM、接口QPS、耗时、异常数、线程池、Tomcat等),持久化时序数据;自带简单Web查询页面、告警规则引擎。
  2. Grafana
    可视化面板工具,不存数据,对接Prometheus数据源,拖拽生成监控大盘、多维度图表、阈值告警,支持邮件/钉钉/企业微信推送。

核心架构流程

SpringBoot应用暴露Metrics接口 → Prometheus定时抓取指标 → Grafana读取Prometheus数据渲染图表 + 配置告警。

二、Windows单机部署

1、Prometheus部署

  1. 下载地址:官网地址
    Windows 下载prometheus-x.x.x.windows-amd64.zip,解压路径无中文空格。
  2. 极简配置prometheus.yml
global:scrape_interval:15s# 每15秒拉一次指标scrape_configs:# 监控Prometheus自身-job_name:"prometheus"static_configs:-targets:["127.0.0.1:9090"]
  1. 启动
    cmd进入bin目录:
prometheus.exe
  1. 访问后台:http://127.0.0.1:9090

2、Grafana部署

  1. 下载:官网
    Windows zip包解压,进入bin目录执行grafana-server.exe
  2. 访问地址:http://127.0.0.1:3000
    默认账号密码:admin/admin,首次登录强制修改密码。

三、SpringBoot3 接入Prometheus

1、Maven依赖

<!-- actuator暴露监控端点 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- micrometer prometheus指标导出 --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId></dependency>

2、application.yml 开放端点

management:endpoints:web:exposure:include:health,prometheus,info,metricsmetrics:export:prometheus:enabled:trueendpoint:health:show-details:always

启动后指标地址:http://127.0.0.1:8080/actuator/prometheus

3、Prometheus追加业务服务抓取配置

修改prometheus.yml,新增job抓取SpringBoot服务:

scrape_configs:-job_name:"prometheus"static_configs:-targets:["127.0.0.1:9090"]# 新增微服务-job_name:"order-service"static_configs:-targets:["127.0.0.1:8080"]metrics_path:"/actuator/prometheus"

重启Prometheus,Targets页面看到实例状态UP即抓取成功。

四、Grafana 对接Prometheus + 导入监控大盘

步骤1:添加数据源

  1. 左侧「Connections」→「Data sources」→「Add data source」
  2. 选择Prometheus,填写地址:http://127.0.0.1:9090
  3. 点击「Save & test」提示数据源连通成功。

步骤2:一键导入成熟SpringBoot大盘

不用自己拖拽图表

SpringBoot Micrometer通用面板ID:12900

  1. 左侧「Dashboards」→「Import」;
  2. 填入ID12900→ Load;
  3. 数据源选中刚才配置的Prometheus,确认导入。

内置大盘自动展示指标

  • JVM:堆内存、非堆内存、GC次数、GC耗时、线程总数、死锁线程;
  • Tomcat:连接数、请求排队数、错误请求量;
  • HTTP接口:QPS、P95/P99响应耗时、4xx/5xx异常计数;
  • 系统CPU、磁盘、内存使用率;
  • 自定义业务埋点指标。

五、常用PromQL查询语句

1、接口QPS(每秒请求量)

sum(rate(http_server_requests_seconds_count[1m])) by (uri)

2、接口P99响应耗时

histogram_quantile(0.99, sum(rate(http_server_requests_seconds_bucket[1m])) by (le,uri))

3、5xx错误请求数

sum(rate(http_server_requests_seconds_count{status=~"5.."}[1m])) by (uri)

4、JVM堆内存使用量

jvm_memory_used_bytes{area="heap"}

六、自定义业务埋点指标

统计下单次数

1、注入MeterRegistry

importio.micrometer.core.instrument.Counter;importio.micrometer.core.instrument.MeterRegistry;importorg.springframework.stereotype.Service;importjavax.annotation.PostConstruct;@ServicepublicclassOrderService{privatefinalCounterorderCreateCounter;publicOrderService(MeterRegistryregistry){this.orderCreateCounter=registry.counter("business.order.create");}publicvoidcreateOrder(){// 业务逻辑orderCreateCounter.increment();// 指标+1}}

2、PromQL查询下单总次数

sum(rate(business_order_create_total[1m]))

自定义指标会自动出现在Grafana图表中。

七、告警配置

方案1:Prometheus原生告警(AlertManager)

  1. 编写告警规则:CPU使用率>80%、接口错误率>5%、实例下线触发告警;
  2. 独立部署AlertManager,配置钉钉/邮箱接收告警通知。

方案2:Grafana内置告警(简单场景首选)

  1. Grafana图表面板编辑 → Alert标签页;
  2. 设置阈值:比如5xx错误连续1分钟大于10次;
  3. 配置通知渠道:钉钉Webhook、企业微信、邮件;
  4. 触发条件满足后自动推送告警消息。

八、高频踩坑

  1. Prometheus Target显示DOWN
    检查SpringBoot服务是否正常运行、防火墙放行端口、actuator地址是否能访问;
  2. Grafana图表无数据
    PromQL时间区间选择是否匹配抓取间隔、指标名称写错、数据源选错;
  3. actuator端点外网不能访问
    检查Spring Security是否拦截/actuator/prometheus路径,开发环境临时放行。
http://www.jsqmd.com/news/1012458/

相关文章:

  • MPC8544E缓存一致性与内存管理:从原理到嵌入式系统实战
  • 深入解析PCI总线配置与仲裁机制:以MPC8323E为例的实战调试指南
  • 南山世博特高端系统门窗丨春雨连绵季,好窗护家安,畅享长沙干爽舒适家 - 涂伟
  • MPC8272硬件安全引擎:数据包描述符驱动与硬件加速实战解析
  • 掌握Minecraft基岩版专业管理:构建高效多版本切换系统
  • MPC823 CPIC中断控制器:嵌入式实时响应的核心枢纽
  • 终极IDM激活脚本完整指南:永久免费解锁下载神器
  • LGTV Companion:3步解锁智能电视与PC的完美联动
  • Wayback Machine浏览器扩展:你的终极网页时光机,让消失的网页重现眼前![特殊字符]
  • Python工业数据采集进阶:防护机制下验证码、IP封禁与JS加密实战
  • 广州首饰回收 TOP 榜单!这几家本地人都在去 - 讯息早知道
  • 网盘直链下载助手:打破下载限速的终极解决方案
  • 2026 郑州钻石回收避坑大全,优质回收门店,仪器检测出价公允 - 薛定谔的梨花猫
  • 如何在macOS上选择最适合的视频播放器:IINA的三大技术优势与实用指南
  • 工作流引擎架构:基于DAG的异步任务调度与自愈机制
  • Ray Optics Simulation:免费几何光学仿真终极指南
  • 零基础GDScript编程入门:在浏览器中免费学习Godot游戏开发语言
  • Path of Building PoE2终极指南:掌握流放之路2角色构建的艺术
  • Rust trait系统与泛型约束:从零尺寸类型到动态分发的类型架构
  • 制造业运维AI Agent:基于大模型的设备故障自动排查实战
  • 保姆级教程:将EfficientDet的BiFPN“移植”到YOLOv5 6.1,附完整代码和常见报错解决
  • 广西青春期孩子厌学逃课不上学怎么办-纽特教育学校心理疏导与家庭教育指导 - 善良的阿良
  • 2026大连品牌首饰回收实力排行榜!高端珠宝首饰变现机构甄选 - 薛定谔的梨花猫
  • 2026 东莞黄金回收口碑店汇总,按克计价无扣费公开透明 - 薛定谔的梨花猫
  • 如何快速合并B站缓存视频?Android终极解决方案完全指南
  • 一键突破文档壁垒:kill-doc终极免费下载工具完全指南
  • MPC8323E UCC架构解析:参数RAM与缓冲区描述符驱动高效串行通信
  • 2026年6月评价高的围棋培训班品牌机构口碑推荐,成人学围棋/儿童练字班/乐高培训班/编程培训,围棋培训班机构口碑推荐 - 品牌推荐师
  • 2026西平装修公司口碑排名 本地靠谱家装商家盘点 - 装企自媒体训练营辉哥
  • 2026 成都黄金回收排行榜出炉!榜首这家全城公认靠谱 - 薛定谔的梨花猫