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
 
  # springbootAdmin
  boot:
    admin:
      client:
        #这里的8088端口就是SBA服务端的地址端口
        url: http://127.0.0.1:8088
  jackson:
    serialization:
      indent_output: true
 
# springbootAdmin配置和Spring平级
management:
  endpoints:
    jmx:
      exposure:
        include: '*'
    web:
      exposure:
        include: '*'
        exclude: configprops
        # 排除对配置信息的监控,每次浏览这个节点的时候,
        # 数据库的链接就一直释放不掉, 最后导致超时,因为配置信息的监控也不重要,
    #enabled-by-default: true
  info:
    env:
      enabled: true
  endpoint:
    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 应用。其强大的功能和易用的界面使得监控与管理变得更加轻松,为开发者提供了更好的开发体验。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

继承和多态的详解

文章目录 1. 继承1.1 继承的概念1.3 继承的语法1.3 父类成员访问1.3.1 子类中访问父类的成员变量1.3.2 子类中访问父类的成员方法 1.4 子类构造方法 2.super关键字2.1 super关键字的概念2.2 super和this的区别 3. 在继承中访问限定符的可见性4. 继承方式的分类5. 多态5.1 多态的…

springboot虹软人脸识别集成

准备工作 虹软开放平台中创建一个新的应用 虹软开发平台【点我跳转】 开始上代码 基本配置 将下载的jar包放到src同级目录下 <!-- 虹软--><dependency><groupId>com.arcsoft.face</groupId><artifactId>arcsoft-sdk-face</artifactI…

YOLOv8改进 | 主干篇 | 12月最新成果UniRepLknet特征提取网络(附对比试验效果图)

一、本文介绍 本文给大家带来的改进机制是特征提取网络UniRepLknet,其也是发表于今年12月份的最新特征提取网络,该网络结构的重点在于使用Dilated Reparam Block和大核心指导原则,强调了高效的结构进行通道间通讯和空间聚合,以及使用带扩张的小核心进行重新参数化,该网络…

日志系统一(elasticsearch+filebeat+logstash+kibana)

目录 一、es集群部署 安装java环境 部署es集群 安装IK分词器插件 二、filebeat安装&#xff08;docker方式&#xff09; 三、logstash部署 四、kibana部署 背景&#xff1a;因业务需求需要将nginx、java、ingress日志进行收集。 架构&#xff1a;filebeatlogstasheskib…

java继承Thread实现多线程

