Maven依赖
<!-- springboot 版本 <spring-boot.version>2.4.2</spring-boot.version>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--将actuator监控的指标转为prometheus格式-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.7.1</version>
</dependency>
Spring Boot的actuator功能提供了很多监控所需的接口,可以对应用系统进行配置查看、相关功能统计。
application.yml配置
测试环境可以随意配置,但生产环境注意不要暴露敏感端点
management:
endpoint:
health:
#显示所有健康信息 ,默认never
show-details: always
server:
#监控服务ip
address: 127.0.0.1
#监控服务端口
port: 9876
endpoints:
web:
exposure:
#设置暴露所有端点
include: "*"
#排除
exclude: env
#访问的baseUrl(默认为/actuator)
base-path: /h-actuator
启动项目访问http://127.0.0.1:9876/h-actuator/,可查看actuator提供的接口
http://127.0.0.1:9876/h-actuator/health
Actuator没有httptrace 端点的问题
在使用Actuator时,发现其它端点都是可以访问,但httptrace 不可以访问,应该是springboot高版本的问题
解决方法:
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.actuate.trace.http.InMemoryHttpTraceRepository;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@Slf4j
public class TraceConfig {
@Bean
public InMemoryHttpTraceRepository getInMemoryHttpTrace(){
return new InMemoryHttpTraceRepository();
}
}
actuator端点接口请求说明
相关说明可参考:https://blog.csdn.net/liupeifeng3514/article/details/85235464