0. 前言
在之前的几章中,我们先搭建了一个项目骨架,又搭建了一个使用nacos的gateway网关项目,网关项目中并没有配置太多的东西。现在我们就接着搭建在Spring Cloud 微服务中另一个重要的项目 - Spring boot admin.
1. Spring Boot Admin 介绍
Spring Boot Admin 用来监控基于Spring Boot的应用,在Spring Boot Actuator的基础上提供了简洁的可视化Web UI。Spring Boot Admin 提供了以下功能:
- 显示应用的健康状态
- 显示应用的细节内容: JVM和内存信息,micrometer信息, 数据源信息,缓存信息等
- 显示 编译版本
- 查看和下载日志
- 查看jvm参数和环境变量值
- 查看Spring Boot项目配置
- 显示 thread dump
- 显示 http-traces
……
等一系列内容。
2. 创建一个 Spring Boot Admin项目
那么,我们就来创建一个Spring Boot Admin 项目吧。
2.1 创建 Spring Boot Admin 服务端
在manager 目录下,创建一个 monitor目录,并在monitor目录下创建一个pom.xml 文件,添加以下内容:
1 |
|
在 manager/pom.xml 注册我们新建的项目模块:
1 | <modules> |
在 monitor 创建如下目录:
1 | . |
在根目录的pom.xml 添加 Spring Boot Admin 依赖:
先添加spring-boot-admin版本号变量:
1 | <spring-boot-admin.version>2.2.3</spring-boot-admin.version> |
并在dependencyManagement > dependencies 下添加:
1 | <dependency> |
在monitor/pom.xml文件中添加:
1 | <dependencies> |
运行
mvn clean install
检查并刷mvn引用缓存。
创建MonitorApplication类:
1 | package club.attachie.nature.monitor; |
启动后能看到如下界面:
3 与网关服务进行互通
在上一篇中,我们添加了Spring Cloud Gateway项目,到目前为止两个项目之间完全割裂没有关联。在这一节,我们在两者之间建立关联。也就是说,将gateway 项目引入Spring Admin Boot监听。
在 manager/gateway 的pom.xml 文件中加入如下引用:
1 | <dependency> |
然后修改 gateway项目的启动端口,在resources/bootstrap.yml 添加:
1 | server: |
在 monitor中加入nacos引用:
1 | <dependency> |
修改MonitorApplication 为:
1 | package club.attachie.nature.monitor; |
创建monitor项目的bootsrap.yml:
1 | spring: |
关于这里的配置 在上一篇 中有个错误,应该是 discovery > server-addr,不是 config > server-addr。两者有区别,discovery表示设置nacos为服务发现中心,config表示nacos为配置中心。
启动 gateway 项目和 monitor项目查看效果, 访问 8080端口:
可以看到两个应用可以被发现,如果没有设置monitor项目把nacos当做服务发现中心,将无法获取到具体在线的应用。点击 gateway 进去后可以查看到:
4. 总结
我们搭建了一个Spring Boot Admin 项目作为一个监控系统,后续会在这里添加更多的内容。
- 本文作者: Mr.Gao
- 本文链接: https:/www.attachie.club/java/action/6183.html
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!