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

Prometheus+Grafana实现Springboot服务监控

通过 Prometheus + Grafana 实现微服务监控是业界主流方案,核心流程是:Prometheus 采集微服务指标 → Grafana 可视化指标。以下是针对微服务架构的完整落地步骤,包括多服务监控、服务发现、告警配置等关键环节。

上一篇:
centos7部署 Prometheus 3.0.0 + Grafana 10.3.3 + Alertmanager 0.27.0

Spring Boot 3 集成 Prometheus 核心步骤,需要两组配置:

1.暴露 Prometheus 指标

添加maven依赖:

<!-- Spring Boot Actuator(必须) -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency><!-- Micrometer Prometheus Registry(必须) -->
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

配置 application.yml :

添加配置:

#prometheus 监控插件
management:endpoints:web:exposure:include: '*'metrics:export:prometheus:enabled: truersocket:enabled: false  # 如果不需要RSocket支持可以禁用它step: 1m  # 指标的步长,可以根据需要调整endpoint:prometheus:enabled: true          # 确保启用(默认一般是 true)    

访问 Prometheus 指标接口:

启动后,访问以下 URL(替换 IP 和端口):
http://<your-app>:<port>/actuator/prometheus

如果成功了 浏览器输出如下内容:
在这里插入图片描述

2.Prometheus 定时拉取:

在你的Prometheus 配置文件(prometheus.yml)中,添加一个 job,指向你的 Spring Boot 3 应用:

scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["localhost:9090"]- job_name: "ehr-hrwa-opt-service19" # Spring Boot 3 应用监控scrape_interval: 5s        # 采集间隔(默认15s,微服务建议缩短)metrics_path: '/actuator/prometheus'  # 指标接口路径static_configs:- targets: ["172.0.0.0:8081"]

如果是微服务多节点使用以下配置:

  - job_name: 'ehr-hrwabat-service'  # 任务名称scrape_interval: 5s        # 采集间隔(默认15s,微服务建议缩短)metrics_path: '/management/prometheus'  # 指标接口路径static_configs:- targets:  # 微服务实例列表(IP:端口)- '172.1.16.13:5050'  # 服务1- '172.1.16.14:5050'  # 服务2- '172.1.16.15:5050'  # 服务3- '172.1.16.16:5050'  # 服务4- '172.1.16.17:5050'  # 服务5- '172.1.16.18:5050'  # 服务6- job_name: 'ehr-hrwa-opt-service'  # 任务名称scrape_interval: 5s        # 采集间隔(默认15s,微服务建议缩短)metrics_path: '/actuator/prometheus'  # 指标接口路径static_configs:- targets:  # 微服务实例列表(IP:端口)- '172.1.16.19:8080'  # 服务1- '172.1.16.20:8080'  # 服务2- '172.1.16.21:8080'  # 服务3- '172.1.16.22:8080'  # 服务4- '172.1.16.23:8080'  # 服务5- '172.1.16.24:8080'  # 服务6

替换yml文件后,重启prometheus :

systemctl stop prometheus
systemctl start prometheus

在 Prometheus UI 中验证是否拉取成功:

打开 Prometheus Web 界面:http://<prometheus-ip>:9090
进入 ​​Status → Targets​​
找到你配置的 job(如 ehr-hrwa-opt-service19)
查看对应 target(如 localhost:8080)的状态是否为 ​​UP​

在这里插入图片描述

集成 Grafana:

创建Grafana Dashboards 其实只有两步:
1.选择可视化面板的模板(load模板id),2.选择Prometheus 数据源。

1.点击左侧菜单:​​Dashboards → Import​​
2.在弹窗中输入 ​​Dashboard ID​​(比如 7362)
3.选择你的 ​​Prometheus 数据源​​(确保已正确配置)
4.点击 ​​Import​​,Grafana 会自动加载该 Dashboard 模板

选择可视化面板的模板

访问grafana:http://localhost:3000/login

先添加数据源:

点击 配置按钮 -> Data sources -> Add data source

在这里插入图片描述
点击 “Add data source”,选择 “Prometheus”
在这里插入图片描述
配置:
Name: Prometheus
URL: http://localhost:9090(或者你的 Prometheus 服务 IP:9090)

在这里插入图片描述
点击 “Save & Test”,验证连接是否成功
在这里插入图片描述

点击 Dashboards -> Import 导入模板:

在这里插入图片描述
根据自己需要找对应的模板:12900(springboot综合监控,包括 HTTP、JVM、Tomcat、请求、错误等)、4701(JVM 相关指标:堆内存、GC、线程、类加载等)、7362(包括 HTTP 请求、状态码、延迟、错误等)​
在这里插入图片描述

最下面选择Prometheus 数据源:

在这里插入图片描述
在这里插入图片描述
点击导入:
在这里插入图片描述
加载Dashboards 成功以后如下:
在这里插入图片描述
prometheus.yml 中配置了几个job_name,这里就有几个应用:
在这里插入图片描述
点击保存 save Dashboards,保存可视化面板,方便以后使用。
在这里插入图片描述
1.在Grafana的Web界面中,点击左侧导航栏中的"Dashboard"。
2. 在"Recently viewed dashboards"中,可以找到刚刚导入的监控模板。
3. 点击模板,即可进入监控面板。
在这里插入图片描述

http://www.dtcms.com/a/515783.html

相关文章:

  • 保定企业建站程序设计类专业就业前景怎么样
  • centos7部署 Prometheus 3.0.0 + Grafana 10.3.3 + Alertmanager 0.27.0
  • IPv4与IPv6的对比
  • 如何查看 ubuntu 系统信息
  • 「用Python来学微积分」问题,二维图形关于任意直线的对称变换
  • php网站开发的发展前景安徽建设工程信息网网
  • R语言:非平稳时间序列实例
  • iis 添加网站 win7ip网站架设
  • AlphabetIndexer组件 与 List 联动总结
  • C++ 模拟真人鼠标轨迹算法 - 非贝塞尔曲线
  • 解锁高性能音视频处理:鸿蒙Next AVCodec Kit全解析
  • 购买服务器,操作系统选Debian、Ubuntu 还是Rocky Linux?
  • Process Monitor 学习笔记(5.23):把自定义“日志/标记”注入 Procmon 追踪
  • 专业集团门户网站建设服务商云落 wordpress
  • 基于MemU的自主代理记忆管理系统:技术解析与实践
  • 【ABAP函数】+CSAP_MAT_BOM_MAINTAIN更改BOM长文本
  • 小学英语资源合集
  • 裴蜀定理(Bézout‘s identity)
  • 在昇腾NPU上跑Llama 2模型:一次完整的性能测试与实战通关指南
  • 用wordpress建站一个人可以吗wordpress主题 表白
  • 鸿蒙6.0技术解析:五大行业迎来的智能化革命
  • Java的单例设计模式-饿汉式
  • 帝国建设网站phpcms做网站感想
  • 我的应用 Full GC 频繁,怎么优化?
  • clickhouse副本只有一个节点有数据原因
  • 【MySQL】从零开始了解数据库开发 --- mysql事务机制(二)
  • 国外手表网站湖南省专业建设公司网站
  • php使用腾讯云服务
  • 都安网站建设深圳专业seo优化公司
  • 小尺寸13*13cmRFSOC47DR数模混合信号处理卡