有没有办法定义管理 URL 的端口(而不是 management.server.port),以便 Spring 引导管理员可以从 spring 引导应用程序中识别执行器 URL 以进行监控?我在 docker 容器中运行 spring boot 应用程序,它使用 Kubernetes NodePort 从外部公开在不同的端口上。
如果使用服务发现进行应用程序查找,则可以在实例元数据中定义公开的管理端口。此元数据用于构建管理 URL。此处记录了更多详细信息:
http://codecentric.github.io/spring-boot-admin/current/#spring-cloud-discovery-support
处理以de.codecentric.boot.admin.server.cloud.discovery.DefaultServiceInstanceConverter
完成
尤里卡的例子: eureka.instance.metadata-map.management.port=[K8S-EXPOSED-PORT]
如果您使用的是服务发现,请查看DefaultServiceInstanceConverter
,请尝试指定 management.port
属性。
如果不使用服务发现,请查看de.codecentric.boot.admin.server.domain.values.Registration
,您可能需要使用构建器 API 正确注册应用程序(尝试正确设置managementUrl
)。请注意,您需要在客户端应用程序(正在监视的应用程序)中执行此操作。