2016-08-10 14 views
0

Gibt es eine Überschreibung der Ausgabe eines bestimmten Integritätsindikators?Überschreiben eines bestimmten Spring-Boot-Statusindikators

Speziell in den eingebauten, möchte ich die Informationen ändern, die es von einem meiner eigenen zurückgibt.

z.B. Der Mongo-Gesundheitsindikator hat einen schlechten Nebeneffekt, dass es lange dauern kann, bis er ausläuft, und wir haben festgestellt, dass dies für unser Monitoring katastrophal ist. Jetzt, wenn wir Timeouts bekommen, um den Gesundheits-Endpunkt zu bekommen, ist es ziemlich, weil der Heide-Ping zu Mongo auf Timeout wartet, ergo mongo ist unerreichbar.

Antwort

2

Der beste Weg, um dies zu sehen, ist, den Standard-Mongo-Gesundheitsindikator zu deaktivieren und Ihren eigenen zu erstellen. Um sie zu deaktivieren, setzen Sie die Eigenschaft für management.health.mongo.enabled auf false. Dann, um Ihre eigenen zu erstellen, schauen Sie sich einfach die MongoHealthIndicatorConfiguration an und machen Sie eine ähnliche Klasse für Ihren Gesundheitsmonitor. Der wichtige Teil besteht darin, die Klasse MongoHealthIndicator durch Ihre benutzerdefinierte Indikatorklasse zu ersetzen. Das vorhandene MongoHealthIndicator hat dies für den Gesundheitscheck:

@Override 
protected void doHealthCheck(Health.Builder builder) throws Exception { 
    CommandResult result = this.mongoTemplate.executeCommand("{ buildInfo: 1 }"); 
    builder.up().withDetail("version", result.getString("version")); 
} 
Verwandte Themen