springboot-admin整合及使用

0. 官方文档及示例

官方文档

示例代码:Spring-Boot-Admin-Demo

1. 概述

  • Spring Boot Admin(SBA)是一个开源的社区项目,用于管理和监控 Spring Boot 应用程序。应用程序可以通过 http 的方式,或 Spring Cloud 服务发现机制注册到 SBA 中,然后就可以实现对 Spring Boot 项目的可视化管理和查看了。

  • Spring Boot Admin 可以监控 Spring Boot 单机或集群项目,它提供详细的健康 (Health)信息内存信息JVM 系统和环境属性垃圾回收信息日志设置和查看定时任务查看Spring Boot 缓存查看和管理等功能。

  • Spring Boot Admin 是一个监控工具,旨在以良好且易于访问的方式可视化 Spring Boot Actuators 提供的信息。它由两个主要部分组成:

    • 提供用户界面来显示 Spring Boot Actuators 并与之交互的服务器。
    • 用于在服务器上注册并允许访问执行器端点的客户端。

1.1 版本对应关系

Spring Boot - Spring Boot Admin 版本对应关系

Spring Boot VersionSpring Boot Admin
2.62.6.Y
2.72.7.Y
3.03.0.Y

注意:springboot3.x需要jdk17及以上

2. 搭建服务端

  1. 参照版本对应关系创建一个springboot项目,作为服务端

    image-20231007115936744

  2. 添加SBA Server端依赖

    image-20231007133356959

  3. 开启SBA服务

    package site.zhourui.sbaserver;import de.codecentric.boot.admin.server.config.EnableAdminServer;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;@EnableAdminServer // 添加此行代码
    @SpringBootApplication
    public class SbaserverApplication {public static void main(String[] args) {SpringApplication.run(SbaserverApplication.class, args);}}
    
  4. 配置SBA端口号

    • 我习惯使用yaml配置文件,springboot默认生成的是properties文件
    • 如果是application.properties 需要将如下配置修改为properties格式,我配置的端口号是 9001
    • 配置端口号的主要目的是为了不和其他 Spring Boot 项目冲突,如果 SBA 是单独部署此步骤可以忽略。
    server:port: 9001
    
  5. 启动SBA Server

    启动项目之后,就可以看到 SBA 的主页了,如下图所示:

    image-20231007154553345

3. 搭建客户端

  1. 参照版本对应关系创建一个springboot项目,作为客户端

    image-20231007154800642

  2. 勾选SBA Server端依赖 ,web依赖视情况而定

    image-20231007154920526

  3. 配置SBA端口号,服务名及服务端监控地址

    server:port: 8081   ## 当前项目端口号 
    spring:boot:admin:client:url: http://localhost:9001    # Spring Boot Admin 监控服务器端地址 application:name: sbaclient01        #服务名称        
    
  4. 启动sbaclient01服务

  5. 到服务端查看sbaclient01服务是否注册成功

    image-20231007162222295

    image-20231007162230280

4. SpringBootAdmin监控总览

  1. 点击应用进入详情页面,如下图所示:

    image-20231007162902053

  2. 查看全部事件

    image-20231007163207719

5. 配置查看更多监控项

通过上面的内容我们可以看出,监控的 Spring Boot 选项还是比较少的,怎么才能查看更多的监控项呢?要解决这个问题,我们需要在被监控的 Spring Boot 项目中添加 spring-boot-starter-actuator 框架的支持,并开启查看所有监控项的配置才行,最终展示效果如下:

  1. 添加actuator框架支持

    被监控的 Spring Boot 项目中添加 actuator 框架支持,也就是在 pom.xml 中添加以下配置:

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> 
    </dependency> 
    
  2. 配置开放所有监控项

    本来是*号的,但是yaml需要使用''才不会报如下错误

    image-20231007164409684

    management:endpoints:web:exposure:include: '*'    #开启监控所有项
    

    生产环境按照需求开启监控项不要全部开启

  3. 重启服务

    image-20231007164916311

6. 监控项目预览

将 Spring Boot 的所有监控项都开启之后,通过 SBA 就可以查看以下内容了:

  • 启动时间、累计运行时间;
  • 进程和线程数量和占用的 CPU 资源;
  • 垃圾回收详情信息,回收次数和花费时间;
  • JVM 线程转储、内存转储详情和对应的文件下载;
  • 可以查看和配置 Spring Boot 项目中的日志级别;
  • 查看 Spring Boot 项目性能监控;
  • 查看 Spring Boot 运行环境信息;
  • 查看 Spring Boot 所有类信息;
  • 查看 Spring Boot 中的定时任务;
  • 查看和管理 Spring Boot 项目中的所有缓存。