1、AdminController文件 package com.controller;import com.myThread.AdminThread; import org.springframework.web.bind.annotation.*;RestController CrossOrigin RequestMapping("/admin") public class AdminController{GetMapping("/{id}")public …

基于Github官方教程的快速入门学习

GitHub 是一个用于版本控制和协作的代码托管平台。 它允许您和其他人随时随地协同处理项目。 创建仓库 在任何页面的右上角&#xff0c;使用 下拉菜单选择“新建存储库”。 之后会进入创建仓库的界面&#xff0c;需要我们进行如下操作&#xff1a; 写仓库的名字写对于本仓库…

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

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

现代操作系统复习笔记【核心考点知识+重点复习题】

文章目录 一、核心考点基础知识第一章 概述1、操作系统的基本概念、基本功能2、分时系统、批处理系统、实时系统的主要特征3、用户接口、系统调用过程4、单到与多道程序技术5、操作系统虚拟机体系结构6、CPU工作模式&#xff1b;7、部分课后习题 第二章 进程与线程1、进程的基本…

华为 HarmonyOS 页面跳转

1. 我们新建2个页面(page)&#xff0c;一个Hello World页面&#xff0c;一个Hello HarmonyOS页面&#xff0c;注意修改红色框内容&#xff0c;保持一致 2.导入导入router模块&#xff0c;页面跳转接口&#xff0c;添加按钮点击事件 //导入router模块 页面跳转接口 import rout…

Matlab绘制双纵轴图(yyaxis函数)

一、方法一yyaxis函数 x linspace(0,pi); y1 cos(x); yyaxis left; % 激活左边的轴 plot(x,y1) xlabel(X-axis); ylabel(left Y-axis); % 给左y轴添加轴标签hold on yyaxis right; % 激活右边的轴 y2 cos(2*x); plot(x,y2) ylim([-1,1]); % 设置右y轴的界限 ylabel(right Y…

打PTA 分数 15

传说这是集美大学的学生对话。本题要求你做一个简单的自动问答机&#xff0c;对任何一个问句&#xff0c;只要其中包含 PTA 就回答 Yes!&#xff0c;其他一概回答 No.。 输入格式&#xff1a; 输入第一行给出一个整型范围内的正整数 N&#xff0c;随后 N 行&#xff0c;每行给…

动态规划python简单例子-斐波那契数列

def fibonacci(n):dp [0, 1] [0] * (n - 1) # 初始化动态规划数组for i in range(2, n 1):dp[i] dp[i - 1] dp[i - 2] # 计算斐波那契数列的第 i 项print(dp)return dp[n] # 返回斐波那契数列的第 n 项# 示例用法 n 10 # 计算斐波那契数列的第 10 项 result fibonac…

无法找到 WindowsKernelModeDriver10.0 的生成工具

无法找到 WindowsKernelModeDriver10.0 的生成工具(平台工具集 “WindowsKernelModeDriver10.0”)。若要使用 WindowsKernelModeDriver10.0 生成工具进行生成&#xff0c;请安装 WindowsKernelModeDriver10.0 生成工具。或者&#xff0c;可以升级到当前 Visual Studio 工具&…

源码|redis7.2.2|sds

文章目录 前言Type && EncodingsdsencodingcreateStringObjectcreateEmbeddedStringObject总结 createRawStringObject总结 createStringObjectFromLongDouble总结 createStringObjectFromLongLongWithOptions总结 相关操作sdscatlen总结 阈值44sds VS C字符串 前言 从…

HTTP 3xx状态码:重定向的场景与区别

HTTP 状态码是服务器响应请求时传递给客户端的重要信息。3xx 系列的状态码主要与重定向有关&#xff0c;用于指示请求的资源已被移动到不同的位置&#xff0c;需要采取不同的操作来访问。 一、301 Moved Permanently 定义&#xff1a; 服务器表明请求的资源已永久移动到一个新…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)在TcpConnection 中接收并解析Http请求消息

一、在TcpConnection 中多添加和http协议相关的request和response struct TcpConnection {struct EventLoop* evLoop;struct Channel* channel;struct Buffer* readBuf;struct Buffer* writeBuf;char name[32];// http协议struct HttpRequest* request;struct HttpResponse* r…

Phoenix基本使用

1、Phoenix简介 1.1 Phoenix定义 Phoenix是HBase的开源SQL皮肤。可以使用标准JDBC API代替HBase客户端API来创建表&#xff0c;插入数据和查询HBase数据。 1.2 Phoenix特点 容易集成&#xff1a;如Spark&#xff0c;Hive&#xff0c;Pig&#xff0c;Flume和Map Reduce。性能…

Python处理字符串-正则提取遇到的第一个完整括号内容处理后替换

1.场景分析 该场景介绍如何用python语言&#xff0c;使用正则表达式处理字符串内第一个完整的括号内容&#xff0c;一个括号内可能会含有一个括号&#xff0c;多个括号自行扩展正则即可&#xff0c;处理完成后再替换到括号的内容 2.重难点 第一个括号内可能会还有另一个括号 …

Poi实现根据word模板导出-图表篇

往期系列传送门&#xff1a; Poi实现根据word模板导出-文本段落篇 &#xff08;需要完整代码的直接看最后位置&#xff01;&#xff01;&#xff01;&#xff09; 前言&#xff1a; 补充Word中图表的知识&#xff1a; 每个图表在word中都有一个内置的Excel&#xff0c;用于…

云原生Kubernetes: Kubeadm部署K8S 1.29版本 单Master架构

目录 一、实验 1.环境 2.K8S master节点环境准备 3.K8S master节点安装kubelet、kubeadm、kubectl 3.K8S node节点环境准备与软件安装 4.K8S master节点部署服务 5.K8S node节点部署 6.K8S master节点查看集群 7.容器网络&#xff08;CNI&#xff09;部署 8.K8S 集群…