当前位置: 首页 > article >正文

别再只加依赖了!Spring Boot Actuator 端点 404?检查这3个配置项(以/prometheus为例)

Spring Boot Actuator端点404问题深度排查指南从依赖到访问的全链路分析当你兴奋地在Spring Boot项目中添加了Micrometer和Prometheus的依赖准备大展身手时却发现访问/actuator/prometheus端点时只得到一个冷冰冰的404错误页面。这种挫败感我深有体会——毕竟我也曾在凌晨三点对着浏览器反复刷新同一个URL试图找出哪里出了问题。本文将带你系统性地排查可能导致Actuator端点无法访问的各种原因而不仅仅是依赖版本问题。1. 依赖配置不仅仅是添加那么简单很多开发者认为只要在pom.xml中添加了相关依赖一切就会自动工作。但现实往往更加复杂。让我们先检查最基本的依赖配置!-- 基础Web支持 -- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency !-- Actuator核心功能 -- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-actuator/artifactId /dependency !-- Prometheus监控支持 -- dependency groupIdio.micrometer/groupId artifactIdmicrometer-registry-prometheus/artifactId scoperuntime/scope /dependency注意micrometer-registry-prometheus通常应该使用runtime作用域因为它只在运行时需要编译时不需要。版本兼容性确实是常见问题之一。Spring Boot和Micrometer的版本必须匹配。以下是一个简单的版本对应表Spring Boot版本推荐的Micrometer版本2.2.x1.3.x2.3.x1.5.x2.4.x1.6.x2.5.x1.7.x检查版本兼容性后还需要确认依赖是否正确传递。有时因为依赖冲突实际使用的版本可能与预期不同。可以通过以下命令查看实际依赖树mvn dependency:tree -Dincludesio.micrometer2. 端点暴露配置那些容易忽略的细节即使依赖配置正确如果端点没有正确暴露你仍然会得到404错误。Spring Boot Actuator的端点暴露配置看似简单实则暗藏玄机。最基本的配置看起来是这样的management: endpoints: web: exposure: include: *但这只是冰山一角。以下是几种常见的配置陷阱过度依赖通配符虽然include: *很方便但在生产环境中可能会暴露过多敏感信息混合使用include和exclude当两者同时存在时排除规则优先于包含规则YAML缩进问题不正确的缩进会导致配置不生效属性名拼写错误比如把endpoints写成endpoint更安全的做法是明确列出需要暴露的端点management: endpoints: web: exposure: include: health,info,prometheus,metrics提示可以通过/actuator端点查看当前已暴露的所有端点列表这是一个很好的调试工具。3. 安全配置看不见的拦截者即使依赖和端点配置都正确安全框架仍然可能阻止你访问Actuator端点。Spring Security是最常见的罪魁祸首。默认情况下Spring Security会保护所有端点。如果你看到了登录页面而不是404那么很可能是安全配置的问题。以下是几种解决方案方案一完全禁用安全性仅限开发环境SpringBootApplication public class MyApp { public static void main(String[] args) { new SpringApplicationBuilder(MyApp.class) .web(WebApplicationType.SERVLET) .properties(spring.autoconfigure.excludeorg.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration) .run(args); } }方案二配置特定的安全规则Configuration EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers(/actuator/**).permitAll() .anyRequest().authenticated() .and() .httpBasic(); } }方案三使用自定义管理端口management: server: port: 8081 endpoints: web: exposure: include: *这样可以将管理端点与业务API完全隔离便于实施不同的安全策略。4. 其他可能原因当常规检查都无效时如果以上三个方面都检查过了但问题仍然存在那么可能需要考虑一些不太常见的原因上下文路径(server.servlet.context-path)配置如果设置了上下文路径Actuator端点也会随之改变管理端点基础路径(management.endpoints.web.base-path)配置默认是/actuator但可以修改过滤器/拦截器干扰自定义的过滤器可能意外拦截了Actuator请求端口冲突另一个应用可能已经占用了端口缓存问题构建工具或IDE有时会缓存旧的依赖版本一个实用的调试方法是启用调试日志logging: level: org.springframework.boot.actuate: DEBUG org.springframework.security: DEBUG这可以帮助你看到请求是否真的到达了Actuator端点以及在哪里被拦截。在解决了一个特别棘手的Actuator问题后我养成了一个习惯每当添加新的监控或管理功能时都会从依赖、配置、安全三个维度进行交叉验证。这种系统性的检查方法不仅能解决当前问题还能预防未来可能出现的问题。

相关文章:

别再只加依赖了!Spring Boot Actuator 端点 404?检查这3个配置项(以/prometheus为例)

Spring Boot Actuator端点404问题深度排查指南:从依赖到访问的全链路分析 当你兴奋地在Spring Boot项目中添加了Micrometer和Prometheus的依赖,准备大展身手时,却发现访问/actuator/prometheus端点时只得到一个冷冰冰的404错误页面。这种挫败…...

咱们今天聊点硬核的——如何从流体仿真一路杀到声场计算。射流噪声这玩意儿在航空发动机和工业排气里都是个磨人的小妖精,直接上操作流程

射流气动噪声近场远场计算(3节) 包括 fluent流场求解导出Lms近场声辐射计算Lms远场声辐射计算 可以解决:射流仿真基本步骤,四极子声源导出设置等问题,可以绘制各阶频率下的声压云图,噪声频谱图等。先…...

家庭实验室方案:树莓派5部署OpenClaw轻量版+百川2-13B量化模型

家庭实验室方案:树莓派5部署OpenClaw轻量版百川2-13B量化模型 1. 为什么选择树莓派OpenClaw组合 去年冬天,当我试图用旧笔记本搭建家庭自动化控制中心时,持续运转的风扇噪音和30W的待机功耗让我开始寻找更优雅的解决方案。直到在树莓派5上成…...

ofa_image-caption商业应用:跨境电商平台商品图英文描述批量生成

ofa_image-caption商业应用:跨境电商平台商品图英文描述批量生成 1. 项目背景与价值 跨境电商卖家每天面临一个共同挑战:需要为大量商品图片编写专业的英文描述。传统人工编写方式效率低下,成本高昂,且难以保证描述的一致性和专…...

告别Arcmap导出烦恼:手把手教你用Photoshop拼接多数据框透明PNG

告别Arcmap导出烦恼:手把手教你用Photoshop拼接多数据框透明PNG 在地图制作过程中,我们经常遇到这样的困扰:精心设计的多数据框地图在Arcmap中显示完美,但导出为透明PNG后却出现各种显示异常。特别是当我们需要在学术论文或报告中…...

OpenTherm嵌入式协议栈:HVAC系统电流环通信实现

1. OpenTherm Library 深度技术解析:面向HVAC系统的嵌入式通信协议栈实现OpenTherm Library(barbieri.pro)是一个专为暖通空调(HVAC)系统设计的轻量级、高可靠性的嵌入式通信协议栈,其核心目标是在资源受限…...

【3维度优化】Win11Debloat让Windows系统性能提升60%的实战指南

【3维度优化】Win11Debloat让Windows系统性能提升60%的实战指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化和改善…...

终极指南:如何免费将3D视频转换成2D格式,享受沉浸式观影体验

终极指南:如何免费将3D视频转换成2D格式,享受沉浸式观影体验 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://…...

3步解锁B站缓存视频:m4s-converter让你永久珍藏心爱内容

3步解锁B站缓存视频:m4s-converter让你永久珍藏心爱内容 【免费下载链接】m4s-converter 将bilibili缓存的m4s转成mp4(读PC端缓存目录) 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾遇到过这样的情况:在B站收藏了无数精彩…...

FPGA时序优化实战:如何用IDELAY精准调节RGMII接口的时钟与数据对齐

FPGA时序优化实战:RGMII接口时钟与数据对齐的IDELAY精密调节技术 在千兆以太网硬件设计中,RGMII接口的时序对齐一直是工程师面临的典型挑战。当PCB走线长度差异导致建立时间和保持时间违例时,Xilinx UltraScale架构提供的IDELAY功能成为解决问…...

3步实现自然语言控制机器人:ROS-LLM从入门到实践指南

3步实现自然语言控制机器人:ROS-LLM从入门到实践指南 【免费下载链接】ROS-LLM ROS-LLM is a framework designed for embodied intelligence applications in ROS. It allows natural language interactions and leverages Large Language Models (LLMs) for decis…...

为什么Hunyuan模型部署总失败?GPU适配问题实战解析

为什么Hunyuan模型部署总失败?GPU适配问题实战解析 1. 问题背景:部署失败的常见现象 最近很多开发者在部署腾讯混元的HY-MT1.5-1.8B翻译模型时遇到了各种问题,特别是GPU相关的适配问题。你可能也遇到过这样的情况: 模型加载到一…...

novideo_srgb:破除3大色彩困境,实现NVIDIA显卡精准色彩校准

novideo_srgb:破除3大色彩困境,实现NVIDIA显卡精准色彩校准 【免费下载链接】novideo_srgb Calibrate monitors to sRGB or other color spaces on NVIDIA GPUs, based on EDID data or ICC profiles 项目地址: https://gitcode.com/gh_mirrors/no/nov…...

实操指南|安科士ANBR-1414TZ光模块替换与调试全流程(附故障排查)

在上一篇博客中,我们解析了安科士ANBR-1414TZ光模块的核心技术亮点,其与AVAGO安华高HFBR-1414/2412系列的全兼容设计,让进口模块替换变得简单高效。但在实际操作中,不少用户仍会遇到替换后无法正常工作、传输不稳定等问题。今天&a…...

避坑指南:在Jetson上配置麦克风阵列和Whisper语音服务时,我踩过的那些音频设备冲突的坑

Jetson音频设备配置避坑实战:从麦克风阵列到Whisper服务的完整解决方案 在Jetson平台上构建语音交互系统时,音频设备配置往往是第一个拦路虎。上周我为一个智能家居项目部署四麦克风阵列时,连续遭遇了ALSA设备冲突、PulseAudio抢占、Whisper服…...

GD32F407工程模板DIY全记录:从官网固件库下载到Keil工程零错误编译

GD32F407工程模板DIY全记录:从官网固件库下载到Keil工程零错误编译 第一次接触国产GD32系列芯片时,我像大多数从STM32转过来的开发者一样,习惯性地寻找现成开发板配套例程。但当发现GD32F407的资源远不如STM32丰富时,反而激发了我…...

AI图像放大3倍还清晰?Super Resolution细节重建技术揭秘

AI图像放大3倍还清晰?Super Resolution细节重建技术揭秘 1. 项目简介:让模糊照片重获新生的AI神器 你是不是也遇到过这样的情况:找到一张很有意义的旧照片,但分辨率太低根本看不清细节;或者从网上下载的图片太小&…...

OFA视觉蕴含模型保姆级教学:test.py中device=‘cuda:0‘自动检测与fallback机制

OFA视觉蕴含模型保姆级教学:test.py中devicecuda:0自动检测与fallback机制 1. 镜像简介 今天我要带大家深入了解一个特别实用的AI镜像——OFA图像语义蕴含模型。这个镜像已经帮你把所有复杂的环境配置和依赖安装都搞定了,你不需要懂什么Linux命令或者P…...

乙巳马年春联生成终端作品分享:100+用户生成对联的马年意象词频分析

乙巳马年春联生成终端作品分享:100用户生成对联的马年意象词频分析 1. 引言:从“开门见喜”到数据洞察 想象一下,你站在一扇威严的朱红大门前,门上整齐排列着81颗琥珀金门钉,两位古老的门神“神荼”与“郁垒”在画面…...

如何用开源工具解决音频处理痛点?推荐6款高效音频工具

如何用开源工具解决音频处理痛点?推荐6款高效音频工具 【免费下载链接】open-source-mac-os-apps serhii-londar/open-source-mac-os-apps: 是一个收集了众多开源 macOS 应用程序的仓库,这些应用程序涉及到各种领域,例如编程、生产力工具、游…...

X-vector在语音识别中的核心作用与应用场景解析

1. X-vector技术的前世今生 我第一次接触X-vector是在2017年的一次语音技术研讨会上。当时一位研究员展示了如何用短短5秒的语音片段,就能准确识别出说话人身份,这让我印象深刻。X-vector本质上是一种深度神经网络提取的说话人嵌入向量,它能把…...

Phi-3-vision-128k-instruct创意营销应用:自动生成社交媒体配图文案

Phi-3-vision-128k-instruct创意营销应用:自动生成社交媒体配图文案 1. 效果亮点预览 想象一下这样的场景:当你刚拍完一组精美的产品照片,正准备发到社交媒体时,突然发现不知道该配什么文字才能吸引眼球。这种困扰在营销和内容创…...

CubeMX 6.5.0给STM32H7配置ADC采坑实录:为什么你的温度校准函数HAL_ADCEx_Calibration_Start()会卡死?

STM32H7 ADC温度采集卡死问题全解析:从时钟树配置到CubeMX的隐藏陷阱 最近在调试STM32H743VIT6的内部温度传感器时,遇到了一个令人费解的问题——程序在执行HAL_ADCEx_Calibration_Start()校准函数时直接卡死。这看似简单的ADC配置背后,隐藏着…...

终极指南:3步搞定VMware macOS虚拟机解锁,告别苹果硬件限制!

终极指南:3步搞定VMware macOS虚拟机解锁,告别苹果硬件限制! 【免费下载链接】unlocker VMware macOS utilities 项目地址: https://gitcode.com/gh_mirrors/unl/unlocker 你是否曾经梦想在Windows或Linux电脑上运行macOS虚拟机&#…...

Qwen3-Embedding-4B效果展示:前50维向量数值+分布柱状图+维度信息全预览

Qwen3-Embedding-4B效果展示:前50维向量数值分布柱状图维度信息全预览 1. 项目简介:一个能“读懂”你心思的语义搜索工具 你有没有遇到过这种情况?想在网上找点东西,输入关键词,结果搜出来的内容要么不相关&#xff…...

人工智能在科创服务领域的核心应用场景

技术研发加速 通过机器学习算法分析海量科研数据,识别潜在研究方向和实验组合。自然语言处理技术可自动生成实验报告,减少研究人员文档工作量。深度学习模型能预测材料性能或药物分子活性,显著缩短研发周期。知识产权管理 AI驱动的专利分析系…...

DAMOYOLO-S与ChatGPT联动:构建能“看懂”并“描述”世界的多模态系统

DAMOYOLO-S与ChatGPT联动:构建能“看懂”并“描述”世界的多模态系统 你有没有想过,让AI不仅能看到图片里的东西,还能像讲故事一样,把看到的内容生动地描述出来?这听起来像是科幻电影里的场景,但现在&…...

Python 异常处理进阶实战:掌握异常链与 `raise ... from ...`,让生产调试从“猜谜”到“10 分钟定位

📌 Python 异常处理进阶实战:掌握异常链与 raise ... from ...,让生产调试从“猜谜”到“10 分钟定位”引言:Python 的优雅不止于简洁,更在于“可控的失败” Python 从 1991 年 Guido van Rossum 发布首个版本至今&…...

OpenClaw内存优化:在8GB设备上流畅运行Qwen3.5-9B的技巧

OpenClaw内存优化:在8GB设备上流畅运行Qwen3.5-9B的技巧 1. 为什么需要内存优化? 第一次在MacBook Air(M1芯片/8GB内存)上部署OpenClaw对接Qwen3.5-9B时,系统频繁弹出内存不足警告。当时我正在尝试用自动化流程整理季…...

UndertaleModTool:重塑GameMaker游戏体验的创新应用实战指南

UndertaleModTool:重塑GameMaker游戏体验的创新应用实战指南 【免费下载链接】UndertaleModTool The most complete tool for modding, decompiling and unpacking Undertale (and other Game Maker: Studio games!) 项目地址: https://gitcode.com/gh_mirrors/un…...