6.1 查看运行环境

这里的数据被spring actuator 进行了脱敏操作了全变成了星号了

image-20231007171211578

6.2 查看定时任务

这里我没有写定时任务,所以就没有

image-20231007171359572

6.3 项目日志级别配置

image-20231007171528059

6.4 JVM线程和内存查看

image-20231007171549877

image-20231007171558438

6.5 接口

image-20231007171710388

6.6 缓存

image-20231007171732595

6.7 事实日志

  • 3.x版本可能因为安全问题移除了事实日志了,并且运行环境spring actuator也进行脱敏操作了
  • 所以最好推荐使用2.x版本 推荐2.5.3,相同的步骤只不过springboot版本与SpringBootAdmin版本换成2.x版本即可
  • 但需要注意生产环境安全问题

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

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

相关文章

【nvm】Node Version Manager(NVM)安装配置以及使用(WIN版)

NVM 包管理工具 安装 访问NVM-Windows的GitHub页面&#xff1a;点击nvm-setup.exe。 根据提示进行下一步&#xff0c;文件位置选择自定义位置 验证安装是否成功 nvm version 。如果成功&#xff0c;它将显示NVM的版本号。 使用 nvm list available查看所有的可以被下载…

柯桥生活口语学习,英语中初次见面,除了Nice to meet you,还能说什么?

第一印象非常重要。所以当你第一次见到某人时&#xff0c;留下一个好印象很重要&#xff0c;尤其是当你面对一个重要的工作或者面对某个对你来说可能非常特别的人时。 下面我列出了一些最常用的说“很高兴见到你”的表达方法&#xff0c;也包括对方的回答&#xff0c;除了nice …

OLED透明屏技术在智能手机、汽车和广告领域的市场前景

OLED透明屏技术作为一种新型的显示技术&#xff0c;具有高透明度、触摸和手势交互、高画质和图像显示效果等优势&#xff0c;引起了广泛的关注。 随着智能手机、汽车和广告等行业的快速发展&#xff0c;OLED透明屏技术也在这些领域得到了广泛的应用。 本文将介绍OLED透明屏技…

网络安全总结

前言 本文内容主要摘抄网络规划设计师的教材和腾讯-SUMMER课堂&#xff0c;主要对网络安全进行简单梳理和总结 OSI安全体系 X轴表示8种安全机制&#xff0c;Y轴表示OSI7层模型&#xff0c;Z轴表示5种安全服务&#xff0c;图中X是水平&#xff0c;Y轴竖直&#xff0c;Z轴向外…

手边酒店V2独立版小程序 1.0.21 免授权+小程序前端安装教程

手边酒店小程序独立版酒店宾馆订房系统支持创建多个小程序&#xff0c;让每一个客户单独管理属于自己的小程序。系统无需授权&#xff0c;小程序端用户授权也是采用最新接口。 缺点不开源不影响使用&#xff0c;播播资源安装测试下来未发现或出现BUG情况&#xff0c;用户授权接…

03_Node.js模块化开发

1 Node.js的基本使用 1.1 NPM nodejs安装完成后&#xff0c;会跟随着自动安装另外一个工具npm。 NPM的全称是Node Package Manager&#xff0c;是一个NodeJS包管理和分发工具&#xff0c;已经成为了非官方的发布Node模块&#xff08;包&#xff09;的标准。 2020年3月17日&…

网络安全面试题汇总(附答案)

作为从业多年的网络安全工程师&#xff0c;我深知在面试过程中面试官所关注的重点及考察的技能点。网络安全作为当前信息技术领域中非常重要的一部分&#xff0c;对于每一个从事网络安全工作的人员来说&#xff0c;不仅需要掌握一定的技术能力&#xff0c;更需要具备全面的综合…

SSCI及SCI撰写|立足于审稿进行论文修改

一、回复审稿意见视角下的论文改进 &#xff08;一&#xff09;常见审稿意见分类&#xff08;改进向&#xff09; 意见分类研究主题方面真实案例研究主题研完没有提供新的信息This is clearly a students paper Although it is adequately written it offers no new informat…

超自动化加速落地,助力运营效率和用户体验显著提升|爱分析报告

RPA、iPaaS、AI、低代码、BPM、流程挖掘等在帮助企业实现自动化的同时&#xff0c;也在构建一座座“自动化烟囱”。自动化工具尚未融为一体&#xff0c;协同价值没有得到释放。Gartner于2019年提出超自动化&#xff08;Hyperautomation&#xff09;概念&#xff0c;主要从技术组…

