我创建了一个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”}
要显示自定义运行状况指示器,需要执行哪些操作?
2条答案
按热度按时间clj7thdc1#
您需要通过身份验证才能查看所有详细信息。或者,您可以设置
查看未经验证的完整内容
更多信息可以在这里找到:Production ready monitoring
hgc7kmma2#
你为什么要这么做该代码甚至不会编译,Sping Boot 默认情况下已经检查了您的数据源。如果您只看到状态,那是因为您没有经过身份验证,请查看文档中的此表以了解更多详细信息。