目录
前言
1.搭建SBA监控端
1.1 开启SBA服务
1.2 配置SBA端口号
2.创建一个普通SpringBoot项目
3.SpringBootAdmin监控总览
4.SpringBoot异常监控
5.1 添加actuator框架支持
5.2 查看项目实时日志
总结
前言Spring Boot Admin(SBA)是一个开源的社区项目,用于管理和监控 Spring Boot 应用程序。应用程序可以通过 http 的方式,或 Spring Cloud 服务发现机制注册到 SBA 中,然后就可以实现对 Spring Boot 项目的可视化管理和查看了。
Spring Boot Admin 可以监控 Spring Boot 单机或集群项目,它提供详细的健康 (Health)信息、内存信息、JVM 系统和环境属性、垃圾回收信息、日志设置和查看、定时任务查看、Spring Boot 缓存查看和管理等功能。接下来我们一起来搭建和使用吧。
它最终的展示效果如下:
我们需要创建一个 Spring Boot Admin 项目,用来监控和管理我们的 Spring Boot 项目,搭建的方式和创建普通的 Spring Boot 项目类似,具体步骤如下。使用 Idea 创建一个 Spring Boot 项目:
这里需要注意,需要添加 Spring Boot Admin(Server)服务端框架的支持,如下图所示:
也就是创建的 Spring Boot 项目需要添加以下两个重要的框架支持:
1.1 开启SBA服务创建完项目之后,需要在启动类上开启 SBA 服务:
在 application.properties 中配置一个项目的端口号就可以直接启动了,我配置的端口号是 9001:
配置端口号的主要目的是为了不和其他 Spring Boot 项目冲突,如果 SBA 是单独部署此步骤可以忽略。
启动项目之后,就可以看到 SBA 的主页了,如下图所示:
此时 SBA 中还没有添加任何需要监控的项目,接下来我们再创建一个 Spring Boot 项目,加入到 SBA 中来进行监控和管理吧
2.创建一个普通SpringBoot项目首先,我们需要创建一个普通的 Spring Boot 项目,具体的创建步骤这里就不演示了。当创建好 Spring Boot 项目之后,需要在这个 Spring Boot 项目中需要添加 SBA 客户端框架的支持,也就是在 pom.xml 中配置如下内容:
然后在 application.properties 文件中配置 SBA 服务器端地址,也就是咱们第一步创建 SBA 项目的地址,配置内容如下:
其中“spring.boot.admin.client.url”为 SBA 监控地址。
3.SpringBootAdmin监控总览配置完以上信息之后,此时查看 Spring Boot Admin 页面中就有被监控的 Spring Boot 项目了,如下图所示:
也可以点击“应用墙”查看 Spring Boot Admin 中所有被监控的 Spring Boot 项目,如下图所示:
点击应用进入详情页面,如下图所示
事件日志中包含 Spring Boot 各种状态的展示(UP 为正常、OFFLINE 为异常)和发生的时间,如下图所示:
当我们手动把被监控的 Spring Boot 项目停止之后,在 Spring Boot Admin 中就可以查看到一个应用已经被停掉了,如下图所示:
在被监控的 Spring Boot 项目中添加 actuator 框架支持,也就是在 pom.xml 中添加以下配置:
想要查看监控项目中的日志信息,有一个前提条件,前提条件是你被监控的 Spring Boot 项目,必须配置了日志的保存路径或者日志保存文件名,只有配置这两项中的任意一项,你的 Spring Boot 项目才会将日志保存到磁盘上,这样才能通过 SBA 查看到,我配置的是日志路径,在 Spring Boot 的 application.properties 配置文件中添加以下配置:
设置完成之后,重启你的 Spring Boot 项目,然后刷新 SBA 页面,最终展示效果如下:
此时我们就可以查看实时的日志信息了,当然你也可以随时下载日志,如果需要的话。
总结Spring Boot Admin(SBA)是一个社区开源项目,用于管理和监视 Spring Boot 应用程序,它提供详细的健康 (Health)信息、内存信息、JVM 系统和环境属性、垃圾回收信息、日志设置和查看、定时任务查看、Spring Boot 缓存查看和管理等功能。
我们需要创建一个 SBA 服务器端用来监控一个或多个 Spring Boot 项目,被监控的 Spring Boot 项目要添加 SBA Client 框架的支持,且添加 actuator 框架和相应的配置,就可以实现对 Spring Boot 项目的完美监控了。