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

解决Spring Cloud OpenFeign端点未暴露问题

解决Spring Cloud OpenFeign端点未暴露问题

在使用Spring Cloud OpenFeign时,可能会遇到端点未暴露的问题。本文将详细记录从问题发现到解决的整个过程,希望能帮助遇到类似问题的开发者。

1. 问题背景

在项目中,我们使用了以下依赖:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>3.1.5</version>
</dependency>

application.yml中配置了端点开放:

management:endpoints:web:exposure:include: '*'

然而,端点并未如预期那样暴露。

2. 问题排查过程
2.1 检查包依赖

首先,检查项目中是否引入了以下依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
2.2 排查注入类

接下来,排查org.springframework.cloud.openfeign.MetricsConfiguration类是否被正确注入。通过debug模式查看该类的注入条件是否满足。

2.3 检查注入条件

在debug模式下,发现MetricsConfiguration类的注入条件不满足,缺少MicrometerCapability类。

2.4 引入缺失的依赖

为了解决这个问题,引入io.github.openfeign.feign-micrometer包:

<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-micrometer</artifactId><version>11.8</version> <!-- 请根据实际情况选择合适的版本 -->
</dependency>

重启项目,再次进入debug模式,发现能够成功进入到MetricsConfiguration类的new方法。

2.5 正常启动项目

正常启动项目后,触发OpenFeign接口调用,让第三方接口返回500或404状态码。然后通过浏览器或接口请求/actuator/metrics,查看是否有http或feign相关的错误指标。

  • 如果有相关指标,说明问题基本解决,可以通过调用/actuator/prometheus找到相应的指标详情
  • 如果没有相关指标,说明指标未生成,需要检查前面的配置。
  • 如果项目报了其他异常,可能是版本不匹配,需要修改feign-micrometer的版本,使其与OpenFeign配套。具体匹配请查阅官方文档或询问AI。
2.6 配置Prometheus

为了将这些指标暴露给Prometheus,需要配置Prometheus的scrape config,接入/actuator/prometheus

3. 总结

通过以上步骤,我们成功解决了Spring Cloud OpenFeign端点未暴露的问题。关键在于引入了feign-micrometer包,并确保所有依赖版本匹配。希望本文能对遇到类似问题的开发者有所帮助。

希望本文对你有所帮助,如果有任何问题或建议,欢迎在评论区留言。


http://www.mrgr.cn/news/95974.html

相关文章:

  • Modbus RTU ---> Modbus TCP透传技术实现(Modbus透传、RS485透传、RTU透传)分站代码实现、协议转换器
  • 反序列化漏洞
  • Docker+Ollama+Xinference+RAGFlow+Dify部署及踩坑问题
  • msyql--基本操作之运维篇
  • 【JavaSE】抽象类和接口
  • uniapp页面列表,详情返回不刷新,新增或编辑后返回刷新
  • mysql中show命令的使用
  • NodeJs之fs模块
  • 【408--复习笔记】计算机组成原理
  • 【模型压缩+推理加速】知识蒸馏综述解读
  • 嵌入式硬件工程师从小白到入门-原理图(三)
  • ofd转pdf报错:org.ofdrw.reader.ZipUtil.unZipFileByApacheCommonCompress【已解决】
  • 语言模型理论基础-持续更新-思路清晰
  • Vue 2 探秘:visible 和 append-to-body 是谁的小秘密?
  • Brainstorm绘制功能连接图(matlab)
  • vue - [Vue warn]: Duplicate keys detected: ‘0‘. This may cause an update error.
  • 第六篇:Setup:组件渲染前的初始化过程是怎样的?
  • 【Linux】交叉编译2
  • OpenCV图像拼接(5)图像拼接模块的用于创建权重图函数createWeightMap()
  • 嵌入式硬件工程师从小白到入门-PCB绘制(二)