Spring Admin 入门
Spring Boot Admin 入门
Spring Boot Admin 简介
简而言之,Spring Boot Admin是用来管理和监视您的Spring Boot应用程序的。应用程序需要注册为客户端,UI由AngularJs开发。对于Spring Admin来说,需要分别配置好服务端和客户端。服务端我们将其理解为一个Servlet应用,客户端即为要监控的Springboot应用。
以下为Spring Admin官方文档的说明:
codecentric’s Spring Boot Admin is a community project to manage and monitor your Spring Boot ® applications. The applications register with our Spring Boot Admin Client (via HTTP) or are discovered using Spring Cloud ® (e.g. Eureka, Consul). The UI is just an AngularJs application on top of the Spring Boot Actuator endpoints.
Spring Boot Admin Server 设置
建立Springboot项目,Springboot Admin Server设置为servlet或webflux应用。
引入相关依赖至pom.xml
将pom.xml插入以下依赖
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId><version>2.2.0</version>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
配置主启动类注解
配置主启动类注解@EnableAdminServer
@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class SpringBootAdminApplication {public static void main(String[] args) {SpringApplication.run(SpringBootAdminApplication.class, args);}
}
启动项目,在浏览器输入http://localhost:8080/,可得到SpringAdmin监控页面
这里插一个坑,若遇到下图所示项目启动失败
2020-08-30 13:30:17.094 INFO 25568 --- [ main] c.e.a.AdminserverdemoApplication : Starting AdminserverdemoApplication on DESKTOP-K6A15G9 with PID 25568 (D:\北京邮电大学\实验室实习\Iaas升级\SpringbootAdmin\target\classes started by 吴宇轩 in D:\北京邮电大学\实验室实习\Iaas升级\SpringbootAdmin)
2020-08-30 13:30:17.101 INFO 25568 --- [ main] c.e.a.AdminserverdemoApplication : No active profile set, falling back to default profiles: default
2020-08-30 13:30:19.255 INFO 25568 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2020-08-30 13:30:19.277 INFO 25568 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-08-30 13:30:19.277 INFO 25568 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.37]
2020-08-30 13:30:19.280 INFO 25568 --- [ main] o.a.catalina.core.AprLifecycleListener : Loaded Apache Tomcat Native library [1.2.23] using APR version [1.7.0].
2020-08-30 13:30:19.280 INFO 25568 --- [ main] o.a.catalina.core.AprLifecycleListener : APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
2020-08-30 13:30:19.281 INFO 25568 --- [ main] o.a.catalina.core.AprLifecycleListener : APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
2020-08-30 13:30:19.285 INFO 25568 --- [ main] o.a.catalina.core.AprLifecycleListener : OpenSSL successfully initialized [OpenSSL 1.1.1c 28 May 2019]
2020-08-30 13:30:19.423 INFO 25568 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2020-08-30 13:30:19.423 INFO 25568 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2237 ms
2020-08-30 13:30:19.837 INFO 25568 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2020-08-30 13:30:19.839 WARN 25568 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerAdapter' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Factory method 'requestMappingHandlerAdapter' threw exception; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'webMvcAsyncTaskExecutor' available
2020-08-30 13:30:19.839 INFO 25568 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
2020-08-30 13:30:19.846 INFO 25568 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2020-08-30 13:30:19.868 INFO 25568 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-08-30 13:30:19.987 ERROR 25568 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ***************************
APPLICATION FAILED TO START
***************************Description:Method requestMappingHandlerAdapter in org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$EnableWebMvcConfiguration required a bean named 'webMvcAsyncTaskExecutor' that could not be found.Action:Consider defining a bean named 'webMvcAsyncTaskExecutor' in your configuration.Process finished with exit code 1
则为SpringBootAdmin版本问题,将版本改为2.2.0即可
配置Spring Boot Admin Client
新建一个Spring Boot项目
添加依赖至pom.xml
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>2.2.0</version>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
将此应用注册应用到服务端
再application.properties中添加相关参数
spring.boot.admin.client.url=http://localhost:8888
#这里公开了所有的端点
management.endpoints.web.exposure.include=*
server.port=8889
添加配置类SecurityPermitAllConfig使执行器端点可访问
package com.example.adminclientdemo;import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;public class SecurityPermitAllConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().anyRequest().permitAll().and().csrf().disable();}
}
展现客户端版本信息
现在启动应用就可以在管理页面看到该客户端实例信息,为了展示客户端版本信息(其它信息请查阅Spring Boot Reference Guide),要在build的时候列出build-info,修改pom.xml*。
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>build-info</goal></goals></execution></executions></plugin></plugins>
</build>
启动Server端,将client端打包成jar包并运行,可以看到如下网页进行监控
显示了build-info信息
Spring Admin 入门相关推荐
- Spring Cloud入门-Admin服务监控中心(Hoxton版本)
文章目录 Spring Cloud入门系列汇总 摘要 Spring Boot Admin 简介 创建admin-server模块 创建admin-client模块 监控信息演示 结合注册中心使用 修改 ...
- Spring Boot 入门
一.Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,m ...
- Spring Boot 入门与实战笔记
**一.**Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 20 ...
- Spring Cloud 入门 之 Zuul 篇(五)
一.前言 随着业务的扩展,微服务会不对增加,相应的其对外开放的 API 接口也势必增多,这不利于前端的调用以及不同场景下数据的返回,因此,我们通常都需要设计一个 API 网关作为一个统一的 API 入 ...
- Spring Boot入门到牛X
Spring Boot入门到牛X 1.Spring Boot 项目下载地址:https://download.csdn.net/download/weixin_39549656/10287664 1. ...
- Spring boot入门(三):集成AdminLTE(Freemarker),结合generate代码生成器,利用DataTable和PageHelper分页...
Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示 标题 ...
- Spring Cloud入门-Sentinel实现服务限流、熔断与降级(Hoxton版本)
文章目录 Spring Cloud入门系列汇总 摘要 Sentinel简介 安装Sentinel控制台 创建sentinel-service模块 限流功能 创建RateLimitController类 ...
- Spring Cloud入门-Ribbon服务消费者(Hoxton版本)
文章目录 Spring Cloud入门系列汇总 摘要 Ribbon简介 RestTemplate的使用 GET请求方法 getForObject方法 getForEntity方法 POST请求方法 p ...
- 微服务理念与Spring Cloud入门-----父工程与API子工程的创建教程
前言 随着软件工程的规模的迅速扩大,对响应的速度的要求的越来越高,软件的开发过程面临越来越大的挑战.为了提高开发的效率,和质量,以及对成本的压缩,对软件的模块化,以及希望像硬件模块一样,能即插即用,成 ...
最新文章
- php传值到模板,laravel 实现向公共模板中传值 (view composer)
- html css 极简模板,极简主义作品展示HTML模板
- java消费者和生产者模型_Java实现简易生产者消费者模型过程解析
- Java 并发编程系列之闭锁(CountDownLatch)
- 307. Range Sum Query - Mutable | 307. 区域和检索 - 数组可修改(数据结构:线段树,图文详解)
- android 8.0 调系统拍照_Android通知栏微技巧,8.0系统中通知栏的适配
- 讨论ALL_ROWS模式和FIRST_ROWS模式
- Springboot:监控与管理 Actuator
- 没有富士康?外媒称苹果新款iPhone SE由和硕独家组装
- python--httplib模块使用
- 【BZOJ4566】[Haoi2016]找相同字符 后缀数组+单调栈
- 2019.04.07 电商12 登录界面的验证
- html网页中获取vf数据到mysql_vfp教程之用FoxWeb在网上快速发布你的FOXPRO数据库
- 计算机编码--3.GB2312与GBK
- 两台(或多台)电脑怎么实现文件共享
- cv2.VideoCapture.get()用法
- 设置共享后其他计算机无法访问,电脑设置了文件共享其他电脑无法访问该怎么处理...
- 房屋征收拆迁信息化管理平台
- 比较MQTT与OPC-UA
- 百面机器学习 之 逻辑回归