【发布时间】:2017-02-02 16:01:25
【问题描述】:
我有一个包含多个数据源的项目,并且还实现了弹簧执行器。当我访问 /health 时,我得到以下信息:
{"status":"DOWN"}
这对我来说没有任何意义。什么下?另外,为什么缺少数据库健康?我假设这是因为我的数据源前缀是默认的。
如何配置执行器 /health 以显示两种数据源的健康状态?
【问题讨论】:
标签: java spring spring-boot spring-boot-actuator
我有一个包含多个数据源的项目,并且还实现了弹簧执行器。当我访问 /health 时,我得到以下信息:
{"status":"DOWN"}
这对我来说没有任何意义。什么下?另外,为什么缺少数据库健康?我假设这是因为我的数据源前缀是默认的。
如何配置执行器 /health 以显示两种数据源的健康状态?
【问题讨论】:
标签: java spring spring-boot spring-boot-actuator
其实,健康端点检查的指标不止一个。您只有{"status":"DOWN"},因为默认情况下 Spring Boot 应用程序是安全的。
你可以修改你的application.properties
endpoints.health.sensitive=false
显示所有健康指标。
您可以在此页面中找到所有自动配置的健康指标: http://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html#_auto_configured_healthindicators
此外,您还可以通过实现HealthIndicator 来编写自己的健康指标。
@Component
public class MyHealthIndicator implements HealthIndicator {
@Override
public Health health() {
int errorCode = check(); // perform some specific health check
if (errorCode != 0) {
return Health.down().withDetail("Error Code", errorCode).build();
}
return Health.up().build();
}
}
【讨论】:
HealthIndicator 信息添加到 /health 端点?
{"status":"DOWN"} 我希望获得有关我的指标的更多信息,而不仅仅是“状态”
management.security.enabled 的限制,甚至不需要自定义指标。
由于这个执行器现在已被弃用(也许这对某人有帮助),你可以使用这个:
management:
endpoint:
health:
show-details: always
【讨论】: