springboot-admin使用及原理剖析

服务端

依赖

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-server</artifactId><version>2.2.1</version></dependency><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-server-ui</artifactId><version>2.2.1</version></dependency>
</dependencies>

启动类配置

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

和其他的springboot应用配置类基本相同,只需要添加注解@EnableAdminServer即可

配置文件

server.port=8001
spring.application.name=admin-serverspring.boot.admin.ui.title=my monitor center 
spring.boot.admin.ui.brand=Service Monitoring Center

配置项

spring.boot.admin.ui.title 表示html页面的标题内容

spring.boot.admin.ui.brand是springbootadmin页面顶部显示内容

该两项内容的说明截图如下:

客户端

依赖

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

配置文件

spring:application:name: admin-clientboot:admin:client:url: http://127.0.0.1:8001instance:prefer-ip: trueregister-once: falsemanagement:endpoints:web:exposure:include: '*'endpoint:health:show-details: always

spring.boot.admin.client.url表示admin服务端的地址和端口

这里开发所有的暴露端口即可,如果需要按需暴露端口可以自行配置

dashboard端操作

可以在dashboard的主页面看到相关的应用注册信息,包括注册的应用和实例个数

切换到应用墙可以进入到对应实例中,查看相关的监控信息

以admin-client应用实例为例查看

其中列举了开发的所有端口信息内容,其中有关于应用的日志级别、jvm、spring的ioc相关信息

原理剖析

在上一章SpringMvc之映射器HandlerMapping-CSDN博客中有讲到关于自定义端点的原理,其中依赖springboot-actuator中的WebMvcEndpointHandlerMapping的实现具体的原理可以翻看一下上一章的源码分析

在springboot-admin的client端引入的依赖如下:

 

查看该项目的底层依赖:

可以发现有依赖springboot-actuator,可以通过暴露端点对外提供服务

端点调试发现有如下Endpoint配置类暴露:

org.springframework.boot.actuate.beans.BeansEndpoint
org.springframework.boot.actuate.cache.CachesEndpoint
org.springframework.boot.actuate.health.HealthEndpoint
org.springframework.boot.actuate.info.InfoEndpoint
org.springframework.boot.actuate.autoconfigure.condition.ConditionsReportEndpoint
org.springframework.boot.actuate.context.properties.ConfigurationPropertiesReportEndpoint
org.springframework.boot.actuate.env.EnvironmentEndpoint
org.springframework.boot.actuate.logging.LoggersEndpoint
org.springframework.boot.actuate.management.HeapDumpWebEndpoint
org.springframework.boot.actuate.management.ThreadDumpEndpoint
org.springframework.boot.actuate.metrics.MetricsEndpoint
org.springframework.boot.actuate.scheduling.ScheduledTasksEndpoint
org.springframework.boot.actuate.web.mappings.MappingsEndpoint

各endpoint配置类和自定义端点时使用基本相同

1 各配置类由ioc容器接管

2 各配置类标注注解@Endpoint

3 配置类方法被注解@ReadOperation标注 可以使用@Selector等注解标记请求参数

分别对应了dashboard上各暴露点功能,详细的各功能调试对应的源码可以自行调试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600598.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java-接口-定义接口Filter及其实现类WordFilter

所谓&#xff1a;“纸上得来终觉浅&#xff0c;绝知此事要躬行。” 关于接口的知识&#xff0c;可以几分钟过一遍&#xff1a;Java-接口—知识&#xff08;基础&#xff09;-CSDN博客 现在就是练习time&#xff0c;先来看题&#xff1a; 定义一个接口 Filter&#xff0c;表示…

9 年蝉联 IM 第一!艾瑞咨询发布最新报告,融云持续引领专业通信云行业

近期&#xff0c;艾瑞咨询发布的《2024 年全球互联网通信云&#xff08;IMRTC&#xff09;行业研究报告》&#xff08;下简称《报告》&#xff09;显示&#xff0c;2023 年全球互联网通信云市场规模达 65 亿元&#xff0c;其中中国市场占比约 39%。 过去一年&#xff0c;IM Pa…

