搭建Spring Boot Admin监控系统
什么是Spring Boot Admin
Spring Boot Admin 是一个用于管理和监控 Spring Boot 应用程序的开源工具。它提供了一个用户友好的 Web 界面,用于集中管理和监控多个 Spring Boot 应用程序的运行状态、健康状况、日志、配置等信息。
Spring Boot Admin 的核心功能
-
应用监控:
-
实时监控 Spring Boot 应用程序的健康状态(
UP
、DOWN
等)。 -
显示应用程序的详细信息,如内存使用、线程状态、垃圾回收等。
-
-
日志管理:
-
查看应用程序的日志文件。
-
支持动态调整日志级别(如
DEBUG
、INFO
、WARN
、ERROR
)。
-
-
配置管理:
-
查看应用程序的配置信息(如
application.properties
或application.yml
)。 -
支持动态修改配置(需结合 Spring Cloud Config 或 Spring Cloud Bus)。
-
-
性能监控:
-
监控应用程序的性能指标,如请求速率、响应时间、错误率等。
-
支持集成 Micrometer 和 Prometheus。
-
-
通知功能:
-
支持通过邮件、Slack、PagerDuty 等渠道发送告警通知。
-
当应用程序状态发生变化(如从
UP
变为DOWN
)时,自动发送通知。
-
-
集中管理:
-
支持同时监控多个 Spring Boot 应用程序。
-
提供统一的 Web 界面,方便集中管理。
-
原理:客户端向服务端推送状态消息,如下图所示:
官方文档:
Spring Boot Admin Reference Guide
服务器端
新建sprint boot项目
第一步
增加依赖spring-boot-admin-starter-server
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId><version>3.0.4</version></dependency>
注意版本号,一定要跟sprint boot的版本保持一致,如果spring boot是2.X,那就要找对应2.X的version,当前我用的是spring boot3,所以这里的version为3.0.4。
第二步
在@Configuration类或者主类上增加@EnableAdminServer启动服务器
第三步
在application.properties设置端口
server.port=9000
以上配置完成后,访问http://localhost:9000/,就可以看到如下界面。
客户端
新建sprint boot项目
第一步
在Spring Boot应用上增加spring-boot-admin-starter-client依赖
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>3.0.4</version></dependency>
version与服务器端保持一致。
第二步
开启指标监控就,并接入admin-server
server.port=9001
spring.boot.admin.client.url=http://localhost:9000management.endpoints.web.exposure.include=*
9001是客户端的端口号
http://localhost:9000/是服务器端的地址
management.endpoints.web.exposure.include=* 表示显示完整的监控信息
第三步
刷新页面,就可以看到新增的实例
第四步
如果想看到数据库信息,可以增加对应的配置
<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.2.0</version> <!-- 使用最新版本 --></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><version>3.2.0</version></dependency>
# 启用 health 端点的详细信息
management.endpoint.health.show-details=always
# 暴露数据库连接信息
management.endpoint.health.show-components=alwaysspring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/novel?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.username=root
spring.datasource.password=123456
novel是数据库名称
就可以在细节中,看到db的信息。
参考文章:
指标监控神器SpringBootAdmin保姆级教程_spring-boot-admin-starter-server-CSDN博客
相关文章:
搭建Spring Boot Admin监控系统
什么是Spring Boot Admin Spring Boot Admin 是一个用于管理和监控 Spring Boot 应用程序的开源工具。它提供了一个用户友好的 Web 界面,用于集中管理和监控多个 Spring Boot 应用程序的运行状态、健康状况、日志、配置等信息。 Spring Boot Admin 的核心功能 应用…...
P2730 魔板 (写了巨久..有一些数字,字符,字符串之间的转换规则)
ac代码: #include<iostream> #include<map> #include<queue> using namespace std; map<string,int>mp1,mp2; map<string,string>mp3; queue<string>q; string str,res"12345678"; void pri(string str){if(resstr)…...
MinIo前后端实现
这几天想玩玩Minio,整体来说简单使用起来不复杂(当然也有可能是我配置的太少了) Minio下载 我是通过Dokcer在虚拟机上下载的(Docker真好用啊) 拉取Minio镜像 docker pull minio/minio启动Minio容器 docker run -d …...
mesh开发解析
开源的Mesh网络协议栈及相关项目: 1.B.A.T.M.A.N.(Better Approach to Mobile Ad-hoc Networking)• 简介:B.A.T.M.A.N.是一种用于多跳自组织网络的路由协议,适用于无线Mesh网络。它通过优化数据传输路径,确保网络的高可靠性和动…...
使用netlify部署github的vue/react项目或本地的dist,国内也可以正常访问
提供简洁的部署流程和丰富功能,如自定义域名、自动构建和服务器端功能。通过连接到 Git 仓库实现持续部署,每次推送代码都会自动构建和发布,支持无服务器函数,允许在前端项目中实现后端逻辑,提供直观的用户界面来管理和…...
LinuX---Shell正则表达式
正则表达式 正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。在Linux中,grep,sed,awk等命令都支持通过正则表达式进行模式匹配…...
[Hello-CTF]RCE-Labs超详细WP-Level10(无字母命令执行_二进制整数替换)
温馨提示 这关涉及的知识点较多, 写的很长, 中间留了很多错误引导(本人在实验时遇到的问题, 或许你们也会遇到), 在后文才逐步解释源码分析 跟前几关一样, 更改了 WAF 的过滤字段这个关卡, 只有0, 1, (单引号), $, <, \ , ( , )可以用解题分析(实验这些命令, 可以先在自己本…...
基于PySide6与CATIA Automation的批量截图处理系统开发实践
引言 本文完整实现了基于PySide6 GUI框架与CATIA Automation技术的批量截图处理系统。系统支持对CATIA文件(.CATPart/.CATProduct)的自动化截图、图像优化及批量导出,通过模块化架构设计实现了超过200%的效率提升。本文将从技术架构、核心算…...
AI开发软件:开启智能时代的钥匙
在当今数字化时代,人工智能(AI)已不再是一个遥远的概念,而是深入到我们生活和工作的方方面面,成为推动各行业变革与发展的核心力量。AI 开发软件作为实现人工智能技术落地的关键工具,正引领着一场前所未有的…...
73.HarmonyOS NEXT PicturePreviewImage组件深度剖析:高级功能扩展与性能优化策略(三)
温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! HarmonyOS NEXT PicturePreviewImage组件深度剖析:高级功能扩展与性能优化策略(三) 文章目录 HarmonyOS NEXT PicturePreviewImage组件…...
【模拟算法】
目录 替换所有的问号 提莫攻击 Z 字形变换 外观数列 数青蛙(较难) 模拟算法:比葫芦画瓢。思路较简单,考察代码能力。 1. 模拟算法流程,一定要在演草纸上过一遍流程 2. 把流程转化为代码 替换所有的问号 1576. 替…...
Spring Cloud 中的服务注册与发现: Eureka详解
1. 背景 1.1 问题描述 我们如果通过 RestTamplate 进行远程调用时,URL 是写死的,例如: String url "http://127.0.0.1:9090/product/" orderInfo.getProductId(); 当机器更换或者新增机器时,这个 URL 就需要相应地变…...
WireShark自动抓包
背景 异常流量检测是当前保护网络空间安全的重要检测方法。 对流量的研究,首先需要在系统中进行抓包,并对包进行分析。 这里对WireShark自动抓包进行简要介绍。 操作步骤 1、选择“捕获”>“选项”。 2、在Input下,选择要抓包的网络接…...
Redis 的应用场景
缓存: 作为缓存层,加速数据访问,减轻数据库压力,常用于网页、数据库查询结果的缓存。 会话存储: 存储用户会话信息,支持分布式系统中的会话共享。 消息队列: 利用列表和发布/订阅功能…...
React使用路由表
目录 前言 实现步骤 1. 安装依赖 2. 创建路由配置文件 高级配置 嵌套路由配置 对比两种配置方式 传统 JSX 方式 路由表方式优势 完整功能示例 带路由守卫的配置 注意事项 总结 前言 React Router 从 v6 版本开始支持类似 Vue 的集中式路由表配置方式,通…...
嵌入式C语言中堆栈管理与数据存储的精髓
在嵌入式开发中,理解C语言的内存管理和数据存储机制是至关重要的。本文将从堆栈管理和数据存储两个方面,深入探讨C语言在嵌入式Linux开发中的应用。 一、堆栈管理 1.1 栈的初始化与作用 栈是C语言运行的基础,主要用于存储函数参数、局部变量、函数返回值和编译器生成的临时…...
Linux系统之less命令的基本使用
Linux系统之less命令的基本使用 一、less命令介绍二、less命令的使用帮助2.1 less命令的帮助信息2.2 less命令主要选项解释 三、less命令的基本使用3.1 查看文件内容3.2 结合管道使用 四、注意事项 一、less命令介绍 在Linux和Unix类操作系统中,文件浏览是一项常见的…...
【免费】1949-2020年各省人均GDP数据
1949-2020年各省人均GDP数据 1、时间:1952-2020年 2、来源:国家统计局、统计年鉴 3、指标:各省人均GDP 4、范围:31省 5、指标解释:人均GDP(Gross Domestic Product per capita)是指一个国家…...
三分钟掌握视频剪辑 | 在 Rust 中优雅地集成 FFmpeg
前言 在当今的短视频时代,高效的视频剪辑已成为内容创作者和开发者的迫切需求。无论是裁剪视频开头结尾、提取高光时刻,还是制作 GIF、去除广告,剪辑都是必不可少的一环。 然而,批量处理大量视频并非易事,常见的挑战…...
angular中下载接口返回文件
目录 一、URL.createObjectURL() 一、URL.createObjectURL() createObjectURL属于js的原生方法,位于window.URL上,用于将Blob或者File文件转换为可以临时的URL地址进行显示 **注意**:Angular 的 HttpClient 默认将响应解析为 JSON 对象16。…...
自定义tiptap插件
本文为开发开源项目的真实开发经历,感兴趣的可以来给我的项目点个star,谢谢啦~ 具体博文介绍: 开源|Documind协同文档(接入deepseek-r1、支持实时聊天)Documind 🚀 一个支持实时聊天和接入 - 掘…...
爬虫基础之爬取豆瓣同城信息(保存为csv excel 数据库)
网站:长沙最近一周戏剧活动_豆瓣 温馨提示: 本案例仅供学习交流使用 本案例所使用的模块 requests(发送HTTP请求)pandas(数据保存模块)lxml(用于解析数据模块)csv(用于保存为csv文件)pymysql(用于操作数据库)parsel(解析数据的模块) 确定爬取的信息内容: 戏剧的名称…...
MongoDB Vs Elasticsearch
文章目录 前言一、核心区别二、优缺点MongoDBElasticsearch 三、如何选择四、结合使用总结 前言 MongoDB 和 Elasticsearch 在存储、查询方式、使用场景等方面有较大区别,以下是它们的核心区别、各自优缺点以及实际使用中的选择建议。 一、核心区别 对比项MongoDB…...
《蓝耘容器全栈技术指南:企业级云原生与异构计算实战大全》
在数字化转型的浪潮中,容器技术已成为企业构建云原生架构的核心引擎,而蓝耘容器凭借其轻量化内核、异构计算支持及混合云调度能力,正成为企业级应用的首选方案。本文基于《蓝耘容器全栈技术指南》,结合实战案例与技术原理…...
【Android】RuntimeShader 应用
1 简介 RuntimeShader 是 Android 13(T)中新增的特性,用于逐像素渲染界面,它使用 AGSL(Android Graphics Shading Language)编写着色器代码,底层基于 Skia 图形渲染引擎。官方介绍详见 → Runti…...
python 提取视频中的音频
在Python中提取视频中的音频,你可以使用moviepy库,这是一个非常强大且易于使用的库,专门用于视频编辑。以下是如何使用moviepy来提取视频中的音频的步骤: 安装moviepy 首先,你需要安装moviepy。你可以通过pip安装它&a…...
HTML+CSS基础(了解水平)
html 的介绍 学习目标 能够知道html的作用 1. html的定义 2. html的定义 HTML 的全称为:HyperText Mark-up Language, 指的是超文本标记语言。 标记:就是标签, <标签名称> </标签名称>, 比如: <html></html>、<h1><…...
提示词工程(Prompt Engineering)
https://www.bilibili.com/video/BV1PX9iYQEry 一、懂原理,要知道 为什么有的指令有效,有的指令无效为什么同样的指令有时有效,又是无效怎么提升指令有效的概率 大模型应用架构师想什么? 怎样能更准确?答࿱…...
MySQL中的B+树索引经验总结
一、什么是B树 B树是一种二叉树,由二叉查找树,平衡二叉树,B树演化而来。 请看上图 B树的特点: 1)非叶子节点不存放数据,只存放键值,数据都存放在叶子节点中。 2)叶子节点都在同一…...
社交网络分析实战(NetworkX分析Twitter关系图)
目录 社交网络分析实战(NetworkX分析Twitter关系图)1. 引言2. 项目背景与意义3. 数据集生成与介绍3.1 数据集构成3.2 数据生成方法3.3 数据集示例4. 社交网络分析理论4.1 节点度数与度分布4.2 网络密度4.3 中心性指标5. GPU加速在社交网络分析中的应用6. PyQt GUI与交互式可视…...
Windows功能之FTP服务器搭建
一、创作背景 之前有用linux系统搭建过ftp服务器,最近想着用windows系统也顺便搭建一个,看网上有第三方服务软件一键部署,记得windows可以不借助第三方软件就可以搭建,就想顺便操作试试,结果老是连接不上,费…...
linux系统命令——权限
一、有哪些权限 读(r)——对应数字4 写(w)——对应数字2 执行(x)——对应数字1 二、权限及数字的对应 4对应r-- 2对应-w- 1对应--x 5对应r-x 6对应rw- 7对应rwx 三、文件的基本属性 如图&#…...
DeepSeek本地部署 (Windows+Ollama+Docker Desktop+ RAGFlow)
适用场景: 1、商城的小机器人自动根据实际情况回复 2、需要7*24小时运行在线回复,如:在线购物、在线咨询、在线招生等 3、无人值守环境 2025年1月,DeepSeek 正式发布 DeepSeek-R1 推理大模型,DeepSeek-R1 成本价格低…...
H3C无线控制器二层注册典型配置举例
介绍AP与AC间通过二层网络完成注册的配置举例 组网需求 如图所示,集中式转发架构下,AC旁挂在L2 switch1上,L3 switch做DHCP server为AP、Client和Host分配IP地址。需要实现无线客户端Client通过AP连接到AC上,并能与有线客户端Hos…...
前端面试笔试
前端面试笔试 1 相对路径和绝对路径的区别 区别:他们描述文件或目录位置的方式不同 绝对路径:绝对路径是指从系统的根目录开始的完整路径,无论当前工作目录在哪个位置,绝对路径始终指向文件或目录的确切位置。绝对路径适用…...
java的split分隔,使用regex
split(String regex) 是 Java 中 String 类的一个方法,用于根据正则表达式(regex)将字符串分割为子字符串数组。以下是一些常用的正则表达式及其用途: 按空格分割 正则表达式:“\s” 作用:匹配一个或多个…...
写时拷贝技术
目录 写时拷贝 核心思想 基本原理 基本过程 一个例子深入理解 补充知识--引用计数 小总结 写时拷贝实现 宏观理解(进程、线程角度) 资源共享 只读访问 写操作触发拷贝 独立修改 微观理解(fork系统调用角度) 进程创…...
HarmonyOS NEXT开发进阶(十二):build-profile.json5 文件解析
文章目录 一、前言二、Hvigor脚本文件三、任务与任务依赖图四、多模块管理4.1 静态配置模块 五、分模块编译六、配置多目标产物七、配置APP多目标构建产物八、定义 product 中包含的 target九、拓展阅读 一、前言 编译构建工具DevEco Hvigor(以下简称Hvigor&#x…...
ubuntu系统下添加pycharm到快捷启动栏方法
一、背景 之前在ubuntu系统下使用pycharm时,总是要进入/home/dlut/pycharm-community-2022.1/bin文件夹下,然后终端执行命令下面的命令才可修改代码: ./pycharm.sh为了以后方便,这里给出添加pycharm到快捷启动栏的方法 二、添加…...
简述计算机网络中的七层模型和四层模型
在计算机网络中,网络协议栈的设计通常采用分层结构来处理不同的通信任务。常见的分层结构有OSI七层模型和TCP/IP四层模型。虽然它们的层次数量不同,但本质上都在解决如何有效地进行计算机间通信。本文将分别介绍这两种结构的功能和各层的协议。 一、OSI七…...
golang开发支持onlyoffice的token功能
一直都没去弄token这块,想着反正docker run的时候将jwt置为false即可。 看了好多文章,感觉可以试试,但是所有文件几乎都没说思路。 根据我的理解和成功的调试,思路是: 我们先定义2个概念,一个是文档下载…...
【Linux】:封装线程
朋友们、伙计们,我们又见面了,本期来给大家带来封装线程相关的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数据结…...
OpenCV多分辨率模板匹配与容错优化实战指南
第一章:问题背景与挑战 1.1 传统模板匹配的局限性 模板匹配(Template Matching)是计算机视觉中基础且广泛使用的技术,其核心思想是通过滑动窗口在目标图像中寻找与模板最相似的位置。然而,传统方法(如Ope…...
「为爱发电」的硬核打开方式,涂鸦智能用AIoT引领智慧能源变革
全球能源危机与气候变化的双重压力下,人类正面临着一场前所未有的考验。据国际能源署预测,到2050年,若要实现碳中和目标,清洁能源需贡献全球电力结构的90%以上。在这场关乎人类未来的能源革命中,不仅需要技术创新&…...
uniapp-x 子组件样式覆盖
不支持scoped 默认不支持scoped,所以写也没用 那如果我想修改子孙节点的样式是不是很方便,不需要v-deep了? 的确如此 自带页面样式隔离 在 uni-app x 中,不支持 css scoped,样式的作用范围遵循以下规则:…...
word处理控件Aspose.Words教程:使用 Python 删除 Word 中的空白页
Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。 Aspose API支持流行文件格式处理,并…...
MIDI,AI 3D场景生成技术
MIDI(Multi-Instance Diffusion for Single Image to 3D Scene Generation)是先进的3D场景生成技术,能在短时间内将单张图像转化为高保真度的3D场景。通过智能分割输入图像,识别出场景中的独立元素,再基于多实例扩散模…...
ICLR2025 | SLMRec: 重新思考大语言模型在推荐系统中的价值
note 问题背景:序列推荐(SR)任务旨在预测用户可能的下一个交互项目。近年来,大型语言模型(LLMs)在SR系统中表现出色,但它们巨大的规模使得在实际平台中应用变得低效和不切实际。 研究动机&…...
走路碎步营养补充贴士
走路碎步,这种步伐不稳的现象,在日常生活中并不罕见,特别是对于一些老年人或身体较为虚弱的人来说,更是一种常见的行走状态。然而,这种现象可能不仅仅是肌肉或骨骼的问题,它还可能是身体在向我们发出营养缺…...
【bug日记】 编译错误
在我使用vscode的时候,我想用一个头文件和两个cpp文件,头文件是用来声明一个类的,一个cpp是用来类的成员函数,一个cpp是主函数 但是我写完编译发现会弹出找不到这个类成员函数这个cpp文件,爆出这样的错误 提示我找不到…...