Spring Boot Admin:微服务应用监控

Spring Boot Admin监控的使用 学会SpringBoot Admin 一篇就够了,巨细!!!!巨实用!!!!! 阅读详情

摘要


Spring Boot Admin 可以对SpringBoot应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用,本文将对其用法进行详细介绍。

Spring Boot Admin 简介


SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标来监控SpringBoot应用,然后通过图形化界面呈现出来。Spring Boot Admin不仅可以监控单体应用,还可以和Spring Cloud的注册中心相结合来监控微服务应用。
Spring Boot Admin 可以提供应用的以下监控信息:

监控应用运行过程中的概览信息;
度量指标信息,比如JVM、Tomcat及进程信息;
环境变量信息,比如系统属性、系统环境变量以及应用配置信息;
查看所有创建的Bean信息;
查看应用中的所有配置信息;
查看应用运行日志信息;
查看JVM信息;
查看可以访问的Web端点;
查看HTTP跟踪信息。

创建admin-server模块


这里我们创建一个admin-server模块来作为监控中心演示其功能。

  • 在pom.xml中添加相关依赖:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
</dependency>

  • 在application.yml中进行配置:
spring:
  application:
    name: admin-server
server:
  port: 9301

  • 在启动类上添加@EnableAdminServer来启用admin-server功能:
@EnableAdminServer
@SpringBootApplication
public class AdminServerApplication {

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

}

创建admin-client模块


这里我们创建一个admin-client模块作为客户端注册到admin-server。

  • 在pom.xml中添加相关依赖:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>

  • 在application.yml中进行配置:
spring:
  application:
    name: admin-client
  boot:
    admin:
      client:
        url: http://localhost:9301 #配置admin-server地址
server:
  port: 9305
management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always
logging:
  file: admin-client.log #添加开启admin的日志监控

监控信息演示


  • 访问如下地址打开Spring Boot Admin的主页:http://localhost:9301
    在这里插入图片描述
  • 点击wallboard按钮,选择admin-client查看监控信息;
  • 监控信息概览;
    在这里插入图片描述
  • 度量指标信息,比如JVM、Tomcat及进程信息;
    在这里插入图片描述
  • 环境变量信息,比如系统属性、系统环境变量以及应用配置信息;
    在这里插入图片描述
  • 查看所有创建的Bean信息;
    在这里插入图片描述
  • 查看应用中的所有配置信息;
    在这里插入图片描述
  • 查看日志信息,需要添加以下配置才能开启;
logging:
  file: admin-client.log #添加开启admin的日志监控

在这里插入图片描述

  • 查看JVM信息;
    在这里插入图片描述

  • 查看可以访问的Web端点;
    在这里插入图片描述

  • 查看HTTP跟踪信息;
    在这里插入图片描述

结合注册中心使用

Spring Boot Admin结合Spring Cloud 注册中心使用,只需将admin-server和注册中心整合即可,admin-server 会自动从注册中心获取服务列表,然后挨个获取监控信息。这里以Eureka注册中心为例来介绍下该功能。

修改admin-server
  • 在pom.xml中添加相关依赖:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

  • 在application-eureka.yml中进行配置,只需添加注册中心配置即可:
spring:
  application:
    name: admin-server
server:
  port: 9301
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://localhost:8001/eureka/

  • 在启动类上添加@EnableDiscoveryClient来启用服务注册功能:
@EnableDiscoveryClient
@EnableAdminServer
@SpringBootApplication
public class AdminServerApplication {

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

}

修改admin-client
  • 在pom.xml中添加相关依赖:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

  • 在application-eureka.yml中进行配置,删除原来的admin-server地址配置,添加注册中心配置即可:
spring:
  application:
    name: admin-client
server:
  port: 9305
management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always
logging:
  file: admin-client.log #添加开启admin的日志监控
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://localhost:8001/eureka/

  • 在启动类上添加@EnableDiscoveryClient来启用服务注册功能:
@EnableDiscoveryClient
@SpringBootApplication
public class AdminClientApplication {

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

}

功能演示
  • 启动eureka-server,使用application-eureka.yml配置启动admin-server,admin-client;
  • 查看注册中心发现服务均已注册:http://localhost:8001/
    在这里插入图片描述
  • 查看Spring Boot Admin 主页发现可以看到服务信息:http://localhost:9301
    在这里插入图片描述

添加登录认证


我们可以通过给admin-server添加Spring Security支持来获得登录认证功能。

创建admin-security-server模块
  • 在pom.xml中添加相关依赖:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.1.5</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.yml中进行配置,配置登录用户名和密码,忽略admin-security-server的监控信息:
spring:
  application:
    name: admin-security-server
  security: # 配置登录用户名和密码
    user:
      name: macro
      password: 123456
  boot:  # 不显示admin-security-server的监控信息
    admin:
      discovery:
        ignored-services: ${spring.application.name}
