Spring Boot学习(二十八):Spring Boot Admin让你轻松监控你的Spring Boot应用

前言

Spring Boot系列: 点击查看Spring Boot系列文章


Spring Boot Admin

Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册(通过HTTP)或使用SpringCloud注册中心(例如Eureka,Consul)发现。 UI是的Vue.js应用程序,展示Spring Boot Admin Client的Actuator端点上的一些监控。

Spring Boot Admin为注册的应用程序提供以下功能:

显示健康状况
显示详细信息,例如:JVM和内存指标、micrometer.io指标、数据源指标、缓存指标
显示内部编号
关注并下载日志文件
查看JVM系统和环境属性
查看Spring Boot配置属性
支持Spring Cloud的可发布/ env-和// refresh-endpoint
轻松的日志级别管理
与JMX-beans交互
查看线程转储
查看http-traces
查看审核事件
查看http端点
查看预定的任务
查看和删除活动会话(使用spring-session)
查看Flyway / Liquibase数据库迁移
下载heapdump
状态更改通知(通过电子邮件,Slack,Hipchat等)
状态更改的事件日志(非持久性)


Spring Boot Admin使用

Spring Boot Admin 分为两部分。server端和client端。我们要做的就是部署server端,在我们的应用中集成client端。

创建Spring Boot Admin Server服务器端

1、将Spring Boot Admin Server服务器依赖添加到您的依赖项中:

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.2.3</version>
</dependency>

2、通过添加@EnableAdminServer到配置中来引入Spring Boot Admin Server 配置:我直接在启动类上添加注解,当然你也可以在配置类上添加

@SpringBootApplication
@ServletComponentScan
@EnableAdminServer
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

至此,一个Spring Boot Admin Server就构建完成了


Spring Boot Admin Client客户端

在构建了Spring Boot Admin server服务端之后,我们就可以构建Spring Boot Admin Client客户端了

1、将spring-boot-admin-starter-client添加到您的依赖中,为了保护端点,我们还可以添加spring-boot-starter-security。

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>2.2.3</version>
</dependency>

注:spring-boot-admin-starter-client依赖已经包含了actuator依赖
在这里插入图片描述
2、在项目的配置文件中配置admin-server的地址,同时公开actuator的所有端口信息,如下

#Spring Boot Admin Server的注册地址,我这里设置的端口是8088
spring.boot.admin.client.url=http://localhost:8088
#与Spring Boot 2一样,默认情况下大多数端点都不通过http公开,我们公开了所有端点。对于生产,我们可以自行选择要公开的端点。
management.endpoints.web.exposure.include=* 

启动Server和client项目,访问Server服务端。就可以客户端的状态了
在这里插入图片描述
点击应用墙,可以查看实例的各种信息

在这里插入图片描述

在这里插入图片描述


Spring boot Admin结合Spring Cloud注册中心使用

我们只需要将Spring Boot Admin客户端注册到Eureka 上,那么 Spring Boot Admin就可以通过Eureka获取到每个微服务的地址以及actuator暴露出来的地址。Spring Boot Admin就可以监控每个微服务实例了。

1、在Spring Boot Admin Server项目添加Eureka 依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2、启动类上增加 @EnableDiscoveryClient 注解开启注册功能

@EnableDiscoveryClient
@EnableAdminServer
@SpringBootApplication
public class SpringCloudDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringCloudDemoApplication.class, args);
    }

}

3、在配置文件配置 Eureka 注册信息:

#指定服务注册中心地址
eureka.client.serviceUrl.defaultZone=http://localhost:2002/eureka/
# 采用IP注册
eureka.instance.preferIpAddress=true
# 暴露端点
management.endpoints.web.exposure.include=*

注:在注册中心的服务不需要添加admin 的 url 和 client 包的依赖

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值