Wenn Sie Legacy-Systemdiagnosen verwenden, wird Ihre Anwendung ab dem 15. September 2019 zwar weiterhin ausgeführt und erhält immer noch Systemdiagnosen, Sie können jedoch keine neuen Versionen der Anwendung bereitstellen.
Auf dieser Seite wird das Upgrade von Legacy-Systemdiagnosen auf aktualisierte Systemdiagnosen erläutert.
Typ der Systemdiagnose ermitteln
Mit dem folgenden Befehl können Sie prüfen, welchen Systemdiagnosetyp Ihre Anwendung verwendet:
gcloud app describe
Wenn die Anwendung aktualisierte Systemdiagnosen verwendet, enthält die Beschreibung die folgenden Informationen:
featureSettings:
splitHealthChecks: true
Wichtige Unterschiede
Beachten Sie für das Upgrade auf aktualisierte Systemdiagnosen die folgenden wichtigen Unterschiede zwischen Legacy- und aktualisierten Systemdiagnosen:
HTTP-Anfragen für aktualisierte Systemdiagnosen werden standardmäßig nicht weitergeleitet. Im Gegensatz dazu erfolgt die Weiterleitung bei Legacy-Systemdiagnosen standardmäßig an den Pfad
/_ah/health
in Ihrer Anwendung.Weitergeleitete aktualisierte Systemdiagnosen geben bei Fehlerfreiheit
200 OK
zurück. Bei Legacy-Systemdiagnosen gilt eine Anwendung bei folgenden HTTP-Codes als fehlerfrei:200
,301
,302
,303
,307
,401
,402
,403
,404
,405
.
Wenn Sie weder einen Pfad für Aktivitätsprüfungen noch einen Pfad für Bereitschaftsprüfungen angeben, prüfen aktualisierte Systemdiagnosen standardmäßig nur, ob die VM-Instanz und der Docker-Container ausgeführt werden. Solange dies der Fall ist, empfängt die VM weiterhin Traffic und bleibt unabhängig vom internen Status der Anwendung aktiviert.
Wenn dagegen Legacy-Systemdiagnosen aktiviert sind und über den Pfad /_ah/health
Ihrer Anwendung HTTP-Fehlercodes wie 5XX
zurückgegeben werden, schlägt die Legacy-Systemdiagnose fehl. Die VM empfängt dann keinen Traffic mehr und wird neu gestartet.
Wenn Ihre Anwendung vom Standardverhalten der Legacy-Systemdiagnosen abhängig ist, geben Sie den Pfad für Aktivitätsprüfungen und den Pfad für Bereitschaftsprüfungen entsprechend an.
Optionen für Legacy-Systemdiagnosen konvertieren
Jede Option der Legacy-Systemdiagnosen kann für aktualisierte Systemdiagnosen wie im Folgenden dargestellt angepasst und weiterverwendet werden:
Option | Beibehaltung des Verhaltens bei geteilten Systemdiagnosen |
---|---|
enable_health_check |
Wenn True festgelegt ist oder keine Angabe gemacht wurde, konfigurieren Sie für liveness_check.path und readiness_check.path einen Pfad in der Anwendung, der 200 OK zurückgibt, wenn die Anwendung fehlerfrei ausgeführt wird. |
check_interval_sec |
Legen Sie für liveness_check.check_interval_sec und readiness_check.check_interval_sec denselben Wert fest. |
timeout_sec |
Legen Sie für liveness_check.timeout_sec und readiness_check.timeout_sec denselben Wert fest. |
unhealthy_threshold |
Legen Sie für readiness_check.failure_threshold denselben Wert fest. |
healthy_threshold |
Legen Sie für liveness_check.success_threshold und readiness_check.success_threshold denselben Wert fest. |
restart_threshold |
Legen Sie für liveness_check.failure_threshold denselben Wert fest. Der Wert der Option check_interval_sec multipliziert mit dem Wert der Option failure_threshold ist die Zeit, die für das Herunterfahren einer fehlerhaften VM benötigt wird. |
Aktualisierte Systemdiagnosen aktivieren
Mit den folgenden Schritten können Sie von Legacy-Systemdiagnosen zu aktualisierten Systemdiagnosen migrieren und damit die Anzeige erhöhter 5xx
-Statuscodes vermeiden:
Machen Sie sich mit den wichtigen Unterschieden zwischen Legacy-und aktualisierten Systemdiagnosen vertraut.
Konvertieren Sie die Optionen für Legacy-Systemdiagnosen für jede Version der Anwendung.
Alternativ können Sie den Abschnitt
liveness_check
oderreadiness_check
in der Dateiapp.yaml
für jede Version anpassen. Beispiele finden Sie unter Aktivitätsprüfungen und Bereitschaftsprüfungen.Führen Sie diesen Befehl aus:
gcloud app update --split-health-checks --project [YOUR_PROJECT_ID]
Wenn Sie benutzerdefinierte Einstellungen für Legacy-Systemdiagnosen verwendet haben, müssen Sie den Abschnitt
health_check
aus der Dateiapp.yaml
entfernen.Stellen Sie eine neue Hauptversion Ihrer Anwendung bereit, um Aktivitäts- und Bereitschafts-Systemdiagnosen zu verwenden.