server:
  port: 9301
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://localhost:8001/eureka/

  • 对SpringSecurity进行配置,以便admin-client可以注册:
/**
 * Created by macro on 2019/9/30.
 */
@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()
                //1.配置所有静态资源和登录页可以公开访问
                .antMatchers(adminContextPath + "/assets/**").permitAll()
                .antMatchers(adminContextPath + "/login").permitAll()
                .anyRequest().authenticated()
                .and()
                //2.配置登录和登出路径
                .formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
                .logout().logoutUrl(adminContextPath + "/logout").and()
                //3.开启http basic支持,admin-client注册时需要使用
                .httpBasic().and()
                .csrf()
                //4.开启基于cookie的csrf保护
                .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
                //5.忽略这些路径的csrf保护以便admin-client注册
                .ignoringAntMatchers(
                        adminContextPath + "/instances",
                        adminContextPath + "/actuator/**"
                );
    }
}

  • 修改启动类,开启AdminServer及注册发现功能:
@EnableDiscoveryClient
@EnableAdminServer
@SpringBootApplication
public class AdminSecurityServerApplication {

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

}

  • 启动eureka-server,admin-security-server,访问Spring Boot Admin 主页发现需要登录才能访问:http://localhost:9301
    在这里插入图片描述

使用到的模块

springcloud-learning
├── eureka-server -- eureka注册中心
├── admin-server -- admin监控中心服务
├── admin-client -- admin监控中心监控的应用服务
└── admin-security-server -- 带登录认证的admin监控中心服务

项目源码地址

https://github.com/macrozheng/springcloud-learning

Spring Cloud入门-Admin服务监控中心(Hoxton版本)(1) 金三银四马上就到了,希望大家能好好学习一下这些技术点学习视频:《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取![外链图片转存中…(img-eFmYiRkP-1713300214138)][外链图片转存中…(img-gU7SO8rB-1713300214138)]既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化! 阅读详情

相关推荐

SpringBootAdmin监控

SpringBootAdmin监控

李大能 2722

SpringBoot监控@EnableAdminServer、自定义actuator的 端点

监控的意义: 监控服务状态是否宕机 监控服务运行指标(内存、虚拟机、线程、请求等) 监控日志 管理服务(服务下线) 监控的实施方式: 1 要有一个服务器,这个服务器要把被监控的服务信息展示出来 2 在运行的服务中做设置,主动上报给服务器我被监控了,我的哪些东西被你监控了.............

m0_45877477的博客 2939

从逻辑门到RISC-V指令:ALU设计实战与Verilog实现

本文详细介绍了从逻辑门到RISC-V指令集的ALU设计实战与Verilog实现方法。通过构建1位ALU并扩展至64位,深入解析了RISC-V指令集的算术逻辑单元实现技巧,包括加法器设计、零标志检测和溢出检测等关键功能。文章还分享了Verilog代码优化、流水线设计和常见问题调试的实用经验,为开发者提供了一套完整的ALU设计解决方案。

weixin_29214335的博客 187

Spring Boot Admin2 @EnableAdminServer的加载

首先根据官网的“快速开始”,快速搭建一个Spring Boot Admin Server项目1、添加Spring Boot Admin启动器到依赖pom.xml

分享技术干货和灵感、推荐新书和好玩的项目、分享Java面试题 2905

VOSviewer文献可视化006:修改节点标签文字

由VOSviewer软件生成的可视化图形所显示的文字是小写的,有时候,我们希望其所显示的数据(如国家或作者的首字母等)能够以大写的方式呈现,这时可以进行对节点标签文字的修改操作,使图形显示我们想要的一个效果。

qq_41725964的博客 6152

如何玩转腾讯云轻量级服务器(新手向)

如何玩转腾讯云轻量级服务器(新手向) ​ 相信不少同学都想将自己的服务器部署到云服务器,让别人通过自己的域名就可以访问到自己的项目,而腾讯云轻量级服务器作为一个小型的应用,支持域名解析和可视化运维等。比较适合新手入门 ​ 本文服务器操作系统为Centos7 一. 购买以及基本配置 1.购买方式 ​ 本文主要面向新手,毕竟一般只有新手才会购买轻量级服务器。所以可以选择购买一年的来学习,以后再根据需要换,前提提示(轻量级服务器没有安全组的,开放端口直接开启防火墙里的即可) ​ 购买连接 购买完成后点击控制

qq_46160687的博客 1万+

13.Spring Boot Admin:微服务应用监控

Spring Boot Admin:微服务应用监控 https://mp.weixin.qq.com/s/6B-IcF7gSvY3LtMGjUYpWA

MissOfSpring的博客 324

Windows系统的Mamba环境配置详细教程(状态空间模型)

