SpringBoot-开启Admin监控服务

SpringBoot-Admin是一个用于管理和监控SpringBoot应用程序的开源项目。它提供了一个易于使用的Web界面,可以实时监控应用程序的健康状况、性能指标、日志和环境配置等信息。通过Actuator模块来收集和暴露应用程序的监控信息,使用Web Socket或者Server-Sent Events实时显示和更新监控面板,提供针对应用程序的管理和操作功能,如启动、关闭、重启等。本文将介绍如何配置和开启SpringBoot的Admin监控服务。

SpringBoot-Admin监控服务需要搭建服务端,服务端作为一个单独的项目发布,我们查看所有受此服务端监控的项目,都是通过访问该服务端的地址。

一、搭建SpringBoot-Admin项目(服务端)

1、创建SpringBoot项目

新建一个 Spring Boot 项目,并选择 SpringBoot-Admin(Server) 和 Spring Web 作为依赖。

在 pom.xml 文件中添加 SpringBoot-Admin 的依赖。依赖勾选 SpringBoot-Admin(Server) 和 SpringWeb。

这里我为了防止所有人都可以通过访问服务端端口,查看SBA内容,所以我额外添加了Security的依赖,这里不添加也是可以的,后面pom.xml里可以随时导入。


2、在启动类的前面加上@EnableAdminServer注解

在启动类上添加 @EnableAdminServer 注解,标识这是一个 SpringBoot-Admin 服务端。


3、设置服务端口

配置服务端口,确保服务能够正常启动。


4、启动SBA项目访问测试

启动 SpringBoot-Admin 服务端项目,访问配置的端口(例如:localhost:8088)

出现Spring Boot Admin控制台界面即为搭建成功。


二、配置需要被监听的项目(客户端)

1、添加客户端依赖

在被监听的 Spring Boot 项目的 pom.xml 增加 spring-boot-admin-starter-client 相关依赖。

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</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-client</artifactId>
</dependency>            

2、配置客户端

在 application-dev.yml 中添加 SpringBoot-Admin 项目的客户端配置。
同时,配置Actuator,确保 Actuator 端点暴露,以便 SpringBoot-Admin 可以监控。

spring:#Spring下面添加如下配置application:## 注册服务名name: ProjectSchedule# springbootAdminboot:admin:client:#这里的8088端口就是SBA服务端的地址端口url: http://127.0.0.1:8088jackson:serialization:indent_output: true# springbootAdmin配置和Spring平级
management:endpoints:jmx:exposure:include: '*'web:exposure:include: '*'exclude: configprops# 排除对配置信息的监控,每次浏览这个节点的时候,# 数据库的链接就一直释放不掉, 最后导致超时,因为配置信息的监控也不重要,#enabled-by-default: trueinfo:env:enabled: trueendpoint:health:show-details: always


3、同时启动被监听项目和SBA服务端项目测试

同时启动被监听的项目和 SpringBoot-Admin 服务端项目,访问服务端页面即可看到被监听的应用列表,点击进去可以查看详细的监控信息。

两个项目均正常启动。
访问服务端页面可以看到应用列表里有我们刚刚引入SBA客户端配置的项目。

admin 005 1024x538 - SpringBoot-开启Admin监控服务

点击进去看到更详细的内容。

通过以上步骤,我们成功搭建了 SpringBoot-Admin 监控服务,在日后的开发过程中我们就可以通过 SpringBoot-Admin 轻松管理和监控 Spring Boot 应用程序了。 


三、开启SpringBoot-Admin的优势与好处

1、实时监控

SpringBoot-Admin 提供了实时的监控信息,这是其最显著的优势之一。通过 SpringBoot-Admin 的直观监控面板,开发者可以随时随地了解应用程序的状态。这种实时监控的特性使得开发团队能够在应用程序出现问题时迅速作出反应,提高了故障排查的效率。无论是检测性能瓶颈、异常堆栈还是实时流量数据,SpringBoot-Admin都提供了丰富的监控数据,帮助开发者及时发现并解决潜在的问题,从而保障应用程序的稳定运行。


2、易于使用的 Web 界面

SpringBoot-Admin 不仅仅强调功能的强大,更注重用户体验。其采用了用户友好的 Web 界面,使得开发者能够直观、轻松地查看监控信息,而无需深入了解底层实现。这对于非运维人员来说是一个巨大的优势,因为他们无需花费大量时间学习复杂的监控工具或命令行参数。这种直观的设计有助于提高团队的整体效率,使得更多关注点能够集中在业务逻辑和应用程序的开发上。


3、管理功能

