Spring Boot 致动器健康端点

p5fdfcr1  于 2023-05-27  发布在  Spring
关注(0)|答案(2)|浏览(244)

我创建了一个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();
        }
    }
}

在我的www.example.com中Application.java我正在扫描此软件包中的此组件:

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

在我的www.example.com中application.properties我有以下集合:

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

当我点击{url}/health时,我看到:
{“status”:“DOWN”}
要显示自定义运行状况指示器,需要执行哪些操作?

clj7thdc

clj7thdc1#

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

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

查看未经验证的完整内容
更多信息可以在这里找到:Production ready monitoring

hgc7kmma

hgc7kmma2#

你为什么要这么做该代码甚至不会编译,Sping Boot 默认情况下已经检查了您的数据源。如果您只看到状态,那是因为您没有经过身份验证,请查看文档中的此表以了解更多详细信息。

相关问题