关键词:
Spring Boot Admin介绍
Spring Boot Admin 是github上一款用于Spring Boot 的监控管理的开源项目,通过http直接注册或者通过注册中心注册的方式,实现了Spring Boot应用上的一些常见监控项,具体功能点如下:
- 显示应用程序的监控状态
- 应用程序上下线监控
- 查看 JVM,线程信息
- 可视化的查看日志以及下载日志文件
- 动态切换日志级别
- Http 请求信息跟踪
- 其他监控点
详细监控项可到githup上去查看
地址:https://github.com/codecentric/spring-boot-admin
快速搭建
本文是基于nacos注册中心配置实现,在开始前需要安装好nacos服务端。
搭建服务:
- admin-server 监控服务端
- admin-client 被监控的客户端
创建Admin-server应用
添加pom依赖:
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven.deploy.skip>true</maven.deploy.skip>
<nacos.version>2.2.4.RELEASE</nacos.version>
<spring-boot.version>2.2.5.RELEASE</spring-boot.version>
<spring-boot.admin.version>2.2.2</spring-boot.admin.version>
<spring-boot-starter-actuator.version>2.2.5.RELEASE</spring-boot-starter-actuator.version>
</properties>
<dependencies>
<!--监控服务端 -->
<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-web</artifactId>
<version>$spring-boot.version</version>
</dependency>
<!--nacos注册中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>$nacos.version</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>$spring-boot-starter-actuator.version</version>
</dependency>
</dependencies>
添加配置
server:
port: 8012
spring:
application:
name: admin-server
#配置中心
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
service: $spring.application.name
# 暴露监控端点
management:
endpoints:
web:
exposure:
include: '*'
endpoint:
health:
show-details: always
# 日志
logging:
file: /application/applogs/admin.log
启动类增加注解
@EnableAdminServer 注解,开启监控服务端的功能
@EnableAdminServer
@SpringBootApplication
public class AdminServerApp
public static void main(String[] args)
SpringApplication.run(AdminServerApp.class, args);
启动后,我们就可以看到
创建Admin-client应用
添加pom依赖
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven.deploy.skip>true</maven.deploy.skip>
<nacos.version>2.2.4.RELEASE</nacos.version>
<spring-boot.version>2.2.5.RELEASE</spring-boot.version>
<spring-boot.admin.version>2.3.0</spring-boot.admin.version>
<spring-boot-starter-actuator.version>2.2.5.RELEASE</spring-boot-starter-actuator.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>$spring-boot.version</version>
</dependency>
<!--nacos注册中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>$nacos.version</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>$spring-boot-starter-actuator.version</version>
</dependency>
</dependencies>
client是通过nacos向admin注册的,所以只需要开启nacos注册服务和actuator监控点的服务就可以了,
配置文件
server:
port: 8013
spring:
application:
name: admin-client
#配置中心
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
service: $spring.application.name
# 暴露监控端点
management:
endpoints:
web:
exposure:
include: '*'
endpoint:
health:
show-details: always
logging:
file: /application/applogs/admin.log
启动类
@SpringBootApplication
public class ClientApp
public static void main(String[] args)
SpringApplication.run(ClientApp.class, args);
最普通的一个springboot应用,启动之后
至此,监控应用已经搭建完成。
设置登录信息
admin默认启动时随机生成秘钥进行验证登录的,我们添加spring security 提供登录验证
admin-server添加依赖
<!--security -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
增加配置文件
server:
port: 8012
spring:
application:
name: admin-server
#配置中心
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
service: $spring.application.name
metadata:
user.name: admin
user.password: 654321
security:
user:
name: admin
password: 654321
# 暴露监控端点
management:
endpoints:
web:
exposure:
include: '*'
endpoint:
health:
show-details: always
logging:
file: /application/applogs/admin.log
metadata 是向nacos注册时携带用户米密码,以防注册时被权限限制无法获取到数据,增加 security 配置,配置用户名 admin,密码654321
添加拦截配置
@Configuration
public class SecuritySecureConfig extends WebSecurityConfigurerAdapter
private final String adminContextPath;
public SecuritySecureConfig(AdminServerProperties adminServerProperties)
this.adminContextPath = adminServerProperties.getContextPath();
@Override
protected void configure(HttpSecurity http) throws Exception
// 登录成功处理类
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
successHandler.setTargetUrlParameter("redirectTo");
successHandler.setDefaultTargetUrl(adminContextPath + "/");
http.authorizeRequests()
//静态文件允许访问
.antMatchers(adminContextPath + "/assets/**").permitAll()
//登录页面允许访问
.antMatchers(adminContextPath + "/login", "/css/**", "/js/**", "/image/*").permitAll()
//其他所有请求需要登录
.anyRequest().authenticated()
.and()
//登录页面配置,用于替换security默认页面
.formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
//登出页面配置,用于替换security默认页面
.logout().logoutUrl(adminContextPath + "/logout").and()
.httpBasic().and()
.csrf()
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
.ignoringAntMatchers(
"/instances",
"/actuator/**"
);
然后启动admin-server,输入用户名密码登录
实战:使用springbootadmin实现运维监控平台
...性能数据呢?在这样的背景下,就诞生了另一个开源软件SpringBootAdmin。下面就来介绍什么是SpringBootAdmin以及如何使用SpringBootAdmin搭建完整的运维监控平台。一、什么 查看详情
指标监控神器springbootadmin保姆级教程
SpringBootAdmin基于SpringBootAdmin的开源产品很多,我们选择这个:https://github.com/codecentric/spring-boot-admin1.搭建Admin服务器创建建对应的SpringBoot项目,添加相关依赖<dependency><groupId>de.codecentric</gr 查看详情
springbootadmin,贼好使!
来源|Java中文社群(ID:javacn666)SpringBootAdmin(SBA)是一个开源的社区项目,用于管理和监控SpringBoot应用程序。应用程序可以通过http的方式,或SpringCloud服务发现机制注册到SBA中,然后就可以实现对... 查看详情
使用springbootadmin监控springcloud微服务
本文基于SpringCloud的环境和配置上增加配置信息,而不是从0开始的配置。一、搭建admin服务端1、引入pom<properties><spring-boot-admin-starter-client.version>1.5.6</spring-boot-admin-starter-client.version><spring-boot-admin 查看详情
【微服务】-springbootadmin
参考技术A目录:SpringBootAdmin用于管理和监控一个或者多个SpringBoot应用,SpringBootAdmin分为Server端和Client端,Client通过http向Server端注册,也可以结合SpringCloud的服务注册组件Eureka进行注册。SpringAdmin的监测详细信息有如下:本文的... 查看详情
springboot技术专题「开发实战系列」一起搭建属于自己的springbootadmin的技术要素
SpringBootAdmin的介绍说明SpringBootAdmin是开源社区孵化的项目,用于对SpringBoot应用的管理和监控。SpringBootAdmin分为服务端(spring-boot-admin-server)和客户端(spring-boot-admin-client),服务端和客户端之间采用http通讯方式实现数据交互;单体项... 查看详情
springboot技术专题「开发实战系列」一起搭建属于自己的springbootadmin的技术要素(代码片段)
SpringBootAdmin的介绍说明SpringBootAdmin是开源社区孵化的项目,用于对SpringBoot应用的管理和监控。SpringBootAdmin分为服务端(spring-boot-admin-server)和客户端(spring-boot-admin-client),服务端和客户端之间采用http通讯方式实现数据交互... 查看详情
springboot监控-springbootadmin(代码片段)
01:SpringBoot高级–SpringBoot监控02:SpringBoot监控-SpringBootAdmin1.SpringBootAdmin使用游览器地址栏访问SpringBoot的监控信息太繁琐了,所以SpringBootAdmin就诞生了,以UI界面的方式来显示监控信息。SpringBootAdmin说明:SpringBootAdmi... 查看详情
springcloud微服务监控springbootadmin
1.简介SpringBootAdmin是一个管理和监控SpringBoot应用程序的开源软件。SpringBootAdmin分为Server端和Client端,SpringBootAdminUI部分使用AngularJs将数据展示在前端。2.工程架构EurekaServer:服务注册中心,端口为8761。AdminServer:用于对微服务系... 查看详情
springcloud-springbootadmin服务监控(十三)
springcloud笔记推荐文章前言SpringBootAdmin是一个管理和监控你的SpringBoot应用程序的应用程序。这些应用程序通过SpringBootAdminClient(通过HTTP)注册或者使用SpringCloud(例如Eureka)发现。UI只是SpringBootActuator端点上的一个AngularJs应用程... 查看详情
springboot度量指标监控与健康检查和可视化监控应用springbootadmin
... 使用可视化监控应用SpringBootAdmin 使用步骤: SpringBootAdmin的使用是需要建立服务端和客户端的 服务端:独立的项目,会将收集到的数据在自己的图形界面中展示 查看详情
springbootadmin微服务监控管理
...项目:https://github.com/codecentric/spring-boot-admin功能特性SpringBootAdmin为注册的应用程序提供以下功能:显示健康状况显示详细信息,例如JVM和内存指标mi 查看详情
springbootadmin2实例状态监控详解(代码片段)
其他相关文章:SpringBootAdmin参考指南SpringBootAdmin服务离线、不显示健康信息的问题SpringBootAdmin2@EnableAdminServer的加载SpringBootAdmin2AdminServerAutoConfiguration详解在微服务中集成SpringBootAdmin的主要作用之一就是用来监控服务的实例... 查看详情
springboot2.x搭建springbootadmin2.x
1说明全部配置基于1.8.0_111当前SpringBoot使用2.0.5SpringBootAdmin基于Eureka进行Client发现,Eureka搭建参见SpringBoot2.x搭建EurekaSpringBootAdmin项目文档参见SpringBootAdmin参考文档2创建项目在SpringBoot项目生成器中,输入Group和Artifact,如下配置:3... 查看详情
springbootadmin2.x监控的服务context-path问题
在使用SpringBootAdmin进行监控时,如果被监控的服务没有加context-path的话是不会有任何问题的,一旦服务加了context-path的配置,监控就会失败。下图是正常情况的显示:我们给被监控的服务增加一个context-path:server.servlet.context-path... 查看详情
物联网架构成长之路(30)-springbootadmin微服务webui监控
...要观察各个微服务的运行状态,因此SpringBoot生态提供了SpringBootAdmin这个组件来实现微服务管理WEBUI。但是整体的注册中心还是基于Eureka,只是WebUI是用这个SpringBootAdmin来显示而已。具体的结构如下所示1.Eureka服务 这个没什么... 查看详情
使用springbootadmin监控应用状态(代码片段)
1SpringBootActuatorSpringBootActuator是SpringBoot提供的对应用的自省和监控功能,如健康检查,审计,指标收集,HTTP跟踪等,可以帮助开发和运维人员监控和管理SpringBoot应用。该模块采集应用的内部信息,并暴露... 查看详情
springbootadmin
转SpringBootAdmin的使用 作者杜琪关注2015.12.2517:30*字数1803阅读16569评论21喜欢55上一篇文章中了解了SpringBoot提供的监控接口,例如:/health、/info等等,实际上除了之前提到的信息,还有其他信息业需要监控:当前处于活跃状态的... 查看详情