【AN】简单的实现点击播放影片剪辑再点击暂停的功能

动画故事背景 一个影片剪辑&#xff0c;里面做了一个动画。我希望影片剪辑一开始是暂停的&#xff0c;按钮点击后开始播放&#xff0c;再次点击就暂停&#xff01; 下图那个花瓣就是影片剪辑&#xff0c;里面有个掉落的路径引导动画&#xff01; 1.首先给花瓣影片剪辑一个实例…

简析数据安全保护策略中的十个核心要素

数据显示&#xff0c;全球企业组织每年在数据安全防护上投入的资金已经超过千亿美元&#xff0c;但数据安全威胁态势依然严峻&#xff0c;其原因在于企业将更多资源投入到数据安全能力建设时&#xff0c;却忽视了这些工作本身的科学性与合理性。因此&#xff0c;企业在实施数据…

深度探索Sketch:功能、历程、替代软件及技巧一览

Sketch 它是一个适合所有设计师的矢量绘图应用程序。矢量绘图也是设计网页、图标和界面的最佳方式。但除了矢量编辑的功能外&#xff0c;我们还增加了一些基本的位图工具&#xff0c;如模糊和颜色校正。 为什么选择Sketch Sketch 它是为图标设计和界面设计而生的。它是一个优…

DC-1知识点通关

知识点总结 1.nmap扫描(端口、内核版本) 2.burp爆破密码 3.目录扫描 4.遍历目录 5.查看CMS&#xff0c;并利用历史漏洞 6.msf利用历史漏洞&#xff0c;反弹shell 7.内核提权 8.查看配置文件 9.更改数据库密码 10.medusa/hydra 爆破 11.suid提权 kali相关ssh密码爆破…

组合数(费马小定理, 快速幂)

给定 n 组询问&#xff0c;每组询问给定两个整数 a&#xff0c;b&#xff0c;请你输出 Cbamod(1097)的值。 输入格式 第一行包含整数 n。 接下来 n 行&#xff0c;每行包含一组 a 和 b。 输出格式 共 n 行&#xff0c;每行输出一个询问的解。 数据范围 1≤n≤10000, 1≤…

【鸿蒙开发】第十九章 Image图片处理

1 简介 应用开发中的图片开发是对图片像素数据进行解析、处理、构造的过程&#xff0c;达到目标图片效果&#xff0c;主要涉及图片解码、图片处理、图片编码等。 图片解码 指将所支持格式的存档图片解码成统一的PixelMap&#xff0c;以便在应用或系统中进行图片显示或图片处理…

基于Springboot高校学生饮食推荐系统的设计与实现(论文+源码)_kaic

摘 要 随着网络科技的不断发展以及人们经济水平的逐步提高&#xff0c;计算机如今已成为人们生活中不可缺少的一部分&#xff0c;为饮食分享轻松便捷的管理信息&#xff0c;基于java技术的饮食分享的设计与实现了一款简洁、轻便的管理系统。本系统解决了饮食分享管理事务中的主…

Ethernet 汇总

Ethernet系统 硬件最小系统 CPU:可以是复杂的芯片,也可以是小的单片机DMA:用于减轻CPU负担,搬运数据系统Memory<->FIFOMAC:可以集成在芯片里面,用于CPU和PHY之间的通信MII:接口用于MAC和PHY的通信,包括控制MDIO和数据DataPHY:模拟器件,最底层,数据收发源头软件…

记一次Cannot deploy POJO class [xxx$$EnhancerBySpringCGLIB$$xxx]的错误

最近项目上需要使用websocket做服务端&#xff0c;那好说啊&#xff0c;直接springboot集成的websocket 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId><versi…

【超简单】基于PaddleSpeech搭建个人语音听写服务

一、【超简单】之基于PaddleSpeech搭建个人语音听写服务 1.需求分析 亲们,你们要写会议纪要嘛?亲们,你们要写会议纪要嘛?亲们,你们要写会议纪要嘛?当您面对成吨的会议录音,着急写会议纪要而不得不愚公移山、人海战术?听的头晕眼花,听的漏洞百出,听的怀疑人生,那么你…