Für jede VM-Instanz oder Bare-Metal-Instanz wird eine Hostwartungsrichtlinie verwendet, um das Verhalten der Instanz während eines Wartungsvorgangs zu bestimmen. Bei einigen Instanzen haben Sie die zusätzliche Möglichkeit, sich den Wartungszeitplan im Voraus anzusehen.
Auf dieser Seite wird erläutert, wie Sie ein Host-Wartungsereignis auf Compute Engine-Instanzen überwachen und planen.
Hinweise
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Compute-Instanzadministrator (Version 1) (
roles/compute.instanceAdmin.v1
) -
Lesezugriff auf Audit-Logs für Systemereignisse:
Loganzeige (
roles/logging.viewer
) -
So rufen Sie Informationen zu einer Instanz ab, einschließlich Metadaten:
compute.instances.get
Beschleunigungsoptimierte Maschinenfamilien:
Maschinenfamilien für allgemeine Zwecke:
Speicheroptimierte Maschinenfamilien:
Speicheroptimierte Maschinenfamilien:
- Weniger Wartungsereignisse: Im Allgemeinen sollte es bei Instanzen mit wiederkehrenden Wartungsintervallen zu weniger Wartungsereignissen kommen.
- Längere Wartungsbenachrichtigung: Sie werden zu Planungszwecken weit im Voraus über Wartungsereignisse informiert.
- Überwachung und Planung: Mit Cloud Logging können Sie Ihren Wartungszeitplan im Blick behalten. Mithilfe von Vorfällen und Benachrichtigungen können Sie auf dem Laufenden bleiben.
- On-Demand-Wartungssteuerung: Starten Sie die Wartung während des Benachrichtigungszeitraums, um Ihre Instanzen dann zu aktualisieren, wenn es Ihrem Zeitplan entspricht.
- canReschedule: gibt an, ob die Wartung während des Benachrichtigungszeitraums für diese Instanz manuell gestartet werden kann.
TRUE
: Eine vom Kunden ausgelöste Wartung kann während des Benachrichtigungszeitraums ausgeführt werden.FALSE
: Eine vom Kunden ausgelöste Wartung kann für diese Instanz nicht ausgeführt werden. Dies tritt häufig in dem Zeitraum auf, in dem die Instanz gewartet wird, oder wenn der Instanztyp keine Wartung auf Abruf unterstützt.
- latestWindowStartTime: die späteste Zeit, zu der das Wartungsfenster verschoben werden kann.
- maintenanceStatus: Der aktuelle Status des Wartungsereignisses.
ONGOING
: Der Wartungsvorgang wird ausgeführt.PENDING
: Der Wartungsvorgang ist geplant, wurde aber noch nicht gestartet.
- type: die Art der auszuführenden Wartung.
NONE
: Für diese Instanz ist keine Wartung geplant.SCHEDULED
: Bei Wartungsarbeiten, die die Verfügbarkeit beeinträchtigen, erhalten Sie von der Compute Engine für die meisten Instanzen mindestens 7 Tage vor Beginn eine Vorankündigung. Für X4-Instanzen wird etwa 60 Tage vorher eine Vorankündigung gesendet.UNSCHEDULED
: Da es sich bei der Wartung um wichtige Updates handelt, versucht die Compute Engine, so früh wie möglich Bescheid zu geben. Die Vorabankündigung ist jedoch in der Regel viel kürzer als bei geplanten Wartungsereignissen.
- windowEndTime: das Ende des Wartungsfensters.
- windowStartTime: der Beginn des Wartungszeitraums.
canReschedule=True
undmaintenanceStatus=Pending
: Sie können das Wartungsereignis für die Instanz vor dem geplanten Beginn manuell starten.canReschedule=False
undmaintenanceStatus=Ongoing
: Die Wartung ist bereits in vollem Gange und kann nicht verschoben werden.canReschedule=False
undmaintenanceStatus=Pending
: Ihre Instanz unterstützt keine manuell ausgelösten Wartungsereignisse.INSTANCE_NAME
: Der Name der Compute-Instanz.ZONE_NAME
: Die Zone, in der sich die Instanz befindet.- Die Wartung ist für das in
windowStartTime
angegebene Datum und die angegebene Uhrzeit geplant. canReschedule
ist aufTrue
undmaintenanceStatus
aufPENDING
gesetzt. Diese Einstellungen weisen darauf hin, dass Sie das geplante Wartungsereignis vor dem inlatestWindowStartTime
angezeigten Datum manuell starten können.PROJECT_NAME
: Der Name des Projekts, das die Compute-Instanz enthält.ZONE
: Zone, in der sich die Instanz befindet.INSTANCE_NAME
: Name der Instanz- Die Wartung ist für das in
windowStartTime
angegebene Datum und die angegebene Uhrzeit geplant. canReschedule
ist aufTrue
undmaintenanceStatus
aufPENDING
gesetzt. Diese Einstellungen weisen darauf hin, dass Sie das geplante Wartungsereignis vor dem inlatestWindowStartTime
angezeigten Datum manuell starten können.Rufen Sie die Seite VM-Instanzen auf.
Klicken Sie auf den Namen der Instanz, für die Sie Wartungsbenachrichtigungen aufrufen möchten.
Die Seite mit den Instanzdetails wird geöffnet.
Klicken Sie im Bereich Protokolle auf den Link Protokollierung.
Die Seite Abfrageeditor für den Log-Explorer wird geöffnet. Im Bereich Abfrage sind die
resource.type
und die Instanz-ID für Ihre Instanz bereits ausgefüllt.Fügen Sie im Bereich Abfrage der Abfrage die folgende Zeile hinzu:
operation.producer="compute.instances.upcomingMaintenance" OR "compute.instances.terminateOnHostMaintenance" OR "compute.instances.migrateOnHostMaintenance"
Klicken Sie auf Abfrage ausführen. Die übereinstimmenden Wartungsbenachrichtigungsereignisse werden im Bereich „Abfrageergebnisse“ angezeigt.
Klicken Sie im Bereich „Abfrageergebnisse“ auf Zeit bearbeiten, um den Suchzeitraum zu erweitern oder die Ergebnisse auf bestimmte Datumsangaben oder Uhrzeiten einzugrenzen.
Klicken Sie auf einen Logeintrag, um die Details der Wartungsbenachrichtigung aufzurufen.
- Maximieren Sie die Überschrift
metadata
, um Informationen wie den aktuellen Status, den Typ und den Beginn und das Ende des geplanten Wartungsfensters zu sehen. - Maximieren Sie die Überschrift
status
, um die Beschreibung der Benachrichtigung zu sehen.
- Maximieren Sie die Überschrift
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"PENDING"
windowStartTime
:"2024-07-23T20:00:00Z"
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"ONGOING"
windowStartTime
:"2024-07-23T20:00:00Z"
- Bei Instanzen, die für die Verwendung der Live-Migration bei Wartungsereignissen konfiguriert sind, wird ein Systemereignis mit
methodName: "compute.instances.migrateOnHostMaintenance"
ausgegeben. - Für Instanzen, die so konfiguriert sind, dass sie bei Wartungsereignissen beendet werden, ein Systemereignis mit
methodName: "compute.instances.terminateOnHostMaintenance"
. methodName
:"compute.instances.upcomingMaintenance"
status: {
message: "Maintenance window has completed for this instance. All
maintenance notifications on the instance have been removed."
}
Rufen Sie die Seite VM-Instanzen auf.
Klicken Sie auf den Namen der Instanz, für die Sie eine Benachrichtigung zu Wartungsereignissen erstellen möchten.
Die Seite mit den Instanzdetails wird geöffnet.
Klicken Sie im Bereich Protokolle auf den Link Protokollierung.
Die Seite Abfrageeditor für den Log-Explorer wird geöffnet. Im Bereich Abfrage sind die
resource.type
und die Instanz-ID für Ihre Instanz bereits ausgefüllt.Fügen Sie im Bereich Abfrage der Abfrage die folgende Zeile hinzu:
operation.producer="compute.instances.upcomingMaintenance"
Klicken Sie auf Abfrage ausführen. Die übereinstimmenden Wartungsbenachrichtigungsereignisse werden im Bereich „Abfrageergebnisse“ angezeigt.
Klicken Sie im Bereich „Abfrageergebnisse“ auf Zeit bearbeiten.
- Geben Sie links im Bearbeitungsfenster im Feld Relativ die Zahl
1d
ein, um die Protokolleinträge der letzten Woche aufzurufen. - Klicken Sie auf Anwenden.
- Geben Sie links im Bearbeitungsfenster im Feld Relativ die Zahl
Klicken Sie in der Kopfzeile des Bereichs Abfrageergebnisse auf add_alert Benachrichtigung erstellen. Wenn das Fenster zu klein ist, wird die Option Benachrichtigung erstellen möglicherweise stattdessen im Menü Aktionen angezeigt.
Führen Sie im Bereich Logbasierte Benachrichtigungsrichtlinie erstellen im Abschnitt Benachrichtigungsdetails die folgenden Schritte aus:
- Geben Sie einen Namen für die Benachrichtigungsrichtlinie ein, z. B.
Upcoming maintenance for my-c3d-vm@us-central1-b
. Wählen Sie im Menü Richtlinienschwere die Option Kein Schweregrad aus.
Geben Sie im Feld Dokumentation eine Beschreibung für die Benachrichtigungsrichtlinie ein. Sie können auch Informationen angeben, die dem Empfänger einer Benachrichtigung helfen können, das Problem zu diagnostizieren. Im folgenden String wird der Grund für die Benachrichtigung zusammengefasst:
Log-based alerting policy in project ${project} to monitor upcoming maintenance notifications. See also "Host maintenance alerts" and "onHostMaintenance actions" alerting policies.
Informationen zum Formatieren und Anpassen des Inhalts dieses Felds finden Sie unter Markdown und Variablen in Dokumentationsvorlagen verwenden.
Um mit dem nächsten Schritt fortzufahren, klicken Sie auf Weiter.
- Geben Sie einen Namen für die Benachrichtigungsrichtlinie ein, z. B.
Prüfen Sie im Bereich Logs auswählen, die in die Benachrichtigung aufgenommen werden sollen die Abfrage und die Ergebnisse. Klicken Sie dazu auf Logvorschau ansehen.
Die Abfrage, die Sie im Bereich Abfrage erstellt haben, wird in diesem Bereich ebenfalls angezeigt. Wir empfehlen, die Abfrage zuerst im Bereich Abfrage des Log-Explorers zu erstellen.
Bei Bedarf können Sie die Abfrage in diesem Bereich bearbeiten. Wenn Sie die Abfrage bearbeiten, prüfen Sie die Ergebnisse. Klicken Sie dazu auf Logvorschau ansehen.
Klicken Sie auf Weiter.
Führen Sie im Bereich Benachrichtigungshäufigkeit und Dauer für automatisches Schließen festlegen die folgenden Schritte aus:
Wählen Sie die Mindestdauer zwischen Benachrichtigungen aus. Mit diesem Wert können Sie die Anzahl der Benachrichtigungen steuern, die Sie vom Monitoring erhalten, wenn diese Bedingung mehrmals erfüllt wird. Wählen Sie für dieses Beispiel 1 Tag aus den Optionen aus.
Verwenden Sie für die Dauer bis zur automatischen Schließung von Vorfällen den maximalen Wert von 7 Tagen.
Klicken Sie auf Weiter.
Wenn Sie bereits einen E-Mail-Benachrichtigungskanal konfiguriert haben, können Sie ihn aus der Liste auswählen. Wenn nicht, klicken Sie auf Benachrichtigungskanäle verwalten und fügen Sie einen E-Mail-Kanal hinzu. Informationen zum Erstellen von Benachrichtigungskanälen finden Sie unter Benachrichtigungskanäle erstellen und verwalten.
Klicken Sie auf Speichern.
Ihre logbasierte Benachrichtigungsrichtlinie kann jetzt wie unter Logbasierte Beispielbenachrichtigung testen beschrieben getestet werden.
- Informationen zum Festlegen einer Host-Wartungsrichtlinie
- Live-Migrationshinweise abrufen
- Host-Wartungsereignis manuell auslösen
- Informationen zum Verwalten von Richtlinien für logbasierte Benachrichtigungen mit der Google Cloud Console für Monitoring oder mit der Monitoring API
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Instanzen und zum Verwalten der Instanzwartung benötigen:
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen von Instanzen und Verwalten der Instanzwartung erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um Instanzen zu erstellen und die Wartung von Instanzen zu verwalten:
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Beschränkungen
Sie können Benachrichtigungen für das anstehende Wartungsereignis einer Instanz nur aufrufen, wenn für die Instanz ein Maschinentyp aus einer der folgenden Maschinenfamilien verwendet wird:
Wartungsbenachrichtigungen
Google sendet Benachrichtigungen über bevorstehende Hostwartungen über mehrere Methoden. Wenn sich das Wartungsfenster öffnet, führt Google Cloud automatisch eine Wartung für Ihre Instanz aus. Durch Überwachung der bevorstehenden Wartungsfenster Ihrer Instanz können Sie Ihre Arbeitslasten proaktiv darauf vorbereiten, die bevorstehende Wartung mit minimalen Unterbrechungen abzuwickeln.
Compute-Instanzen, die Benachrichtigungen zu Wartungsereignissen unterstützen, haben folgende Merkmale:
Die Informationen zu einem anstehenden Benachrichtigungsereignis werden in etwa so dargestellt:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
Wenn keine Wartung ansteht, wird stattdessen eine Meldung wie die folgende angezeigt:
{ "error": "no notifications have been received yet, try again later" }
Definitionen für Wartungsstatus
In den folgenden Statusdefinitionen werden die Antworten auf Abfragen zur Hostwartung für eine Instanz erläutert. Sie enthalten Informationen zum Wartungsereignis. Die Google Cloud CLI, REST und der Metadatenserver verwenden dieselben Antworten:
Verhalten bei Wartungsstatus
Prüfen Sie beim Verwalten von Wartungsereignissen die Werte für
canReschedule
undmaintenanceStatus
. In Kombination geben diese Felder an, welche Aktionen Sie ausführen können oder nicht, um ein Wartungsereignis neu zu planen:Wartungsbenachrichtigungen ansehen
Sie können Wartungsbenachrichtigungen abrufen, indem Sie Ihre Compute-Instanzen, den Metadatenserver oder Cloud Logging abfragen.
Instanzen auf Benachrichtigungen zu Wartungsereignissen prüfen
Verwenden Sie die Google Cloud CLI, REST oder fragen Sie den Metadatenserver ab, um zu sehen, ob ein bevorstehendes Hostwartungsereignis für Ihre Instanz ansteht.
gcloud
Verwenden Sie den Befehl
gcloud compute instances describe
, um das anstehende Wartungsfenster für eine Instanz aufzurufen.gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE_NAME --format="yaml(upcomingMaintenance)"
Ersetzen Sie Folgendes:
Wenn eine anstehende Wartung ansteht, enthält die Antwort einen Abschnitt, der in etwa so aussieht:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
In dieser Antwort:
REST
Wenn Sie wissen möchten, ob für eine Instanz Wartungsarbeiten anstehen, erstellen Sie eine
GET
-Anfrage mit derinstances.get
-Methode:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME
Ersetzen Sie Folgendes:
Wenn eine anstehende Wartung ansteht, enthält die Antwort einen Abschnitt, der in etwa so aussieht:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2023-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2023-12-01T22:00:00Z" "windowStartTime": "2023-12-01T19:00:00Z" }
In dieser Antwort:
Metadatenserver
Fragen Sie den Metadatenserver vom Gastbetriebssystem aus ab, um das nächste Wartungsereignis anzusehen.
$ curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Cloud Logging auf Benachrichtigungen zu Wartungsereignissen prüfen
Die Compute Engine erstellt Systemereignisse in den Cloud-Audit-Logs für eine Instanz für Wartungsereignisse. Sie können sich diese Ereignisse vor, während und nach einem Wartungsereignis mit Cloud Logging und dem Log-Explorer ansehen.
Console
So rufen Sie die Prüfprotokolle auf, um Wartungsbenachrichtigungen für eine Instanz abzufragen:
Beispiele für Wartungsbenachrichtigungen
Im Log-Explorer wird eine Benachrichtigung zu einem Wartungsereignis für eine Instanz mit Werten wie den folgenden angezeigt:
Wenn das Wartungsereignis beginnt, wird in den Protokollen ein neues Informationsereignis mit Werten wie den folgenden angezeigt:
Während des Wartungsereignisses wird je nach Konfiguration der Hostwartungsrichtlinie für die Instanz eines der folgenden Systemereignisse in den Audit-Logs protokolliert:
Nach dem Ende des Wartungsereignisses wird in den Audit-Logs ein neues Informationsereignis mit Werten wie den folgenden protokolliert:
Benachrichtigungen für Hostwartung konfigurieren
Sie können eine logbasierte Benachrichtigungsrichtlinie einrichten, um nach bestimmten Wartungsbenachrichtigungsereignissen zu suchen und Benachrichtigungen über einen Benachrichtigungskanal zu senden.
Console
So erstellen Sie eine Benachrichtigung für ein Wartungsereignis für Ihre Instanz:
Weitere Informationen finden Sie unter Logbasierte Benachrichtigungen konfigurieren und Benachrichtigungskanäle erstellen und verwalten.
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-12-22 (UTC).
-