Springboot下micrometer+prometheus+grafana进行JVM监控的操作过程

本文讲述了同事在升级Springboot项目中遇到的版本不匹配问题,通过解决micrometer-registry-prometheus版本与Springboot2.4.13的兼容性问题,添加actuator配置并启用Grafana监控的过程。
摘要由CSDN通过智能技术生成

背景

同事今天提交了一个补丁.
给基于Springboot的产品增加了micrometer等收集jvm信息的工具
但是这边springboot的版本比较高,导致有异常. 
启动直接失败了.
晚上九点多时进行了紧急回退. 
但是十点的时候想了想是不是可以利用一下,进行grafana的监控.
发现还是比较简单的. 这里总结一下. 

maven库获取相应的jar包

  • 先说明一下错误情况
今天启动失败的报错提示为:
缺少类型:io.micrometer.prometheus.HistogramFlavor
同事反馈可能的原因是:
micrometer-registry-prometheus 的版本与springboot的版本不匹配
所以进行了一下简单处理.

maven库获取相应的jar包

  • 版本适配问题
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.4-Release-Notes
我们的版本是2.4.13 所以从上面的窗口搜索
micrometer 的兼容版本
查询到的结果是 1.6 
然后手工上maven库上面进行查找:
https://mvnrepository.com/artifact/io.micrometer/micrometer-registry-prometheus/1.6.13
然后选择jar包进行下载就可以了
将三个jar包放到产品能够加载进内存的部分就可以, 
文件为:
simpleclient_common-0.7.0.jar
simpleclient-0.7.0.jar
micrometer-registry-prometheus-1.6.13.jar

配置文件更改

第一步 添加白名单,保证可以无密码登录
# 注意这里存在一定的安全隐患
  - /actuator/prometheus
第二步 添加actuator的部分设置便于prometheus进行抓取
management:
  endpoints:
    web:
      exposure:
        include: '*'
  metrics:
    export:
      prometheus:
        enabled: true
    tags:
      application: DM113
# 注意tag的意思在Grafana里面可以看到.
  • 设置完成后重启服务就可以了.

prometheus抓取micrometer的内容

prometheus加上一条配置信息就可以

  - job_name: springboot
    scrape_interval: 5s
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ["10.110.83.113:5200"]  

Grafana 引入部分dashboard就可以了

# 注意一般文章只写了一个. 
# 我简单搜了下主要有如下三个比较好用
4701 比较全面的.
11378 多了hikari 但是感觉数据不太对? 
6083 监控连接池相关.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: 中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·本文档为双语同时展示,一行原文、一行译文,可逐行对照,避免了原文/译文来回切换的麻烦; ·有原文可参照,不再担心翻译偏差误导; ·边学技术、边学英语。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
Spring Boot是一个用于创建独立的、基于生产级别的Java应用程序的框架。而Prometheus是一个开源的监控和警报系统,用于记录和查询应用程序的时间序列数据。在Spring Boot中集成Prometheus可以方便地监控和度量应用程序的性能指标。 要在Spring Boot中集成Prometheus并自定义Prometheus的指标,可以按照以下步骤进行操作: 1. 添加依赖:在Spring Boot项目的pom.xml文件中添加Prometheus相关的依赖。例如: ```xml <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> </dependency> ``` 2. 配置Prometheus:在Spring Boot项目的配置文件(如application.properties或application.yml)中添加Prometheus相关的配置。例如: ```yaml management: endpoints: web: exposure: include: prometheus ``` 这样配置后,Spring Boot会自动将Prometheus监控端点暴露出来。 3. 自定义指标:在代码中使用Micrometer库来定义和记录自定义的指标。Micrometer是一个度量库,可以与Prometheus集成。例如,可以使用`Counter`来记录计数器指标,使用`Gauge`来记录度量指标等。以下是一个示例: ```java import io.micrometer.core.instrument.Counter; import io.micrometer.core.instrument.MeterRegistry; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class CustomMetrics { private final Counter customCounter; @Autowired public CustomMetrics(MeterRegistry meterRegistry) { customCounter = meterRegistry.counter("custom_counter"); } public void incrementCustomCounter() { customCounter.increment(); } } ``` 在上述示例中,我们定义了一个名为`custom_counter`的计数器指标,并通过`MeterRegistry`将其注册到Micrometer中。 4. 访问指标:启动Spring Boot应用程序后,可以通过访问`/actuator/prometheus`端点来获取Prometheus格式的指标数据。例如,可以使用浏览器或curl命令访问`http://localhost:8080/actuator/prometheus`来获取指标数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxj19880502

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值