SpringBootAdmin-使用踩坑
一、版本选择
目前项目中使用的springcloud版本为 Hoxton.SR3,使用的spring-cloud-alibaba版本为2.2.1.RELEASE,
使用的springboot版本为2.2.5如下图所示
这些版本是自己参照网友的各种博客来进行搭建的,目前项目已经在正常运行,这足以说明版本的选择基本上是没什么问题的。
项目上线运行后,自己也在想能不能在添加一个新的项目springbootadmin来监控项目的正常运行呢?想到后立马行动,参照
教程 https://www.jianshu.com/p/05ee63c5b932 很快在本地搭建好了一个简单的监控项目。可是当自己进行一些修改后遇到一系列
的问题,最终都被自己一一解决掉。
二、遇到的问题
问题一:当springbootadmin项目添加项目的访问前缀后,会导致springbootadmin项目本身不能监控自己是否在正常运行。解决办法在
https://www.cnblogs.com/zkj1204/p/15632465.html 这篇文章中,包括被监控的项目如果有访问前缀也可以使用该方法。
问题二:当被监控的springboot项目需要使用https访问的时候,springbootadmin项目监控的后台会显示其已经掉线。因为springbootadmin
监控的项目发送的是http请求,自己了解的目前只支持http请求。
问题三:忽略健康检查请求的地址,使用教程里面的方式不行,然后又找到一篇博文来解决这个问题。https://www.jb51.net/article/217617.htm
单独添加上面一段代码就能够正常进行监控,按照最开始教程中的方法没有解决权限校验的问题,上面这种方式亲测可用。
问题四: 正式准备部署在生产环境上时,发现 springbootadmin 的首页访问不了,因为服务器上只开了一个443端口,所有请求都是https请求,
这就导致出现各种问题。解决首页访问不了可参照的博文为 https://www.cnblogs.com/zhihongli/p/13083954.html 自己尝试后问题确实解决了。
问题五:问题四解决后,新的问题又接踵而至,监控服务的请求都是http请求,导致请求都不能正常到达服务器。最终我选择放弃在生成环境
部署springbootadmin监控项目。但是本地是已经能够正常跑起来,并且进行监控。因为考虑到系统安全问题,所有请求必须使用https请求,
并且使用nginx转发后的请求仍然是https的请求,只为了系统更加的安全可用。希望以后做的系统在后端可以使用http访问的话,就可以使用
springbootadmin监控项目。
三、测试方案
本地很好测试,把springbootadmin监控项目启动起来,然后在启动其他几个需要监控的项目即可,和教程中所说的基本上没什么差别。