Spring-boot-Antrieb die Gesundheit Endpunkt
Habe ich erstellen einer PostgreSQL-Gesundheit-Anzeige wie diese:
@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();
}
}
}
In meinem Application.java ich bin das Scannen dieses Paket für diese Komponente:
@ComponentScan({"com.bp.health"})
In meiner Anwendung.Eigenschaften habe ich Folgendes set:
endpoints.health.sensitive=false
endpoints.health.id=health
endpoints.health.enabled=true
wenn ich drücken Sie {url}/Gesundheit ich sehe:
{"status":"DOWN"}
was muss ich tun, um die benutzerdefinierten Indikator für die Gesundheit zu zeigen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie authentifiziert werden, um zu sehen, alle details.
Alternativ können Sie
sehen den kompletten Inhalt nicht authentifizierten
Weitere Informationen zu diesem Thema finden Sie hier:
Produktion bereit-überwachung
Warum würden Sie wollen, dies alles zu tun? Dass der code gar nicht kompilieren und Spring Boot macht überprüfen Sie Ihre Daten-Quellen standardmäßig bereits. Wenn Sie nur den status, weil Sie nicht authentifiziert, aktivieren Sie diese Tabelle in der doc für mehr details.