最近在做的springboot,spring boot默认提供一些检查机制,查看当前系统一些运行环境,spring工厂情况,配置文件等属性通过url进行访问,下面我来列举一下对于运维和排查问题有作用的api
首先我们要给spring boot 管理安全验证的去除,management.security.enabled =false,这样访问接口时就不会提示账户名密码,不过建议生产环境不要用该属性,可以通过配置springsecurity相关的账户名来进行访问,并且在spring boot2.0以上该属性以及废弃,需使用
management.endpoints.web.exposure.include=*
在这是使用
security:
user:
name: root
password: admin
我们来看看spring boot提供的一些api
这些api中对我们排查问题有用的有
/env,查看部署系统的一些环境变量,系统属性等
/beans,查看spring中的所有托管类
/configprops,查看spring配置属性,可以看到我们激活的profiles
/mappings,查看springmvc所有映射关系,以及对应的实现类
/loggers,查看项目的日志级别
/autoconfig ,查看自动装配的问题,有时候多余的装配会导致一些healthcheck过不了,使服务一直无法注册上
很多时候我们使用jenkins发布到线上的时候,发现线上的日志显示有配置上的问题,这时候去排查问题,如果在dockerfile中,去排查太麻烦,直接在浏览器上请求这些api,即可看到实际的配置,这些可以检查是我们jenkins构建的问题,还是代码中配置的问题,加快我们排查问题的进度.