1、Spring Boot Admin
其实前面我们已经使用了很多 Boot Admin 的案例了,就是项目中使用的 spring-boot-starter-actuator 依赖提供的端点监控,但是它返回的是一个 json 字符串,不方便我们查看使用,所以这里引入了一个新的概念,spring boot admin,通过图形可视化的形式,将各项指标、应用详细情况展示出来,前提是各个应用中使用端点放开了提供数据的配置,例如以下配置,使用 * 就放开了所有配置
management.server.port=9099
management.endpoints.jmx.exposure.include=*
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
实际开发中尽量不要使用 * 通配,不安全,因为暴露了所有的信息
2、构建 Boot Admin 监控端
创建 spring-cloud-alibaba-boot-admin 模块,核心依赖为 spring-boot-admin-starter-server,其他的和之前的一样
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
修改 application.properties 配置文件
server.port=8088
spring.application.name=spring-cloud-alibaba-boot-admin
management.server.port=9098
management.endpoints.jmx.exposure.include=*
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
# Nacos注册信息
spring.cloud.nacos.discovery.server-addr=localhost:8848
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
spring.cloud.nacos.discovery.namespace=sandbox-configuration
启动类增加注解
@EnableDiscoveryClient
@EnableAdminServer
然后启动应用,到这里就构建完成了,是不是特别简单呢,接下来启动应用,访问
http://localhost:8088/
能查到当前应用信息就说明配置 OK 了点击头部的应用墙,然后点击应用,查看当前应用的详细配置
3、构建 Boot Admin 客户端
通常情况下,客户端都是实际的应用,这里就创建一个新的服务,作为模拟实际开发的客户端
创建 spring-cloud-alibaba-boot-admin-client 模块,核心依赖从 server 变成了 client,spring-boot-admin-starter-client 注意一下细节
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
修改 application.properties 配置文件,核心配置为最后一句增加了 boot admin 的监控地址
server.port=8089
spring.application.name=spring-cloud-alibaba-boot-admin-client
management.server.port=9099
management.endpoints.jmx.exposure.include=*
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
# Nacos注册信息
spring.cloud.nacos.discovery.server-addr=localhost:8848
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
spring.cloud.nacos.discovery.namespace=sandbox-configuration
# Boot Admin监控
spring.boot.admin.client.url=http://localhost:8088
然后启动客户端的服务刷新一下监控面板
我们增加的服务已经显示在应用墙了
同样可以查看详细配置了
到此,Spring Boot Admin 端点监控配置完成了
微信公众号
原文始发于微信公众号(花海里):【Spring Cloud Alibaba】Boot Admin 端点监控
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/69491.html