SpringBoot-Admin 不仅仅是一个监控工具,它还提供了一系列强大的管理功能。通过 SpringBoot-Admin,开发者可以轻松地对应用程序进行管理操作,例如启动、关闭、重启等。这些功能的引入简化了部分运维工作,使得开发团队能够更加便捷地维护应用程序的运行状态。特别是在一些紧急情况下,通过 SpringBoot-Admin 的管理功能,运维人员可以快速采取措施,及时恢复服务,减少了故障对业务的影响。


4、客户端异常信息定位

SpringBoot-Admin 不仅关注整体性能和健康状况,还专注于单个客户端的异常信息定位。通过详细的异常堆栈、性能指标和日志,SpringBoot-Admin可以帮助开发者迅速定位和修复特定客户端的问题。这对于系统中复杂的微服务架构尤为重要,因为它允许开发者更有针对性地处理异常情况,提高了系统的可维护性。


5、报警与通知机制

SpringBoot-Admin 提供了灵活且可定制的报警与通知机制。通过配置合适的报警规则,当应用程序达到设定的异常条件时,SpringBoot-Admin能够及时发送通知,通常包括邮件、短信或即时消息。这种主动的异常通知机制有助于团队在问题发生时能够第一时间获知,进一步缩短了故障响应的时间,提高了系统的可用性。


6、总结

SpringBoot-Admin作为一款优秀的监控与管理工具,不仅在实时监控、界面友好、管理功能等方面表现出色,更为开发者提供了全方位的支持,助力构建更为稳定、高效的 Spring Boot 应用。其强大的功能和易用的界面使得监控与管理变得更加轻松,为开发者提供了更好的开发体验。

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

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

相关文章

C#PDF转Excel

組件 Spire.Pdf.dll, v7.8.9.0 【注意&#xff1a;版本太低的没有此功能】 在Visual Studio中找到参考&#xff0c;鼠标右键点击“引用”&#xff0c;“添加引用”&#xff0c;将本地路径debug文件夹下的dll文件添加引用至程序。 界面图&#xff1a; 1个label&#xff0c;1…

Uibot (RPA设计软件)微信群发助手机器人————课前材料二

