热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringBoot学习(二十八):SpringBootAdmin让你轻松监控你的SpringBoot应用

前言SpringBoot系列:点击查看SpringBoot系列文章SpringBootAdminSpringBootAdmin是一个开源社区项目,用于管理和监控S

前言

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、通过添加&#64;EnableAdminServer到配置中来引入Spring Boot Admin Server 配置&#xff1a;我直接在启动类上添加注解&#xff0c;当然你也可以在配置类上添加

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

至此&#xff0c;一个Spring Boot Admin Server就构建完成了


Spring Boot Admin Client客户端

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

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

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

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

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

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

在这里插入图片描述

在这里插入图片描述



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

我们只需要将Spring Boot Admin客户端注册到Eureka 上&#xff0c;那么 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、启动类上增加 &#64;EnableDiscoveryClient 注解开启注册功能

&#64;EnableDiscoveryClient
&#64;EnableAdminServer
&#64;SpringBootApplication
public class SpringCloudDemoApplication {public static void main(String[] args) {SpringApplication.run(SpringCloudDemoApplication.class, args);}}

3、在配置文件配置 Eureka 注册信息&#xff1a;

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

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


推荐阅读
author-avatar
rvr4845591
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有