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

springboot,micrometer,prometheus,grafana,进行,jvm,监控,操作过程 · 浏览次数 : 1026

小编点评

## Springboot 监控 JVM 的步骤解析 **1. 问题背景** 由于 Springboot 的版本高,导致 `micrometer-registry-prometheus` 版本与 Springboot 版本不匹配,导致启动失败。 **2. 解决方法** * 修改 `pom.xml` 文件中的 `io.micrometer.prometheus` 版本,使其适配 Springboot 版本。 * 下载并上传 `micrometer-registry-prometheus-1.6.13.jar`、`simpleclient_common-0.7.0.jar` 和 `micrometer-registry-prometheus-1.6.13.jar` 等 jar 包到产品可加载的目录。 * 配置白名单,确保 `prometheus` 可以无密码登录。 **3. 配置步骤** **a. 添加白名单** 将以下配置添加到 `application.properties` 中: ```properties # 白名单配置 prometheus.web.allowed-hosts=10.110.83.113 ``` **b. 添加 Actuator 部分设置** 在 `actuator/prometheus` 中添加以下配置: ```yaml endpoints: web: exposure: include: '*' metrics: export: prometheus: enabled: true tags: application: DM113 ``` **4. 启动服务** 重启服务即可启动监控。 **5. 使用 Grafana 监控 JVM** 1. 创建一个新的 dashboard。 2. 在 dashboard 中添加以下图表: * 监控 `springboot` 的 CPU 使用率。 * 监控 `springboot` 的内存使用率。 3. 启动 Grafana。 4. 在 Grafana 中添加图表,选择 `job_name` 为 `springboot`,`scrape_interval` 为 5s,`metrics_path` 为 `/actuator/prometheus`,`static_configs` 设置为 `- targets: [\"10.110.83.113:5200\"]`。 5. 保存并启动 Grafana。 **6. 测试** 访问 Grafana 的 dashboard,应该能看到 Springboot 的监控数据。

正文

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


背景

同事今天提交了一个补丁.
给基于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 监控连接池相关.

与Springboot下micrometer+prometheus+grafana进行JVM监控的操作过程相似的内容:

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

Springboot下micrometer+prometheus+grafana进行JVM监控的操作过程 背景 同事今天提交了一个补丁. 给基于Springboot的产品增加了micrometer等收集jvm信息的工具 但是这边springboot的版本比较高,导致有异常. 启动直接失败了. 晚上九

[转帖]Springboot 集成 micrometer(actuator/prometheus) 接口报 404

https://blog.csdn.net/qq_26545503/article/details/123313891 原因 主要是spring-boot版本和micrometer版本没有对应上,我用的spring-boot是2.6.0对应的micrometer就是1.8 需要修改两个地方 pom.

[转帖]给你的SpringBoot做埋点监控--JVM应用度量框架Micrometer

https://www.cnblogs.com/yunlongn/p/11343848.html 这世上有三样东西是别人抢不走的:一是吃进胃里的食物,二是藏在心中的梦想,三是读进大脑的书 JVM应用度量框架Micrometer实战 前提 spring-actuator做度量统计收集,使用Promet

docker制作springboot镜像

以下步骤在具有Docker环境的Linux机器上操作。 把springboot-1.0.0.jar放到/usr/local/springboot目录下,并在该目录下创建Dockerfile文件,内容为: FROM openjdk:8-jdk-alpine ADD springboot-1.0.0.j

windows下使用dockerdesktop进行部署

Docker部署springboot项目 环境准备 要在windows上使用docker需要确认系统的需求 需要启用虚拟化支持的CPU 启用适用于windows的Linux子系统功能 保证足够的内存 下载dockerdesktop 下载后会提示安装对应的环境 坑点 安装过程中需要安装wsl环境,会遇

springboot使controller异步调用

调用controller方法,遇到操作时间很长的情况下,不希望前端一直等待操作,而希望前端立马接收到操作启动的反馈,而真正的操作在后端执行,需要用到异步调用的方法。实现步骤如下: 一、配置异步支持: 首先,在应用程序的主类上添加 @EnableAsync 注解,以启用异步支持 import org.

如何实现 Java SpringBoot 自动验证入参数据的有效性

Java SpringBoot 通过javax.validation.constraints下的注解,实现入参数据自动验证 如果碰到 `@NotEmpty` 否则不生效,注意看下 `@RequestBody` 前面是否加上了`@Valid`

SpringBoot 整合 EasyExcel 实现自由导入导出,太强了

在实际的业务系统开发过程中,操作 Excel 实现数据的导入导出基本上是个非常常见的需求。 之前,我们有介绍一款非常好用的工具:EasyPoi,有读者提出在数据量大的情况下,EasyPoi 会占用内存大,性能不够好,严重的时候,还会出现内存异常的现象。 今天我给大家推荐一款性能更好的 Excel 导

SpringBoot进阶教程(七十五)数据脱敏

无论对于什么业务来说,用户数据信息的安全性无疑都是非常重要的。尤其是在数字经济大火背景下,数据的安全性就显得更加重要。数据脱敏可以分为两个部分,一个是DB层面,防止DB数据泄露,暴露用户信息;一个是接口层面,有些UI展示需要数据脱敏,防止用户信息被人刷走了。 v需求背景 DB层面的脱敏今天先不讲,今

Springboot 使用nacos鉴权的简单步骤

Springboot 使用nacos鉴权的简单步骤 背景 前端时间nacos爆出了漏洞. 因为他的默认token固定,容易被利用. 具体的问题为: QVD-2023-6271 漏洞描述:开源服务管理平台 Nacos 中存在身份认证绕过漏洞, 在默认配 置下未token.secret.key 进行修改