注:本文章基于尚硅谷Springboot高级特性相关视频及资料进行编写,代码简单,较容易理解,若有问题或者源码资料获取可以在评论区留言或者联系作者!
导引
通过引入actuator,可以使用SpringBoot为我们提供的准生产环境下的应用监控和管理功能。我们可以通过HTTP,JMX,SSH协议来进行操作,自动得到审计、健康及指标信息;
一、监管端点测试
(1)使用SpringBoot的初始化功能,创建SpringBoot的工程,引入Actuator工具;
(2)在配置文件中关闭安全管理访问
management.endpoints.web.exposure.include=* // 启用所有的端点
(3)启动项目,访问/beans路径,可以查看容器中每一个组件的信息:
(4)访问http:localhost:8080/health,可以查看应用的健康信息:
(5)info:用于监控应用的一些信息,可以在配置文件中进行配置
info.app.id=hello
info.app.version=1.2.3
(6)dump:用于暴露程序运行过程中的一些线程信息;
(7)autoconfig:用于显示项目中生效的配置,其中positiveMaches是生效的,negativeMatches是不生效的;
(8)trace:用于返回我们http请求的跟踪信息
(9)metrics:用于返回当前应用的运行内存指标:
(10)env:用于显示放弃那应用的环境信息:
(11)configprops:返回每一个配置信息的信息报告
(12)shutdown:关闭应用;
首先需要在配置类中将该属性打开:
endpoin.shutdow.enable=true
然后可以远程使用Post请求关闭应用:http:localhost:8080/shutdown
二、定制端点信息
- 定制端点一般通过endpoints+端点名+属性名来设置(或者使用path属性也可以设置);
- 例如使用在配置文件中使用endpoins.beans.id=mybean时,原来的/beans请求就无法访问,这时使用设置的/mybean才可以访问;
- 关闭端点:endpoins.beans.enabled=false
- 定制根路径:management.context-path=/manage
开发常用
- 这样,每一个端点都必须从/manage路径出发才可以访问
- 关闭回http端点:management.port=-1(表示不存在 或等于其它值的时候为改变端口)
开发常用
三、自定义HealthIndicator(健康状态指示器)
1、编写一个指示器,实现HealthIndicator接口,
public class MyAppHealthIndicator inplements HealthIndicator{
@Override
public Health health(){
//自定义的检查方法
//Health.up().build()表示健康
//Health.down().withDetail("msg","服务异常").build();
return Health.up().build();
}
}
2、指示器的名字 xxxxHealthIndicator
3.加入容器中
总结:
SpringBoot的监控管理学习中,了解了基本的actuator监控管理方式,和常用的功能映射路径,最后还学习了如何自定义健康状态指示器,更多的内容再以后的项目编写中将会继续学习!!!
SpringBoot高级学习到此为止!完结撒花!!!!!!!!!!!
如果感觉内容写的还不错的话,一键三连不迷路!!!!
后面将会更新更多学习内容,一起学习吧!!!!!!