IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Eureka监控页面 http: |localhost:8001/actuator/info 无法显示 -> 正文阅读

[网络协议]Eureka监控页面 http: |localhost:8001/actuator/info 无法显示

【SpringCloud】Eureka监控页面 http://localhost:8001/actuator/info 无法显示

【There was an unexpected error (type=Not Found, status=404).No message available】

查遍了相关的博客都没有解决问题,最后在自己一步步追溯下找到了问题的根源,成功解决!

学习eureka时,我们可以通过配置info信息设置对应的信息
在服务提供者的YML文件中我配置了以下这段信息:

info:
  app.name: springcloud-service-news
  company.name: www.mark.com
  build.artifactId: @project.artifactId@
  build.version: @project.version@

并且导入了spring-boot-starter-actuator依赖:

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

导入的依赖是最新version 2.5.5(可能是因为版本原因才导致以下的问题

并且也在父工程pom中导入了这段代码:

<build>
   <finalName>springcloud-news</finalName>
   <resources>
       <resource>
           <directory>src/main/resources</directory>
           <filtering>true</filtering>
       </resource>
   </resources>
   <plugins>
       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-resources-plugin</artifactId>
       </plugin>
   </plugins>
</build>

eureka监控页面正常显示:
在这里插入图片描述

点击进入info界面,出现以下错误:

在这里插入图片描述
在检查了几遍代码之后,我排除了写错代码的可能;并且错误信息为No message available,所以很有可能是该页面被拦截。所以我尝试了一下http://localhost:8001/actuator/health,意外地发现可以正常显示:
在这里插入图片描述
在疯狂查阅网站上各种相关博客时,发现了官方对端点的启用和暴露也做了配置,但都说info和health两个端点是默认开启的,但是我的却只能显示health,不能显示info;于是我在YML配置中增加了端点的暴露设置:

management:
  endpoints:
    web:
      exposure:
        include: "*"

更新配置后,health和info页面都能正常显示了
在这里插入图片描述
但是根据博客上的说法,info和health两个端点是默认开启的;我实践的结果却是只有health是默认开始的。那么产生冲突的原因是什么呢?我们接着分析:

我们查看springboot官方API文档
在这里插入图片描述
发现默认暴露的端点只有health,并没有info; 而在之前查阅的博客中也有官方API的截图, 暴露的端点是health和info两者;所以我们可以合理推测在actuator更新过程中, 对Exposure默认配置进行了更改

为了验证这个想法,我们查看源码:

首先我们搜索与Exposure相关的类
在这里插入图片描述
进入OnAvailableEndpointCondition类, 我们可以看到一个叫Exposure的内部类

在这里插入图片描述
我们可以看到一个叫DefaultIncludes的类, 中文意思就是默认包含, Ctrl+鼠标左键进入这个类的源码
在这里插入图片描述
我们可以看到Web只默认包含health, 因此验证成功

总结:

我导入的acutator依赖版本是2.5.5, 当时的最新版本, 由于版本更新速度非常迅速, 所以网上的博客都是更老的版本, 最后通过不断地Debug,并且对源码进行分析,终于成功解决这个问题.

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:40:48  更:2021-10-28 12:41:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:01:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码