@[TOC]>*~啊哈,我又来了~*<
*话不多说,直接上才艺*
SpringBoot+micrometer+actuator暴露接口,实现peromethues监控
First:导入依赖以及yml文件配置:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.6.3</version>
</dependency>
management:
endpoints:
jmx:
exposure:
include: "*"
# *代表暴露监控所有端点
web:
exposure:
include: "*"
metrics:
export:
datadog:
application-key: ${spring.application.name}
tags:
application: ${spring.application.name}
Second: 新建符合prometheus的metric(此处用counter):
(prometheus有四种metric:counter、guage、histogram、summary,选用哪一种看自己的实际需要)
1.在启动类中加入监控jvm的bean
//bean监控jvm的信息
@Bean
MeterRegistryCustomizer<MeterRegistry> configurer(
@Value("${spring.application.name}") String applicationName) {
return (registry) -> registry.
config().
commonTags("application", applicationName);
}
- 注入MeterRegistry bean
@Autowired
private MeterRegistry registry;
- 创建counter
//page_view_count是在prometheus搜索用到的(暂时称为索引标签),name是标志,value是name对应的值
Counter counter_pv=registry.counter("page_view_count", "name","value");
//自增加一
counter_pv.increment();
4.访问;
4.1 启动后,访问[link](localhost:8080/actuator/promethues)即可查看对应的索引标签的值。
4.2 启动后,访问[link](localhost:8080/actuator)即可查看应用对外暴露的接口列表
4.3 可以直接在自己部署的prometheus上根据索引标签来查对应的metric
注意:本文用的是springboot 2.4版本跟 micrometer 1.6.3版本
(版本注意区别哟~)
还是那句老话:如有错请指出,错了看我心情再改。