弹簧启动执行器健康终点

时间:2016-04-28 15:17:30

标签: spring spring-boot spring-boot-actuator actuator

我已经创建了一个像这样的PostgreSQL运行状况指示器:

@Component
public class PostgresHealthIndicator extends AbstractHealthIndicator {

    @Autowired
    DataSource postgresDataSource;

    public DataSourceHealthIndicator dbHealthIndicator() {
        DataSourceHealthIndicator indicator = new DataSourceHealthIndicator(postgresDataSource);
        return indicator;
    }

    @Override
    protected void doHealthCheck(Health.Builder builder) throws Exception {
        Health h = dbHealthIndicator().health();
        Status status = h.getStatus();
        if (status != null && "DOWN".equals(status.getCode())) {
            builder.down();
        } else {
            builder.up();
        }
    }
}

在我的Application.java中,我正在为此组件扫描此包:

@ComponentScan({"com.bp.health"})

在我的application.properties中,我有以下设置:

endpoints.health.sensitive=false
endpoints.health.id=health
endpoints.health.enabled=true

当我点击{url} / health时,我看到:

  

{ “状态”: “DOWN”}

我需要做些什么才能显示自定义运行状况指示器?

2 个答案:

答案 0 :(得分:8)

您需要通过身份验证才能查看所有详细信息。 或者你可以设置

management.security.enabled=false
endpoints.health.sensitive=false

查看未经身份验证的完整内容

有关这方面的更多信息,请访问: Production ready monitoring

答案 1 :(得分:2)

你为什么要这么做?该代码甚至无法编译,Spring Boot会默认检查您的数据源。如果您仅查看状态,因为您未经过身份验证,请查看此表in the doc以获取更多详细信息。