java Spring启动运行状况未显示详细信息(withDetail info)

egmofgnx  于 2022-12-28  发布在  Java
关注(0)|答案(7)|浏览(235)

我编写了一个实现HealthIndicator的类,覆盖了health-method。
这将使我的health-endpoint返回:

{
    "status":"UP",
    "applicationHealth": {
        "status":"UP"
    }
}

相反,它只返回(health,没有详细信息):

{
    "status":"UP",
}

Javacode(稍微简化):

@Component
public class ApplicationHealth implements HealthIndicator {

  @Override
  public Health health() {
    return check();
  }

  private Health check() {
    return Health.up().withDetail("SupportServiceStatus", supportServiceStatusCode).build();
  }

}
fbcarpbf

fbcarpbf1#

根据Spring Boot文件:
...默认情况下,只有健康状态通过未经认证的HTTP连接被公开,如果你愿意总是公开完整的健康信息,你可以将endpoints.health.sensitive设置为false
解决方法是在application.properties中将endpoints.health.sensitive设置为false
application.properties

endpoints.health.sensitive=false

对于〉1.5.1版本,请访问application.properties

management.security.enabled=false

在 Spring Boot 2.0.0版本中(thx @rvit34@nisarg-panchal):

management:
  endpoint:
    health:
      show-details: "ALWAYS"
  endpoints:
    web:
      exposure:
        include: "*"

management.endpoints.web.exposure.include=*公开所有端点(如果这是您想要的)。
当前文档可在此处找到:https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html

ljsrvy3e

ljsrvy3e2#

在Sping Boot 2.0.0版本中:

management:
   endpoint:
      health:
        show-details: "ALWAYS"
9w11ddsr

9w11ddsr3#

感谢@rvit34和@忍者代码猴子的工作。
对于Spring Boot2.x.x.版本,
使用以下网址访问application.properties,
第一个月
使用下面的应用程序.yml,
management: endpoint: health: show-details: "ALWAYS"

lnvxswe2

lnvxswe24#

设置“endpoints.health.sensitive”没有影响...必须设置:

management:
    security:
        enabled: false
qcbq4gxm

qcbq4gxm5#

需要添加

management.endpoint.health.show-details=always

到Application.properties

hwazgwia

hwazgwia6#

对于Sping Boot 2.X,我在www.example.com文件中提供了application.properties以下详细信息:

management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=ALWAYS
axkjgtzd

axkjgtzd7#

我有这个相同的问题,在版本Sping Boot 1.5.9我必须设置

management.security.enabled=false

相关问题