causal_conv1d也是安装mamba的依赖必须库。安装完成后,通过pip list可以查看到安装的库。Triton是安装mamba的依赖,需要先安装。上述工作准备好后,按下面步骤安装。直接根据离线文件安装即可。是自己的虚拟环境名字。

2301_77831163的博客 3677

Spring Boot Admin:一站式监控多个微服务应用的利器

Spring Boot Admin是一个用于管理和监控Spring Boot应用程序的开源项目。应用健康状态监控详细的运行时指标查看日志级别动态调整JVM和内存指标监控线程转储和分析环境属性查看和修改跟踪和会话管理Spring Boot Admin为Spring Boot微服务架构提供了一种简单而强大的监控解决方案。通过集中式的管理界面,开发团队可以快速了解系统整体健康状况,及时发现并解决问题。

随便写写 542

《MySQL高级篇》十四、多版本并发控制

《MySQL高级篇》十四、多版本并发控制

LXYDSF的博客 3992

基于STM32设计的环境检测系统(OneNet)_365

本项目设计并实现了一种基于STM32F103RCT6单片机的环境检测系统,系统集成了多种传感器模块,具备对环境温湿度、烟雾浓度、易燃气体浓度、一氧化碳浓度和整体空气质量的实时检测功能。系统通过1.44寸SPI接口LCD实现本地数据显示,同时配备有源蜂鸣器用于环境异常报警。在数据通信方面,系统利用ESP8266-WIFI模块,采用MQTT协议将各类传感器数据上传至OneNet云平台,并借助其可视化框架实现网页端可视化界面,可通过电脑和手机浏览器远程访问,实现环境数据的远程监控。该系统设计结构简单、功能全面,适

2195

web应用监控_Spring Boot Admin:微服务应用监控

Spring Boot Admin 可以对SpringBoot应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用,本文将对其用法进行详细介绍。SpringCloud实战电商项目mall-swarm(5.1k+star)地址:https://github.com/macrozheng/mall-swarmSpring Boot Admin 简介SpringBoot应用可以通过Actuat...

weixin_39918145的博客 142

YOLOv5入门实践(1)——手把手带你环境配置搭建

YOLOv5入门实践第一步,手把手带你配置环境

路人贾的博客 2万+

服务器应用监控:Spring Boot Admin 监控微服务服务器运行状态

轻量集成:无需复杂 Agent,依赖 Starter 即可接入。集中管理:统一查看所有微服务状态。开箱即用:内置健康检查、性能指标、日志聚合。可扩展性:支持自定义监控指标和通知渠道。注意:生产环境建议结合 Prometheus + Grafana 实现更细粒度的指标存储和可视化。

2501_93893220的博客 302

【EB-02】TC397 Tresos 最小工程配置

主要设置McalLibPublishedInformation 参数,会根据ResourceM配置的芯片自动加载。可以看到再工程目录中生成了output文件夹,里面由这些模块生成的头文件,编译脚本和epc文件。如果选择生成swcd,可以生成xxx_Bswmd.arxml给别的工具使用。如果没有Error和Problems就可以点击生成代码。点击工程校验看看工程是否由错误。

libuping2023的博客 327

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

五分钟学会 Spring Boot Admin:微服务应用监控(小白必看,一看就会教程)

Spring Boot Admin:微服务应用监控 Spring Boot Admin 简介 监控信息演示 结合注册中心使用 功能演示 添加登录认证 文末福利 Spring Boot Admin 可以对SpringBoot应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用,本文将对其用法进行详细介绍。 Spring Boot Admin 简介 SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标来监控SpringBo

码上代码的博客 2709

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

JAVA课程笔记系列:Spring Boot Admin

Spring Boot Admin 1. 什么是Spring Boot Admin? Spring Boot Admin 是一个管理和监控Spring Boot 应用程序的开源软件。每个应用都认为是一个客户端,通过HTTP或者使用 Eureka注册到admin server中进行展示,Spring Boot Admin UI部分使用AngularJs将数据展示在前端。 Spring Boot A...

qianfeng_dashuju的博客 258

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spring Boot面试题 35 问

1、什么是 Spring Boot? Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。 2、为什么要用 Spring Boot? 快速开发 快速整合第三方框架(Maven依赖关系,Maven继承) 简化XML的配置 内置嵌入HTTP服务器(Tomcat(默认)、Jetty),降低了对环境的要求 3、Spring Boot 的优点? 容易上手,提升开发效率,为

养歌的博客 1万+

【SpringBoot框架篇】13.使用springboot admin对springboot应用进行监控

应用集成adminSpring Boot Admin 对springboot应用进行监控

皓亮君的博客 9178
上一篇: java.lang.IllegalStateException: Calling [asyncError()] is not valid for a request with Async state
下一篇: Spring Cloud Security:Oauth2使用入门
Java编程之道
博客等级 码龄9年 497粉丝 227原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值