Springboot集成prometheus
1、添加依赖
在项目中添加如下依赖。
1 | <dependency> |
具体依赖的版本,根据springboot的版本适配。如果随便选择版本号,可能会出现问题
spring-boot-starter-actuator的版本:选择
跟springboot的版本一致
micrometer-registry-prometheus的版本: 跟
actuator下引用的依赖io.micrometer:micrometer-core 版本保持一致
2、添加配置
在服务的配置文件中添加如下配置
1 | management: |
添加完配置之后,重启服务。可以通过
http://<service_host>:<service_port>/actuator/prometheus
获取监控指标信息。如下图所示

3、调整prometheus的配置
调整prometheus的配置文件prometheus.yml
. 添加如下内容
1 | scrape_configs: |
调整完配置后,重启prometheus使配置生效。`systemctl restart prometheus
4、查看prometheus状态
在prometheus的web页面,点击菜单栏的Status->Targets, 查看监控服务的状态


在Grafana中导入模版
导入对应的监控 JVM 的 Dashboard 模板,模板编号为 4701


导入模板之后,就可以查看对应的dashboard

Micrometer
Micrometer 为 Java 平台上的性能数据收集提供了一个通用的 API,它提供了多种度量指标类型(Timers、Guauges、Counters等),同时支持接入不同的监控系统,例如 Influxdb、Graphite、Prometheus 等。我们可以通过 Micrometer 收集 Java 性能数据,配合 Prometheus 监控系统实时获取数据,并最终在 Grafana 上展示出来,从而很容易实现应用的监控。
Micrometer 中有两个最核心的概念,分别是计量器(Meter)
和计量器注册表(MeterRegistry)
。计量器用来收集不同类型的性能指标信息,Micrometer 提供了如下几种不同类型的计量器:
计数器(Counter): 表示收集的数据是按照某个趋势(增加/减少)一直变化的,也是最常用的一种计量器,例如接口请求总数、请求错误总数、队列数量变化等。
计量仪(Gauge): 表示搜集的瞬时的数据,可以任意变化的,例如常用的 CPU Load、Mem 使用量、Network 使用量、实时在线人数统计等,
计时器(Timer): 用来记录事件的持续时间,这个用的比较少。
分布概要(Distribution summary): 用来记录事件的分布情况,表示一段时间范围内对数据进行采样,可以用于统计网络请求平均延迟、请求延迟占比等。