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

背景

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

maven库获取相应的jar包

  • 先说明一下错误情况

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


maven库获取相应的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 监控连接池相关.
相关推荐
解救女汉子5 分钟前
SQL触发器如何获取触发源应用名_利用APP_NAME函数追踪
jvm·数据库·python
yejqvow124 小时前
Pandas 高效实现组内跨行时间戳匹配与布尔标记
jvm·数据库·python
qq_189807034 小时前
html标签如何提升可访问性_aria-label与title区别【指南】
jvm·数据库·python
qq_349317485 小时前
mysql如何设置定时自动备份脚本_编写shell脚本与cron任务
jvm·数据库·python
前进吧-程序员5 小时前
C++ 内存到底分配在哪?
java·jvm·c++
2401_832365525 小时前
Chart.js 4 中基于数据实际范围的线性渐变填充方案
jvm·数据库·python
qq_342295825 小时前
如何让 Bootstrap 图标在 Vue 3 中持续旋转动画
jvm·数据库·python
兩尛5 小时前
c++面试常问1
jvm·c++·面试
weixin_568996065 小时前
如何用 IndexedDB 存储从 API 获取的超大列表并实现二级索引
jvm·数据库·python
2301_775148155 小时前
如何授权AWR报告生成_GRANT SELECT ANY DICTIONARY诊断权限
jvm·数据库·python