Конечная точка исправности привода пружинного башмака
Я создал индикатор работоспособности 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 ответа
Вам необходимо пройти проверку подлинности, чтобы увидеть все детали. В качестве альтернативы вы можете установить
management.security.enabled=false
endpoints.health.sensitive=false
чтобы увидеть полный контент без проверки подлинности
Подробнее об этом можно узнать здесь: Мониторинг готовности производства
Зачем тебе все это делать? Этот код даже не компилируется, и Spring Boot уже проверяет ваши источники данных по умолчанию. Если вы видите только статус, потому что вы не прошли проверку подлинности, проверьте эту таблицу в документе для получения более подробной информации.