前言
最近有个老项目要接入prometheus,通过grafana图形化界面展示监控信息,上网查了接入方式,结果遇到一些问题,有些是springboot版本的原因,一些是公司平台本身的问题,针对这次接入监控,总结一些经验,供大家参考。
正文:
由于第一次接入prometheus,所以上网搜索springboot如何接入,看了几篇文章写的,比价简单,当时觉得这玩意so easy,太没意思了,结果是啪啪的打脸。按照网上配置,发现几个问题,首先是配置参数提示不存在,其次项目启动后访问ip:port:/metrics数据不对。这个时候意识到没有想象的那么容易,可能是版本不兼容。查看了本项目用到的springboot的版本是1.5.8,然后通过springboot的版本关键字再次去搜索,发现真是,springboot 1.5.x与2.x的接入方式不同。再次按照文档接入,访问ip:port:/prometheus,成功访问到上报数据,注意这里的访问路径发生了改变,这也导致与公司平台相冲突,引发需要映射访问路径的问题。下面主要讲springboot 1.5.x与 2.x接入prometheus的方式,以及映射访问路径的方式。
SpringBoot 1.5.x接入方式:
maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-spring-legacy</artifactId>
<version>1.1.3</version>
</dependency>
application.yml配置
#暴露端口9999(此端口需不同于rest端口),如端口冲突可更换,也可以不单独配置端口,那么访问的和rest访问同一个端口
management:
security:
enabled: false
port: 9999
#所有端点关闭,只开放prometheus端点
endpoints:
enabled: false
prometheus:
enabled: true
项目启动后,访问127.0.0.1:9999/prometheus后出现下面截图,那么恭喜你,配置成功