(本博客中会有部分课程ppt截屏,如有侵权请及请及时与小北我取得联系~&#xff09; 紧接着小北的前两篇博客&#xff0c;友友们我们即将开展新课的学习~RPA 培训前期准备指南——安装Uibot(RPA设计软件&#xff09;-CSDN博客https://blog.csdn.net/Zhiyilang/article/details/1…

【QML COOK】- 005-粒子系统(ParticleSystem)

1. 编辑main.qml import QtQuick import QtQuick.ParticlesWindow {width: 800height: 800visible: truetitle: qsTr("Hello World")color: "#000000"MouseArea {id: mouseAreaanchors.fill: parentonClicked: {hahaEmitter.pulse(2000)}}ParticleSystem {…

黑马程序员JavaWeb开发|案例:tlias智能学习辅助系统(上)准备工作、部门管理

一、准备工作 1.明确需求 根据产品经理绘制的页面原型&#xff0c;对部门和员工进行相应的增删改查操作。 2.环境搭建 将使用相同配置的不同项目作为Module放入同一Project&#xff0c;以提高相同配置的复用性。 准备数据库表&#xff08;dept, emp&#xff09; 资料中包含…

2023.10.13 求逆序对,二分,求极小值

求逆序对 划分归并对数组进行调整的合理性在于 每次划分数组后&#xff0c;在前面数组的元素与后面数组元素相对次序不会颠覆&#xff0c;就是前面元素在前面划分出的数组里随便调整&#xff0c;也依然在后面数组的任意元素里的前面&#xff0c;而不可能调整到后面数组的任意…

基于模块自定义扩展字段的后端逻辑实现(一)

目录 一&#xff1a;背景介绍 二&#xff1a;实现过程 三&#xff1a;字段标准化 四&#xff1a;数据存储 五&#xff1a;数据扩展 六&#xff1a;表的设计 一&#xff1a;背景介绍 最近要做一个系统&#xff0c;里面涉及一个模块是使用拖拉拽的形式配置模块使用的字段表…

Android Studio导入项目 下载gradle很慢或连接超时,提示:Read timed out---解决方法建议收藏!

目录 前言 一、报错信息 二、解决方法 三、更多资源 前言 一般来说&#xff0c;使用Android Studio导入项目并下载gradle的过程应该是相对顺利的&#xff0c;但是有时候会遇到下载速度缓慢或连接超时的问题&#xff0c;这可能会让开发者感到头疼。这种情况通常会出现在网络…

淘宝商品详情API:电商数据的宝藏之源

在当今的电商时代&#xff0c;数据已经成为企业和商家最宝贵的资产之一。通过数据&#xff0c;商家可以更好地了解市场需求、消费者行为以及竞品情况&#xff0c;从而制定更加精准的营销策略和优化运营。而淘宝商品详情API&#xff08;taobao.item_get&#xff09;作为淘宝平台…

c++学习:异常处理机制

c语言的错误处理方式 返回值 return 0; 全局错误标志 int test() {int fd open ("1.txt",O_RDONLY);if(fd -1){//open打开文件错误会返回错误码 errnoperror()://或者用strerror可以打印出错误return -1;}return 0; } 缺点 当函数有多级嵌套的时候&#xff0c;…

Python综合数据分析_RFM用户分组模型

文章目录 1.导入数据2.月度订单数据可视化3.数据清洗4.特征工程5.构建User用户表6.求R值7.求F值8.求M值9.显示R、F、M值的分布情况10.显示手肘图辅助确定K值11.创建和训练模型12.给R值聚类13.给聚类后的层级排序14.继续给F、M值聚类&#xff0c;并排序15.为用户整体分组画像 1.…

BOM简介

1.1 常用的键盘事件 1.1.1 键盘事件 键盘事件触发条件onkeydown按键被按下时触发onkeypress按键被按下时触发onkeyup按键被松开时触发 注意&#xff1a;addEventListener事件不需要加on <script>//1. keydown 按键按下的时候触发,按任意键都触发&#xff0c;也可以识…

大创项目推荐 深度学习实现语义分割算法系统 - 机器视觉

文章目录 1 前言2 概念介绍2.1 什么是图像语义分割 3 条件随机场的深度学习模型3\. 1 多尺度特征融合 4 语义分割开发过程4.1 建立4.2 下载CamVid数据集4.3 加载CamVid图像4.4 加载CamVid像素标签图像 5 PyTorch 实现语义分割5.1 数据集准备5.2 训练基准模型5.3 损失函数5.4 归…

【Kubernetes】如何使用 kubectl 操作 cluster、node、namespace、pod

如何使用 kubectl 操作 cluster、node、namespace、pod 在列出、描述、修改或删除其他命名空间中的对象时&#xff0c;需要给 kubectl 命令传递 --namespace&#xff08;或 -n&#xff09;选项。如果不指定命名空间&#xff0c;kubectl 将在当前上下文中配置的默认命名空间中执…

整理的Binder、DMS、Handler、PMS、WMS等流程图

AMS&#xff1a; Binder&#xff1a; Handler&#xff1a; PMS&#xff1a; starActivity&#xff1a; WMS&#xff1a; 系统启动&#xff1a;

1884_emacs ivy minibuffer中上下行导航快捷键修改

全部学习汇总&#xff1a; GitHub - GreyZhang/editors_skills: Summary for some common editor skills I used. 我自己凑了一组emacs的配置使用了很长一段时间&#xff0c;很大程度上的功能在模仿spacemacs&#xff0c;但是我的配置更加轻量化&#xff0c;因此在使用的时候延…

设备树在开发板的系统中的体现

一. 简介 设备树文件中的设备节点&#xff0c;可以在开发板系统中看到。 也就说&#xff0c;开发板加载设备树文件&#xff0c;Linux内核启动系统以后&#xff0c;可以在根文件系统里看到设备树的节点信息。在/proc/device-tree/目录下存放着设备树信息。 二. 设备树在开发板…

数据结构单链表定义及例题(上)

本文简要的介绍了单链表的定义,以及单链表的头插法和尾插法的实现 文章目录 一、单链表数据结构的定义 二、头插法建立单链表(带头节点) 三、尾插法建立单链表(带头节点) 四、打印单链表 五、测试及全部代码 总结 前言 单链表是学习,以及考研无论是408还是自命题都是很重…

序列模型(4)—— Scaling Laws

本文介绍 LLM 训练过程中重要的 Scaling Laws&#xff0c;这是一个经验规律&#xff0c;指出了固定训练成本&#xff08;总计算量FLOPs&#xff09; C C C 时&#xff0c;如何调配模型规模&#xff08;参数量&#xff09; N N N 和训练 Token 数据量 D D D&#xff0c;才能实现…

Spring中Bean的生命周期

第一、Bean的生命周期 Spring中Bean的生命周期就是Bean在Spring中从创建到销毁的整个过程&#xff0c;主要分为以下5个部分&#xff1a; 1.实例化&#xff1a; 给Bean分配内存空间&#xff08;对应JVM中的“加载”&#xff0c;这里只是分配了内存&#xff09;&#xff1b; 2.设…

ffmpeg[学习(四)](代码实现) 实现音频数据解码并且用SDL播放

0、作者杂谈 CSDN大多数都是落后的&#xff0c;要么是到处复制粘贴的&#xff0c;对于初学者我来说困惑了很久&#xff0c;大多数CSDN文章都是使用旧的API &#xff0c;已经被否决了&#xff0c;于是我读一些官方文档&#xff0c;和一些开源项目音视频的输出过程&#xff0c;写…