英特尔参与 CentOS Stream 项目

导读红帽官方发布公告欢迎英特尔参与进 CentOS Stream 项目&#xff0c;并表示 “这一举措不仅进一步深化了我们长期的合作关系&#xff0c;也构建在英特尔已经在 Fedora 项目中积极贡献的基础之上。” 目前&#xff0c;CentOS Stream 共包括以下特别兴趣小组&#xff08;SIG&a…

第二证券:市盈率市净率市销率计算公式?

市盈率&#xff08;Price-earnings ratio, P/E ratio&#xff09;、市净率&#xff08;Price-to-book ratio, P/B ratio&#xff09;和市销率&#xff08;Price-to-sales ratio, P/S ratio&#xff09;都是出资者在分析公司股票时常常运用的点评方针。这些方针可以帮忙出资者判…

在Unity使用自定义网格生成一个球体

1.在Unity场景中新建一个空物体&#xff0c;在空物体上添加MeshRenderer和MeshFilter组件。 2.新建一个C#脚本命名SphereMesh,将脚本挂载到空物体上&#xff0c;如图&#xff1a; 运行场景就可以看到生成一个球体 全部代码如下&#xff1a; using UnityEngine;public class S…

ThreeJS-3D教学六-物体位移旋转

之前文章其实也有涉及到这方面的内容&#xff0c;比如在ThreeJS-3D教学三&#xff1a;平移缩放物体沿轨迹运动这篇中&#xff0c;通过获取轨迹点物体动起来&#xff0c;其它几篇文章也有旋转的效果&#xff0c;本篇我们来详细看下&#xff0c;另外加了tween.js知识点&#xff0…

类 ChatGPT 模型存在的局限性

尽管类ChatGPT模型经过数月的迭代和完善&#xff0c;已经初步融入了部分领域以及人们的日常生活&#xff0c;但目前市面上的产品和相关技术仍然存在一些问题&#xff0c;以下列出一些局限性进行详细说明与成因分析&#xff1a; 1&#xff09;互联网上高质量、大规模、经过清洗…

【SQL Server】表死锁/解锁和sql语句分析

文章目录 表死锁查询锁的进程解锁 sql语句分析来源 表死锁 查询锁的进程 1 首先创建一个测试用的表&#xff1a; CREATE TABLE Test ( TID INT IDENTITY(1,1) ) 2 执行下面的SQL语句将此表锁住&#xff1a; SELECT * FROM Test WITH (TABLOCKX) 3 通过下面的语句可以查看…

[极客大挑战 2019]BabySQL 1

#做题方法# 进去之后做了简单的注入发现有错误回显&#xff0c;就进行注入发现过滤了sql语 后面进行了双写and payload&#xff1a; ?usernameadmin%27%20aandnd%20updatexml(1,concat(0x7e,dAtabase(),0x7e,version()),1)%20--&passwordadmi 接下来又 ?usernameadm…

零基础Linux_13(基础IO_文件)文件系统接口+文件描述符fd+dup2函数

目录 1. C语言的文件操作 1.1 C语言文件的写入 1.2 当前路径 1.3 文件操作模式 1.4 文件的读取和cat 2. 文件系统接口 2.1 系统调用与封装 2.2 open打开文件 2.2.1 flags标记位 2.2.2 open用法演示 2.3 close关闭文件和write写入文件和rede读取文件 2.3.1 O_TRUNC…

学习记忆——数学篇——算术——无理数

谐音记忆法 2 \sqrt{2} 2 ​≈1.41421&#xff1a;意思意思而已&#xff1b;意思意思&#xff1b; 3 \sqrt{3} 3 ​≈1.7320&#xff1a;—起生鹅蛋&#xff1b;一起生儿&#xff1b; 5 \sqrt{5} 5 ​≈2.2360679&#xff1a;两鹅生六蛋(送)六妻舅&#xff1b;儿儿生&#xf…

k8s全栈-笔记6-Prometheus+Alertmanager构建监控系统

k8s全栈-笔记6-PrometheusAlertmanager构建监控系统 实验环境: Pormetheusgrafanaalertmanager安装在k8s集群,k8s环境如下 K8S集群角色IP主机名安装的组件控制节点(master)172.20.252.181k8s-master01apiserver,controller-manager,schedule,kubelet,etcd,kube-proxy,容器运…

基于SpringBoot的靓车汽车销售网站

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 车辆展示管理 车辆品牌管理 用户交流管理 购物车 用户交流 我的订单管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的…