这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战 未来每一个微服务在云上部署以后,我们都需要对其进行监控、追踪、审计、控制等。SpringBoot就抽取了Actuator场景,使得我们每个微服务快速引用即可获得生产级别的应用监控、审计等功能。
首先我们导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
导入依赖之后,我们,再一次启动我们的项目
这时候呢,我们肯定是要报一个错误的,因为我们需要Redis来统计次数,我们有没有连接,redis,所以会报错
我们网址访问http://localhost:8080/actuator
{
"_links":
{
"self":
{
"href":
"http://localhost:8080/actuator",
"templated":false
},
"health":
{
"href":
"http://localhost:8080/actuator/health",
"templated":false
},
"health-path":
{
"href":
"http://localhost:8080/actuator/health/{*path}",
"templated":true
}
}
}
这里是给我们一个提示,我们目前可以用的指标,第一个就是health,他是说我们当前项目的健康状况,
显示的是一个宕机状态,因为我们没有开redis
在这个页面,我们可以看到我们许多的监控方式,但是我们并不能直接在web端看到。我们许多的监控断点是没有开启的。
在HTTP中,他只开启了health
在JMX,默认暴露所有端点
JMX查看监控端点:
控制台输入jconsole
这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战
连接到我们的SpringBoot应用
在这里我们就可以看到我么的组件,
其实我们还是习惯于使用HTTP的方式去查看我们的指标,但是当然不是那种json的方式,而是我们如果去给他做一个可视化页面,那我们查看起来是十分舒服的。
我们只要在我们的yaml中配置我们暴露的方式,management一级标题
management:
endpoints:
enabled-by-default: true
web:
exposure:
include: '*'
打开之后,在这里,我们就能监控到我们众多的实例。