向Spring Boot Admin显示离线实例(Failed to resolve ‘X.mshome.net’ [A(1)] after 2 queries)

1. 版本

当前使用必要软件的版本号

名称 版本
Java 21
Spring Framework 6.1.1
Spring Boot 3.2.0
spring-boot-admin-starter-server 3.2.0
spring-boot-admin-starter-client 3.2.0

2. 问题描述

在写 【Spring实战】24 使用 Spring Boot Admin 管理和监控应用 文章的示例代码的时候,出现了这个错误,大概操作流程如下:

1)正常启动了 Admin 服务端服务
2)在将 Spring 客户端向 Admin 服务端注册的时候,Admin 服务端控制台总是显示 离线实例
如下图所示:

在这里插入图片描述

Admin 服务端的控制台,出现如下错误信息

Failed to resolve ‘Cheney.mshome.net’ [A(1)] after 2 queries

详细信息:

org.springframework.web.reactive.function.client.WebClientRequestException: Failed to resolve 'Cheney.mshome.net' [A(1)] after 2 queries 
	at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:136) ~[spring-webflux-6.1.1.jar:6.1.1]
	Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
	*__checkpoint ⇢ Request to GET health [DefaultWebClient]

在这里插入图片描述

3. 如何解决

在 Spring 客户端服务的 配置文件 里,额外添加上 spring.boot.admin.client.instance.management-base-url= http://localhost:8090,这里的 http://localhost:8090 是 Admin 服务端的 IP:端口。

application.properties

spring.application.name=cheney-demo
spring.boot.admin.client.url=http://localhost:8090/admin
spring.boot.admin.client.instance.management-base-url= http://localhost:8090

spring.boot.admin.client.instance.management-base-url 是 Spring Boot Admin 客户端配置的一部分,用于指定管理端点的基本URL。它定义了用于监控和管理客户端应用程序的具体URL。

具体来说,management-base-url 是客户端应用程序的 Actuator 端点的基本URL。Actuator 端点包含了应用程序的监控和管理功能,例如 /actuator/health/actuator/info 等。Spring Boot Admin 通过访问这些端点来获取应用程序的健康状态等信息。

在报错的情况下,当我们将 spring.boot.admin.client.instance.management-base-url 设置为 http://localhost:8090 时,实际上是告诉 Spring Boot Admin 客户端应该访问的 Actuator 端点的基本URL是 http://localhost:8090/actuator。这样,Spring Boot Admin 就能够正确地获取有关客户端应用程序的信息,从而不再报错。

4. 验证

再次启动 Spring 客户端服务之后,发现没有上述问题了

在这里插入图片描述

总结

总之,通过显式的设置 management-base-url,可以为 Spring Boot Admin 提供了正确的信息,使其能够准确地监控和管理我们的客户端应用程序。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