spring boot(21)-actuator监控

Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势 摘要:Spring Boot 4.0已默认启用虚拟线程(依赖JDK21+),其轻量、高并发的特性为Java后端项目带来了性能提升,但多数开发者仅完成“启用”操作,未掌握核心调优技巧,导致并发优势未充分发挥,甚至出现性能退化问题。本文结合企业级项目实战经验,整理8个核心调优技巧,附完整可复用代码块、调优原理及避坑指南,帮助开发者快速上手,最大化释放虚拟线程的并发潜力。关键词:Spring Boot 4.0;虚拟线程;并发调优;JDK21;实战技巧虚拟线程是JDK21引入的核心特性(基于Project Loom 阅读详情

actuator是spring boot中非常重要的一大功能,主要用于在项目运行时,查看运行中的各种配置及参数等

pom.xml

	<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
   	</dependency>

查看端点

在pom.xml中添加了以上配置之后,启动时控制台会打印如下信息,mapped后面的路径就是各个信息的查看端点

其中有一个端点/health,访问http://localhost:8080/health

如图,这是健康检查,UP表示当前服务器正在运行中。那么问题来了,如果服务器关闭,这里是不是应该显示down?你可以试一试

敏感配置

/health是非敏感端点,也就是没有什么机密信息,可以直接访问。其他大部分端点在spring boot早期版本中默认也是可以直接访问的,但现在出于安全考虑,默认大多数端点都是敏感端点,需要有权限才能访问。在properties中可以将其配置为非敏感,就是可以直接访问,以/beans 为例
#设置所有端点不敏感
endpoints.sensitive=false
#设置单个端点(/beans)不敏感
endpoints.beans.sensitive=false
以上两个配置只需要一个就可以开启查看http://localhost:8080/beans   

部分端点介绍

/autoconfig:自动配置,显示 哪些自动配置生效,哪些没生效,以及生效的条件是什么
/configprops:参数配置,显示当前环境下,spring boot可配置的properties参数有哪些
/beans:注入的Bean,显示当前spring boot中注入了哪些bean

注意:以上三个是理解和学习spring boot非常重要的端点,下面会进一步介绍这三个
/dump:活动线程
/env:环境属性
/health:健康检查
/info:定制信息
/mappings:URI路径,在这里可以看到有哪些端点
/metrics:查看内存、CPU核心等系统参数
/trace:用户请求信息
/loggers:日志
/env/{name:.*}:像这种端点,后面带有一个name,这是指获取env中名字为name的那一个参数的值,比如http://localhost:8080/env/local.server.port

Chrome插件

先说明一下,上图中我用的是Chrome浏览器,安装了JSONView插件,查看json时会自动格式化,可以看的更清楚,而且可以收起。另外我还装了tabbed postman-rest client插件,用于模拟post请求,因为有些端口安全级别高,只允许POST请求,后面会讲。怎么安装Chrome插件这里不讨论,网上找很简单,不过装Chrome插件需要翻墙。

/autoconfig

查看自动配置,在当前程序中某些自动配置生效以及不生效的原因


这个图是利用JSONView插件将json数据全部收起到最高级别

positiveMatches:是当前自动配置生效的bean

negativeMatches:是当前自动配置规则不符,没有配置的bean


展开positiveMatches有上面这一段,这就是默认tomcat连接池的自动配置原因,详细意思如果你不懂,我在这里简单几句话也讲不清楚。不过我在12篇有对这个自动配置的详细讲解,只要你看懂了第12篇,再对照着看这里,自然就会明白。只要你能看懂positiveMatches,自然就能看懂negativeMatches

/beans

查看当前注入到spring的所有bean。可以在其中找到当前的数据源bean是tomcat jdbc

bean:注入spring的bean的id名,有些名字是系统特定的,dataSource就是默认的数据源id
aliases:bean的别名,没配置过这个的可以忽视
scope:单例或多例,spring的bean默认是单例
type:bean的类型
resource:这里的Tomcat.class是这个bean的配置源类,详细意思我在第 12篇讲过
dependencies:依赖的bean,在自动配置的时候必须先生成dependencies的dean,才能生成当前bean

/configprops

可以查看当前的properties参数值,或者你不知道你引入的spring boot组件有哪些properties参数可以配置,也可以在这里查找 ,如下是数据源配置
prefix:properties参数的前缀 
properties:参数值
比如图中倒数第二个参数maxIdle,在properties中的配置方式就是
spring.datasource.tomcat.maxIdle = xxx

/shutdown关闭应用

/shutdown是一个特殊端点,请求这个端点可以直接关闭运行中的应用程序。我们在eclipse中也可以启动和关闭spring boot,但那属于强杀,会将没执行完的线程直接杀死,就像按电源直接关机一样,可能会造成一些问题。而/shutdown就相当于点击左下角的关机按钮,属于优雅的关机。
要启用/shutdown端点,除了前面的敏感参数,还要单独配置开启它
endpoints.shutdown.enabled=true
此外,这个端点只能用post请求,也就是在浏览器中请求是无效的

这是我前面说的tabbed postman-rest client插件,这样就把spring boot程序优雅的关闭了

访问权限 

如果要保证这几个端点的安全,可以使用过滤器对这些端点进行权限控制。注意拦截器对这些端点无效,具体原因我在18篇和19篇讲过。
Spring Boot 3.4 + AI Agent:打造智能化的 Java 微服务架构 过去两年,Python 生态在 AI 工程化领域跑得很快——LangChain、LlamaIndex、OpenClaw 这些框架把 LLM 的工程集成做得相当成熟。Java 阵营这边,Spring 团队在 2024 年底推出了 Spring AI,并在 Spring Boot 3.4 中深度整合。这不只是封装了几个 API 调用——它把 AI 能力用 Spring 的方式表达:依赖注入、自动配置、Actuator 监控、事务、测试框架,一套熟悉的工程体系。这篇文章的目标:在真实的 Java 微服务架构中,把 阅读详情

相关推荐

【SpringBoot 4.x 第103节】@Async 异步任务实战:线程池、异常处理与上下文传递

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。本专栏面向 有一定 Java 基础,但尚未系统学习 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,带你从第一个 Hello API 开始,逐步完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 208

SpringBoot 监控神器——Actuator 保姆级教程

自定义配置来控制是否开启过滤actuator:filter:@Endpoint:定义一个监控端点,同时支持 HTTP 和 JMX 两种方式。:定义一个监控端点,只支持 HTTP 方式。:定义一个监控端点,只支持 JMX 方式。:作用在方法上,可用来返回端点展示的信息(通过 Get 方法请求)。:作用在方法上,可用来修改端点展示的信息(通过 Post 方法请求)。:作用在方法上,可用来删除对应端点信息(通过 Delete 方法请求)。@Selector:作用在参数上,用来定位一个端点的具体指标路由。

IT_1024的博客 908

双有源桥DC-DC变换器:原理、软开关与移相控制深度解析

隔离型DC-DC变换器是电力电子系统的核心部件,通过高频变压器实现电气隔离与电压匹配,保障系统安全与灵活适配。其工作原理基于功率半导体器件的开关动作,通过调制策略控制能量传输。该技术的核心价值在于实现高效、高功率密度的电能转换,并支持双向能量流动,这对于提升系统整体能效和运行灵活性至关重要。在新能源储能、电动汽车V2G及数据中心供电等场景中,双向能量流成为刚性需求,推动了如双有源桥等先进拓扑的应用。本文聚焦于双有源桥这一实现高效双向隔离变换的“明星”方案,深入剖析其利用移相控制实现软开关的机理。通过分析谐振

weixin_34195142的博客 381

微服务之服务监控,一文秒懂

微服务架构盛行,但如何保障服务的稳定运行?本文将带您深入微服务监控的精髓,详细梳理监控流程,精选主流工具,助您轻松构建高效、可靠的监控体系,让服务运行尽在掌控!

m0_46606920的博客 5420

从Gcode命令看3D打印机的‘大脑’:Marlin/Klipper固件是如何执行你的指令的?

本文深入解析3D打印机固件Marlin和Klipper如何执行Gcode指令,从语法解析到运动控制算法,再到温度管理,详细揭示了从指令到物理动作的转化过程。通过对比两大固件的设计哲学和性能优化技巧,帮助用户更好地理解和调优3D打印机的核心控制系统。

weixin_26763955的博客 384

Vmware 17保姆级教程:从零部署华为enspPro模拟器(附镜像下载+配置优化)

本文提供了一份详尽的Vmware 17部署华为eNSP Pro模拟器的保姆级教程。内容涵盖从镜像下载、虚拟机导入、网络配置到深度性能调优的全过程,并针对常见启动失败、设备卡顿等故障提供了实用的排查方案,旨在帮助网络工程师和华为认证备考者快速搭建稳定高效的实验环境。

arduino9maker的博客 639

SpringBoot监控 - 什么是acturator?如何集成acturator监控?

当SpringBoot的应用部署到生产环境中后,如何监控和管理.比如审计日志,监控状态,指标收集等。为了解决这个问题,SpringBoot提供了Actuator。本文主要介绍Spring Boot Actuator及实现案例

java全栈工程师 663

从零开始的机械臂yolov5抓取gazebo仿真(一)

本文介绍了如何将机械臂模型导出为URDF

qq_48427527的博客 1万+

【监控系统】-acturator和micrometer

(1)编写配置类(2)定义EndPoint。

机智的路易 1078

光流法实战:如何用OpenCV的Farneback算法实现图像对齐(附调参技巧)

本文详细介绍了如何使用OpenCV的Farneback稠密光流算法实现图像对齐,包括核心原理、参数调优和工程实现。通过实战代码和参数优化策略,帮助开发者解决动态场景中的图像对齐问题,提升多帧融合和视频处理的效果。

weixin_29266007的博客 292

植物叶绿体基因组分析全攻略:从共线性到密码子偏好性

本文全面解析植物叶绿体基因组分析流程,从共线性分析到密码子偏好性研究。详细介绍了叶绿体基因组结构特征、测序数据获取与质量控制、基因组组装与注释方法,以及比较基因组学和进化分析技术。特别关注IR区边界变异分析和选择压力评估,为植物系统发育研究和物种鉴定提供实用指南。

weixin_28475533的博客 222

springboot监控Acturator和springbootAdmin

Acturator是spring boot的一个附加功能,可以帮助我们在应用程序中生产环境时监视和管理应用程序,可以通过HTTP的各种请求来监管、审计、收集应用的运行情况,spring boot actuator提供了对单个spring boot的监控,监控信息包含:应用状态、内存、线程、堆栈,可以监控到spring boot应用的整个生命周期。 actuator监控分为两类:原生端点和用户自定义端点。 Actuator配置: actuator 暴露的监控接口的安全性,需要添加安全控制的依赖.

joy_tom的博客 878

用户画像标签维度_搭建电商平台用户画像标签体系

01 整体思路电商平台连接了卖家和买家两端,最终目的都是促进交易,从而追求更高的销售额。提高人货匹配度是促进交易的关键,而提高人货匹配度的关键就是“让买家找到想要的货物”。本文结合“人、货、场”理论模型,尝试建立电商平台的用户画像标签体系。02 三类标签用户在平台购物的整体流程可以概括为:进入平台、选择商品、下单付款。可以将该过程抽象为“人、货、场”。即用户通过什么途径进入什么商品的页面...

weixin_31668621的博客 1642

21.使用Actuator监控Spring Boot应用

使用Actuator监控Spring Boot应用 我们都知道Spring Boot是一个用于快速开发Java Web的框架,不需要太多的配置即可使用Spring的大量功能。Spring Boot遵循着“约定大于配置”的原则,许多功能使用默认的配置即可。这样的做法好处在于我们不需要像使用Spring那样编写一大堆的XML配置代码,但过于简单的配置过程会让我们在了解各种依赖,配置之间的关系过程上带来...

MissOfSpring的博客 232

MATLAB 基于 Baker 映射和 Logistic 混沌序列的图像加解密实现

图像加密是信息安全领域的重要研究方向,在数字版权保护、隐私保护等领域有着广泛应用。本文将介绍基于 MATLAB 的 Baker 映射和 Logistic 混沌序列的图像加解密算法,该算法利用混沌系统的初值敏感性和伪随机性,能够有效地对图像进行加密和解密。基于 Baker 映射和 Logistic 混沌序列的图像加解密算法是一种有效的方法,可以应用于数字版权保护、隐私保护等领域。MATLAB 提供了强大的工具和函数,可以方便地实现该算法。

走向CTO的路上... 937

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

2024年Spring Boot 3.x从零到一:环境搭建、项目创建与核心原理详解

Spring Boot作为Java后端开发的主流框架,其核心价值在于通过“约定优于配置”的理念,极大地简化了基于Spring的应用开发。其工作原理主要依赖于自动配置和起步依赖两大机制:自动配置能根据项目类路径下的依赖,智能地创建和配置所需的Spring Bean;起步依赖则将一组功能相关的依赖打包管理,解决了传统开发中的版本冲突问题。这些特性为开发者带来了开箱即用、快速构建生产级独立应用的技术价值,广泛应用于微服务、RESTful API和企业级后台系统等场景。本文聚焦于Spring Boot 3.x在20

weixin_30876945的博客 343

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

从繁琐配置到开箱即用:Spring Boot 2025 深度解析与实践指南

如果你是一个 Java 开发者,大概率对这样的经历并不陌生:想搭建一个简单的 Web 应用,却要先配置一大堆 XML 文件,管理各种依赖版本,还要手动部署到外部 Tomcat 服务器。一个简单的“Hello World”还没开始写,配置文件已经写了一整页。Spring Boot 的出现,彻底改变了这一切。

lgh121245457878的博客 411

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Spring Boot 线程池深度解析:从 JDK 原理到生产实践

回收机制通过 processWorkerExit() 方法实现,当线程获取任务超时(getTask() 返回 null)且满足 workerCount > corePoolSize 或 allowCoreThreadTimeOut 为 true 时,线程退出并被垃圾回收。Spring Boot 不直接使用 JDK 的 ThreadPoolExecutor,而是提供 ThreadPoolTaskExecutor 进行增强封装。虚拟线程是 JDK 21+ 的轻量级线程实现,由 JVM 管理而非操作系统。

EscaRC的博客 1151

Spring 历史

Spring Boot 简化了基于 Spring 的应用开发,通过少量的代码就能创建一个独立的、产品级别的 Spring 应用。在这本书发布后,一对一的 J2EE 设计和开发一炮而红。随着使用 Spring 进行开发的个人和企业越来越多,Spring 也慢慢从一个单一简洁的小框架变成一个大而全的开源软件,Spring 的边界不断的进行扩充,到了后来 Spring 几乎可以做任何事情了,市面上主流的开源软件、中间件都有 Spring 对应组件支持,人们在享用 Spring 的这种便利之后,也遇到了一些问题。

GAiD5eMmc的博客 218

紧急预警:Spring Boot 4.0默认启用Agent-Safe ClassLoading模式!不升级此配置,微服务集群将出现静默类加载泄漏(附JDK21+兼容性速查表)

Spring Boot 4.0 Agent-Ready架构解决微服务类加载泄漏顽疾!默认启用Agent-Safe ClassLoading模式,适配JDK21+,需调整ClassLoader策略与Agent集成配置。涵盖热部署、字节码增强等高级开发技巧,保障集群稳定性。值得收藏

LearnPlex的博客 324

从“配置地狱“到“云原生时代“:Spring Boot 1.x到4.x演进全记录与核心知识点详解

从2014年到2026年,Spring Boot走过了四个大版本的演进之路。从1.x的"告别XML配置"到2.x的"响应式编程",从3.x的"拥抱Java 17和GraalVM"到4.x的"虚拟线程与模块化",每一次迭代都紧跟Java生态的发展脉搏,回应着开发者的真实需求。理解这些演进历程,不仅有助于我们在面试中展现技术深度,更重要的是能在实际项目中做出正确的技术选型,写出更优雅、更高效的代码。无论你正在使用哪个版本,希望本文能为你提供有价值的参考。

King_model的博客 1011

Spring AI + MCP实战避坑指南:从零搭建到高效调优(血泪经验版)

本文是一份详尽的Spring AI与MCP服务搭建实战指南,基于作者亲身踩坑经验,系统讲解了从环境准备、依赖配置、核心代码编写到生产环境部署的全流程。重点剖析了MCP服务端配置、依赖冲突排查、性能调优等关键环节的避坑技巧,旨在帮助开发者高效构建稳定的AI工具集成服务。

gpt4scribbler的博客 210

Java开发者必看的工具迁移决策清单(附JDK21+Spring Boot3.2兼容性矩阵与插件生态深度评估)

帮你科学决策VS Code 开发Java 还是IDEA:覆盖轻量级开发与企业级项目场景,对比JDK21+Spring Boot3.2兼容性、调试效率、插件生态及学习成本。附实测兼容矩阵与迁移避坑指南,值得收藏。

LiteTrans的博客 87

Java 21 ZGC默认行为变更详解:不改这4个参数,你的微服务将倒退回G1时代

Java 21 ZGC默认行为变更,不调整4个关键参数将导致微服务性能倒退至G1水平。本文详解Java ZGC 配置最佳实践,覆盖低延迟场景、启用条件、GC日志与堆大小调优,助你释放ZGC亚毫秒停顿优势,值得收藏。

ByteShoal的博客 444

spring boot Actuator 使用教程

本文基于spring boot 2.2.0 release版本。 SpringBoot提供了生产级的监控功能Actuator,可以对程序内部运行情况进行监控,比如线程信息,bean信息,配置,内存使用情况,健康状况等。Actuator的监控结果可以通过HTTP、远程shell和JMX获得,一般我们直接通过HTTP直接访问。 本文接下来介绍如何在SpringBoot中启用Actuator,以及如何配置Actuator。 文章目录一、使用HTTP访问Actuator二、Actuator提供了哪些监控功能三、.

龚厂长的博客 2558
上一篇: spring boot(20)-开发工具devtools
下一篇: centos(1)-什么是centos及相关介绍
free_java
博客等级 码龄10年 664粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值