Heute bin ich auf einen Dienst gestoßen, der erfolgreich registriert werden konnte, aber die Gesundheitsprüfung ist fehlgeschlagen. Ich habe über den Browser auf die Gesundheitsprüfungs-URL zugegriffen und das Chrome-Netzwerk zeigte weiterhin „Ausstehend“ an, was darauf hinweist, dass die Anfrage gesendet wurde. aber es musste sein, um zurückzukehren, stecken geblieben.
Ich dachte ursprünglich, dass die Gesundheitsprüfung darin besteht, zu überprüfen, ob die /health-Anfrage unter dem Service-Port normal zurückkehren kann, aber das ist nicht der Fall.
Der sogenannte Health Check verfügt über viele Prüfelemente, z. B. DataSourceHealthIndicator, RedisHealthIndicator usw. Wenn beispielsweise die Datenquelle von MySQL verwendet wird, wird doHealthCheck() von DataSourceHealthIndicator ausgeführt Gesundheitsprüfung. Verwendung Wenn Redis installiert ist, wird doHealthCheck() von RedisHealthIndicator ausgeführt.
Zunächst können Sie feststellen, ob diese externen Datenquellen nicht verbunden werden können, was dazu führt, dass die Gesundheitsprüfung fehlschlägt. Sie können
management: health: db: enabled: false redis: enabled: false elasticsearch: enabled: false
so konfigurieren, dass die Gesundheitsprüfung für alles, was im System verwendet wird, deaktiviert wird Wenn ja, haben wir sie einzeln geöffnet und einzeln behoben.
Wir haben schließlich festgestellt, dass die oben genannte ausstehende Situation auf die falsche URL-Konfiguration von MySQL zurückzuführen ist, z. B. auf einen falschen Port Unzureichende Berechtigungen des MySQL-Benutzers. doHealthCheck() stellt eine Verbindung zu MySQL her und die Verbindung wird nicht erfolgreich sein, sodass die Verbindung zu MySQL dort hängen bleibt.
Konfigurieren Sie die richtige URL, aktivieren Sie Berechtigungen und lösen Sie das Problem.
Spring Boot bietet Integritätsprüfungen für mehrere Komponenten, was für die Überwachung des Betriebsstatus jeder Komponente hilfreich ist. Manchmal können Entwickler jedoch nicht starten, Fehler melden usw. und müssen sie entsprechend konfigurieren.
CassandraHealthIndicator Überprüfen Sie, ob Cassandra verfügbar ist<p><strong></strong></p>
<code>DiskSpaceHealthIndicator
Überprüfen Sie, ob nicht genügend Speicherplatz vorhanden ist
DataSourceHealthIndicator
Überprüfen Sie, ob der Link dies kann von DataSource abgerufen werdenCassandraHealthIndicator
检查Cassandra是否可用
DiskSpaceHealthIndicator
检查磁盘空间是否不足
DataSourceHealthIndicator
检查能否从DataSource获取链接
ElasticsearchHealthIndicator
检查Elasticsearch cluste是否可用
JmsHealthIndicator
检查JMS broker是否可用
MailHealthIndicator
检查mail server是否可用
MongoHealthIndicator
检查Mongo database是否可用
RabbitHealthIndicator
检查Rabbit server是否可用
RedisHealthIndicator
检查Redis server是否可用
SolrHealthIndicator
ElasticsearchHealthIndicator
Überprüfen Sie, ob der Elasticsearch-Cluster verfügbar ist
JmsHealthIndicator
Überprüfen Sie, ob der JMS-Broker verfügbar ist
MailHealthIndicator
Überprüfen Sie, ob der Mailserver verfügbar ist
MongoHealthIndicator
Überprüfen Sie, ob die Mongo-Datenbank verfügbar ist
RabbitHealthIndicator
Überprüfen Sie, ob der Rabbit-Server verfügbar ist🎜 🎜🎜🎜RedisHealthIndicator
Überprüfen Sie, ob der Redis-Server verfügbar ist.🎜🎜🎜🎜SolrHealthIndicatorÜberprüfen Sie, ob der Solr-Server verfügbar ist Externe Dienste. Bitte durchsuchen Sie die offizielle Dokumentation für weitere DetailsDas obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, wenn die Integritätsprüfung des SpringBoot-Aktuators fehlschlägt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!