Spring Cloud入门-Admin服务监控中心(Hoxton版本)

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

项目使用的Spring Cloud为Hoxton版本,Spring Boot为2.2.2.RELEASE版本

Spring Cloud入门系列汇总

序号内容链接地址
1Spring Cloud入门-十分钟了解Spring Cloudhttps://blog.youkuaiyun.com/ThinkWon/article/details/103715146
2Spring Cloud入门-Eureka服务注册与发现(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103726655
3Spring Cloud入门-Ribbon服务消费者(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103729080
4Spring Cloud入门-Hystrix断路器(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103732497
5Spring Cloud入门-Hystrix Dashboard与Turbine断路器监控(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103734664
6Spring Cloud入门-OpenFeign服务消费者(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103735751
7Spring Cloud入门-Zuul服务网关(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103738851
8Spring Cloud入门-Config分布式配置中心(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103739628
9Spring Cloud入门-Bus消息总线(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103753372
10Spring Cloud入门-Sleuth服务链路跟踪(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103753896
11Spring Cloud入门-Consul服务注册发现与配置中心(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103756139
12Spring Cloud入门-Gateway服务网关(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103757927
13Spring Cloud入门-Admin服务监控中心(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103758697
14Spring Cloud入门-Oauth2授权的使用(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103761687
15Spring Cloud入门-Oauth2授权之JWT集成(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103763364
16Spring Cloud入门-Oauth2授权之基于JWT完成单点登录(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103766368
17Spring Cloud入门-Nacos实现注册和配置中心(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103769680
18Spring Cloud入门-Sentinel实现服务限流、熔断与降级(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103770879
19Spring Cloud入门-Seata处理分布式事务问题(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103786102
20Spring Cloud入门-汇总篇(Hoxton版本)https://blog.youkuaiyun.com/ThinkWon/article/details/103786588

摘要

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中进行配置:

server:
  port: 9301

spring:
  application:
    name: admin-server

在启动类上添加@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中进行配置:

server:
  port: 9305

spring:
  application:
    name: admin-client
  boot:
    admin:
      client:
        # 配置admin-server地址
        url: http://localhost:9301

management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always

# 添加开启admin的日志监控
logging:
  file: admin-client.log

启动admin-server和admin-client服务。

监控信息演示

访问如下地址打开Spring Boot Admin的主页:http://localhost:9301

在这里插入图片描述

点击wallboard按钮,选择admin-client查看监控信息;

监控信息概览;

在这里插入图片描述

度量指标信息,比如JVM、Tomcat及进程信息;

在这里插入图片描述

环境变量信息,比如系统属性、系统环境变量以及应用配置信息;

在这里插入图片描述

查看所有创建的Bean信息;

在这里插入图片描述

查看应用中的所有配置信息;

在这里插入图片描述

查看日志信息,admin-client模块的applicaiton.yml需要添加以下配置才能开启;

logging:
  #添加开启admin的日志监控
  file: admin-client.log 

在这里插入图片描述

查看JVM信息;

在这里插入图片描述

查看可以访问的Web端点;

在这里插入图片描述

结合注册中心使用

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中进行配置,只需添加注册中心配置即可:

server:
  port: 9301

spring:
  application:
    name: admin-server

eureka:
  client:
    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地址配置,添加注册中心配置即可:

server:
  port: 9305

spring:
  application:
    name: admin-client
  boot:
    admin:
      client:
        # 配置admin-server地址
        url: http://localhost:9301

management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8001/eureka/

# 添加开启admin的日志监控
logging:
  file: admin-client.log

在启动类上添加@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.boot</groupId>
	<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<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>
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

在application.yml中进行配置,配置登录用户名和密码,忽略admin-security-server的监控信息:

server:
  port: 9301

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8001/eureka/

spring:
  application:
    name: admin-security-server
  security:
    user:
      # 配置登录用户名和密码
      name: root
      password: 123456
  boot:
    admin:
      discovery:
        # 不显示admin-security-server的监控信息
        ignored-services: ${spring.application.name}

对SpringSecurity进行配置,以便admin-client可以注册:

@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监控中心服务

项目源码地址

GitHub项目源码地址

SpringCloud集成Admin实现微服务监控 本节课程主要带大家在mall-swarm-tiny项目中集成了Spring Boot Admin的监控功能,通过集成监控功能,我们可以在监控中心看到应用的运行状态、各种性能指标和日志,从而对应用的运行情况有更多的了解。 阅读详情

相关推荐

SpringBootAdmin微服务监控

创建Server SpringBootAdmin通过收集actuator暴露出来的服务信息以及通过心跳检测的机制判断服务的运行状况。 1.引入依赖 <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.2.0</vers..

m0_67645544的博客 2519

Spring Boot Admin2 @EnableAdminServer的加载

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

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

数值计算之 插值法(4)切比雪夫零点插值

数值计算之 插值法(4)切比雪夫零点插值前言插值点选取第一类切比雪夫多项式拉格朗日插值多项式的余项切比雪夫零点插值后记 前言 上篇插值法讨论了多项式插值的解,以及龙格现象。本篇将介绍一种在抽取节点时有效降低龙格现象的方法——切比雪夫零点插值。 插值点选取 插值多项式阶数较高时,在取值空间均匀取点,容易出现龙格现象。 即区间边缘的插值结果与原函数差异很大,而区间中央的插值结果相对较好。这表明,高阶多项式插值对区间中央的节点拟合好,而对两端节点拟合效果差。 自然而然会想到,在两端多采样一些节点,在中间少采样一

qq_41035283的博客 1万+

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

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

m0_45877477的博客 2939

保姆级教程:用OpenCV和MediaPipe在Python里实现实时手势识别(附完整代码)

本文提供了一份详细的Python教程,教你如何使用OpenCV和MediaPipe实现实时手势识别系统。从环境配置、手部关键点检测到手势分类算法,逐步讲解如何构建高精度手势识别应用,适用于智能家居控制、PPT操作等场景。教程包含完整代码示例和性能优化技巧,特别适合计算机视觉初学者和开发者实践。

weixin_28677005的博客 329

[工作流节点24] 外部用户审批的实现方式:让客户、供应商也能参与流程决策

摘要: 明道云支持通过三种方式实现外部用户审批:1)外部表单审批(推荐方案),通过公开表单让外部用户提交审批意见并自动触发流程;2)链接参数审批,通过含参数的URL实现一键确认;3)API/Webhook审批,适用于系统集成场景。三种方案均无需外部用户登录,支持记录操作日志和安全审计。典型应用包括客户确认报价、供应商发货确认等,实现内外流程无缝衔接。建议根据业务复杂度选择:无代码需求用外部表单,轻量审批用链接参数,系统对接用Webhook。

每日出拳老爷子的博客 347

Spring Cloud入门-Admin服务监控中心(Hoxton版本),2021金九银十

endpoint: health: show-details: always 添加开启admin的日志监控 logging: file: admin-client.log 启动admin-server和admin-client服务。 监控信息演示 访问如下地址打开Spring Boot Admin的主页:http://localhost:9301 点击wallboard按钮,选择admin-client查看监控信息; 监控信息概览; 度量指标信息,比如JVM、Tomcat及进程信息; 环境变量信息,

m0_65321095的博客 783

三极管电平转换电路

摘要:本文介绍了三种基于三极管的电平转换电路方案。第一种采用双NPN三极管实现3.3V转5V反相电平转换;第二种使用单NPN三极管完成5V转3.3V同相转换;第三种利用单PNP三极管实现3.3V转5V同相转换。各方案均通过三极管的开关特性配合电阻网络实现电压域适配,具有结构简单、成本低的优点,适用于不同逻辑电平设备(如MCU与外设)间的信号兼容传输。文中详细分析了各电路的工作原理、元件作用和特性,并通过Multisim仿真验证了其功能有效性。

XU157303764的博客 1856

Spring Cloud入门-Admin服务监控中心(Hoxton版本),java高级编程技术

} 创建admin-client模块 这里我们创建一个admin-client模块作为客户端注册到admin-server。 在pom.xml中添加相关依赖: org.springframework.boot spring-boot-starter-web de.codecentric spring-boot-admin-starter-client 在application.yml中进行配置: server: port: 9305 spring: application: name: adm

m0_64205676的博客 705

Dify智能体开发:大语言模型(LLM)问题分类

通过定义分类描述,问题分类器能够根据用户输入,使用 LLM 推理与之相匹配的分类并输出分类结果,向下游节点提供更加精确的信息。

王国平的博客 2249

Qt CEF融合技QCefView使用教程

如果从事C++客户端开发,对CEF应该不陌生,当C++界面需要和web交互时,CEF是很好的解决方案,当然Qt也提供了QWebEngineView来进行web交互,最近在万兴喵影的安装目录看到了QCefView.dll,之前也听说过这个库,没在意,没想到还真有人用到项目里面,于是决定自己编译写个demo看看......

琅嬛福地 1万+

Spring Cloud入门-汇总篇(Hoxton版本)

文章目录简介应用场景注册中心配置中心服务网关服务调用熔断与限流安全保护监控中心分布式事务解决目录项目结构项目地址 项目使用的Spring Cloud为Hoxton版本,Spring Boot为2.2.2.RELEASE版本 简介 Spring Cloud是一系列框架的有序集合。目的是协调各个微服务,简化分布式系统开发。这里做一个有关于Spring Cloud知识的汇总,包括Spring Clo...

ThinkWon的博客 3万+

R语言深度学习实战:基于YOLO的目标检测

目标检测是计算机视觉领域的一项任务,旨在识别图像或视频中的物体,并确定它们的位置。与图像分类不同,目标检测要求模型能够识别多个物体,并为每个物体提供边界框(bounding box)的位置信息。这种任务在众多应用中都具有重要价值,例如自动驾驶、安防监控、物体跟踪等。YOLO(You Only Look Once)是一种非常流行的目标检测算法,它在速度和准确性之间取得了良好的平衡。与传统的目标检测方法不同,YOLO将目标检测任务视为回归问题,直接从输入图像中预测目标的类别和位置信息。

YOLO 330

Spring Cloud入门-Eureka服务注册与发现(Hoxton版本)

就写到这了,也算是给这段时间的面试做一个总结,查漏补缺,祝自己好运吧,也希望正在求职或者打算跳槽的 程序员看到这个文章能有一点点帮助或收获,我就心满意足了。多思考,多问为什么。希望小伙伴们早点收到满意的offer!越努力越幸运!金九银十已经过了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。

2301_79055239的博客 762

171、运动控制中的标定:摩擦力与死区补偿标定

摘要(149字) 运动控制系统中的摩擦力与死区补偿是提升精度的关键。摩擦力分为静摩擦、库仑摩擦和粘滞摩擦,其中Stribeck效应是低速抖动的主因;死区则表现为控制信号的无效区间。有效标定方法包括恒速测试(摩擦力)和斜坡响应法(死区)。补偿策略需采用分段前馈和动态调整,避免过度补偿导致振荡。实践中要注意机械状态检查、补偿量限幅,并定期重新标定。硬件升级配合算法补偿才能实现最优控制,标定工作应优先于PID参数调整。

m0_50546716的博客 230

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JB4-2-远程调用

远程调用,RESTful,RPC,Ribbon,Feign,OpenFeign,Dubbo,DubboAdmin 等。

周航宇的博客 1336

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Spring Boot Admin:微服务应用监控

摘要 Spring Boot Admin 可以对SpringBoot应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用,本文将对其用法进行详细介绍。 Spring Boot Admin 简介 SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标来监控SpringBoot应用,然后通过图形化界面呈现出来。Spring Boot Admin不仅可以监控单体应用,还可以和Spring Cloud的注册中心相结合来监控微服务应用

SuperstarSteven的博客 2605

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Spring Cloud Admin 实战

Spring Cloud Admin 实战 简介 Spring Boot Admin 用于监控基于 Spring Boot 的应用,它是在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI。Spring Boot Admin 提供了很多功能,如显示 name、i...

344

SpringCloud Admin

SpringCloud Admin的基本搭建和了解以及使用

qq_47075878的博客 933

springcloud之admin的搭建使用

微服务的优点是服务模块化,高内聚,低耦合。随着服务数量的增多,服务的监控也变得异常困难。springcloud引入提供了admin组件,人性化UI管理界面可以对所有服务的运行状态进行监控,并提供告警等功能。 一.springboot-admin简介 显示健康状况 显示详细信息,例如 JVM和内存指标 数据源指标 缓存指标 关注并下载日志文件 查看jvm系统和环境属性 查看Spring Boot配置...

qq_34244426的博客 1948

Springboot实战22 运行管理:如何使用 Admin Server 管理 Spring 应用程序?

前面 2 讲通过引入 Actuator 组件,我们为 Spring Boot 应用程序添加了系统监控功能。基于 Actuator 暴露的各种 HTTP 端点,开发人员可以获取系统的运行时状态。而端点是一种底层的监控技术,这就要求我们对 HTTP 协议和 Spring Boot 应用程序的构建方式有一定的了解。那么,有没有更简单的、基于可视化的方式获取这些端点背后的信息呢?答案是肯定的。因此,这一讲我们将要介绍 Spring Boot Admin 组件。

sucaiwa的博客 973
上一篇: Spring Cloud入门-Gateway服务网关(Hoxton版本)
下一篇: Spring Cloud入门-Oauth2授权之JWT集成(Hoxton版本)
RyanJohnson
RyanJohnson 优质创作者: Java技术领域 优质创作者: Java技术领域 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 30万+粉丝 285原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值