Für jede VM-Instanz oder Bare-Metal-Instanz wird eine Hostwartungsrichtlinie verwendet, um das Verhalten der Instanz während einer Wartung zu bestimmen. Bei einigen Instanzen besteht die zusätzliche Option, den Wartungsplan im Voraus einzusehen.
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 so bei Compute Engine authentifizieren.
<x0A>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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
Compute-Instanzadministrator (Version 1) (
roles/compute.instanceAdmin.v1
) -
Für schreibgeschützten Zugriff auf Audit-Logs für Systemereignisse:
Logbetrachter (
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 Wartungsplan im Blick behalten. Mit Vorfällen und Benachrichtigungen können Sie sich auf dem Laufenden halten.
- 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 On-Demand-Wartung unterstützt.
- latestWindowStartTime: die späteste Zeit, zu der das Wartungsfenster verschoben werden kann.
- machineType: Der Maschinentyp der Instanz, z. B.
x4-megamem-960-metal
oderc4-highmem-192
. - maintenanceStatus: Der aktuelle Status des Wartungsereignisses.
ONGOING
: Der Wartungsvorgang wird ausgeführt.PENDING
: Der Wartungsvorgang ist geplant, wurde aber noch nicht gestartet.
- type: Der Typ der auszuführenden Wartung.
NONE
: Für diese Instanz ist keine Wartung geplant.SCHEDULED
: Bei unterbrechender Wartung benachrichtigt Compute Engine die meisten Instanzen mindestens 7 Tage im Voraus. X4-Instanzen werden etwa 60 Tage im Voraus benachrichtigt.UNSCHEDULED
: Da es sich bei der Wartung um kritische Updates handelt, versucht Compute Engine, so viel Vorlaufzeit wie möglich zu bieten. Diese ist jedoch in der Regel viel kürzer als bei geplanten Wartungsereignissen.
- windowEndTime: das Ende des Zeitfensters, in dem die Wartung durchgeführt wird.
- windowStartTime: der Beginn des Zeitfensters, in dem die Wartung durchgeführt wird.
canReschedule=True
undmaintenanceStatus=Pending
: Sie können das Wartungsereignis für die Instanz vor dem geplanten Start manuell starten.canReschedule=False
undmaintenanceStatus=Ongoing
: Die Wartung läuft 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 Datum und die Uhrzeit geplant, die in
windowStartTime
angezeigt werden. canReschedule
ist auftrue
undmaintenanceStatus
aufPENDING
gesetzt. Diese Einstellungen weisen darauf hin, dass Sie das geplante Wartungsereignis manuell vor dem inlatestWindowStartTime
angezeigten Datum 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 Datum und die Uhrzeit geplant, die in
windowStartTime
angezeigt werden. canReschedule
ist aufTrue
undmaintenanceStatus
aufPENDING
gesetzt. Diese Einstellungen weisen darauf hin, dass Sie das geplante Wartungsereignis manuell vor dem inlatestWindowStartTime
angezeigten Datum 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 Logs auf den Link mit dem Label Logging.
Die Seite Log-Explorer-Abfrageeditor wird geöffnet. Im Bereich Abfrage sind
resource.type
und die Instanz-ID bereits für Ihre Instanz eingetragen.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 mit den Abfrageergebnissen angezeigt.
Im Bereich „Abfrageergebnisse“ können Sie auf Zeit bearbeiten klicken, 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.
- Wenn Sie Benachrichtigungen zu anstehenden Wartungsarbeiten aufrufen möchten, maximieren Sie die Überschrift
metadata
. Dort finden Sie Informationen wie den aktuellen Status, den Typ und die geplanten Start- und Endzeiten des Wartungsfensters. - Maximieren Sie die Überschrift
status
, um die beschreibende Meldung für die Benachrichtigung aufzurufen.
- Wenn Sie Benachrichtigungen zu anstehenden Wartungsarbeiten aufrufen möchten, maximieren Sie die Überschrift
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"PENDING"
machineType
:"x4-megamem-960-metal"
windowStartTime
:"2024-07-23T20:00:00Z"
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"ONGOING"
machineType
:"x4-megamem-960-metal"
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"
protokolliert. - Bei Instanzen, die so konfiguriert sind, dass sie während Wartungsereignissen beendet werden, wird ein Systemereignis mit
methodName: "compute.instances.terminateOnHostMaintenance"
generiert. 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 über ein Wartungsereignis erstellen möchten.
Die Seite mit den Instanzdetails wird geöffnet.
Klicken Sie im Bereich Logs auf den Link mit dem Label Logging.
Die Seite Log-Explorer-Abfrageeditor wird geöffnet. Im Bereich Abfrage sind
resource.type
und die Instanz-ID bereits für Ihre Instanz eingetragen.Fügen Sie im Bereich Abfrage der Abfrage die folgende Zeile hinzu:
operation.producer="compute.instances.upcomingMaintenance"
Wenn Sie Hostwartungsereignisse nach einem Maschinentyp anstelle einer bestimmten Instanz filtern möchten, bearbeiten Sie die Abfrage so:
- Entfernen Sie die Zeile, in der die Instanz-ID angegeben ist.
Fügen Sie der Abfrage die folgende Zeile hinzu:
protoPayload.metadata.machineType:"MACHINE_TYPE"
Ersetzen Sie
MACHINE_TYPE
durch den Maschinentyp, nach dem Sie die Hostwartungsereignisse filtern möchten.
Klicken Sie auf Abfrage ausführen. Die übereinstimmenden Wartungsbenachrichtigungsereignisse werden im Bereich mit den Abfrageergebnissen angezeigt.
Klicken Sie im Bereich „Abfrageergebnisse“ auf Zeit bearbeiten.
- Geben Sie im Bearbeitungsfenster links im Feld Relativer Zeitraum
1d
ein, um die Logeinträge der letzten Woche aufzurufen. - Klicken Sie auf Übernehmen.
- Geben Sie im Bearbeitungsfenster links im Feld Relativer Zeitraum
Klicken Sie in der Kopfzeile des Bereichs Abfrageergebnisse auf add_alert Benachrichtigung erstellen. Wenn Ihr Anzeigefenster schmal 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ü Schweregrad der Richtlinie die Option Kein Schweregrad aus.
Im Feld Dokumentation können Sie eine Beschreibung für Ihre Benachrichtigungsrichtlinie eingeben. Sie können auch Informationen angeben, die dem Empfänger einer Benachrichtigung helfen können, das Problem zu diagnostizieren. Der folgende String fasst den Grund für die Benachrichtigung zusammen:
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 von 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 Maximalwert 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 Beispielbenachrichtigungsrichtlinie testen beschrieben getestet werden.
- Host-Wartungsrichtlinie festlegen
- Live-Migrationshinweise abrufen
- Host-Wartungsereignis manuell auslösen
- Informationen zum Verwalten von logbasierten Benachrichtigungsrichtlinien mit der Google Cloud -Konsole 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.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.
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 Instanzwartung 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 bevorstehende Wartungsereignis einer Instanz nur aufrufen, wenn die Instanz einen Maschinentyp aus einer der folgenden Maschinenfamilien verwendet:
Übersicht über Wartungsbenachrichtigungen
Google sendet Benachrichtigungen über bevorstehende Hostwartungen über verschiedene 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 die folgenden Merkmale:
Die Informationen zu einem anstehenden Benachrichtigungsereignis werden auf ähnliche Weise wie unten dargestellt:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "machineType":"x4-megamem-960-metal" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
Wenn kein Wartungsereignis ansteht, wird stattdessen eine Meldung wie die folgende angezeigt:
{ "error": "no notifications have been received yet, try again later" }
Definitionen des Wartungsstatus
Die folgenden Statusdefinitionen erläutern die Antworten auf Anfragen zur Hostwartung für eine Instanz. Sie enthalten Informationen zum Wartungsereignis. Die Google Cloud CLI, REST und der Metadatenserver verwenden dieselben Antworten:
Verhalten des Wartungsstatus
Prüfen Sie beim Verwalten von Wartungen die Werte für
canReschedule
undmaintenanceStatus
. In Kombination geben diese Felder an, welche Aktionen Sie in Bezug auf die Verschiebung eines Wartungsereignisses ausführen können:Wartungsbenachrichtigungen ansehen
Sie können Wartungsbenachrichtigungen abrufen, indem Sie Ihre Compute-Instanzen oder den Metadatenserver abfragen oder Cloud Logging verwenden.
Instanzen auf Benachrichtigungen zu Wartungsereignissen prüfen
Mit der Google Cloud CLI, REST oder durch Abfragen des Metadatenservers können Sie prüfen, ob für Ihre Instanz ein bevorstehendes Hostwartungsereignis geplant ist.
gcloud
Verwenden Sie den Befehl
gcloud compute instances describe
, um das bevorstehende Wartungsfenster für eine Instanz aufzurufen.gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE_NAME --format="yaml(resourceStatus.upcomingMaintenance)"
Ersetzen Sie Folgendes:
Wenn ein Wartungsereignis ansteht, enthält die Antwort einen Abschnitt ähnlich dem folgenden:
resourceStatus: upcomingMaintenance: canReschedule: true latestWindowStartTime: '2025-01-15T12:00:01Z' machineType: x4-megamem-960-metal maintenanceStatus: PENDING type: SCHEDULED windowEndTime: '2025-01-15T16:00:00Z' windowStartTime: '2025-01-15T12:00:00Z'
In dieser Antwort:
REST
Wenn Sie prüfen möchten, ob für eine Instanz eine Wartung ansteht, erstellen Sie eine
GET
-Anfrage mit der Methodeinstances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME
Ersetzen Sie Folgendes:
Wenn ein Wartungsereignis ansteht, enthält die Antwort einen Abschnitt ähnlich dem folgenden:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2023-12-01T19:00:01Z" "machineType": "x4-megamem-960-metal" "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 nach Benachrichtigungen zu Wartungsereignissen durchsuchen
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 fragen Sie die Audit-Logs nach Wartungsbenachrichtigungen für eine Instanz ab:
Beispiele für Wartungsbenachrichtigungen
Im Log-Explorer wird eine Benachrichtigung über ein Wartungsereignis für eine Instanz mit Werten wie den folgenden angezeigt:
Wenn die Wartung beginnt, wird in den Logs ein neues Informationsereignis mit Werten ähnlich 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 der Wartung wird ein neues Informationsereignis in den Audit-Logs mit Werten wie den folgenden angezeigt:
Benachrichtigungen für Hostwartungsbenachrichtigungen konfigurieren
Sie können eine logbasierte Benachrichtigungsrichtlinie einrichten, um nach bestimmten Wartungsbenachrichtigungsereignissen zu suchen und Benachrichtigungen über einen Benachrichtigungschannel 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: 2025-07-14 (UTC).
-