In diesem Dokument wird beschrieben, wie Sie Änderungslogeinträge einer VM in einer verwalteten Instanzgruppe (Managed Instance Group, MIG) aufrufen und lesen. Außerdem erhalten Sie spezifische Anwendungsfälle, um Ihnen beim Monitoring der VMs der Gruppe zu helfen.
Wenn Sie eine anwendungsbasierte Systemdiagnose für Ihre verwaltete Instanzgruppe konfiguriert haben, schreibt Compute Engine einen Logeintrag, wenn sich der Systemzustand einer verwalteten Instanz ändert, beispielsweise wenn die Instanz vom Status HEALTHY
in den Status UNHEALTHY
wechselt. Mit diesen Logeinträgen können Sie den Systemzustand jeder verwalteten Instanz sowie den Gesamtzustand der MIG überwachen und Fehler beheben.
Vorbereitung
- Systemdiagnosen und automatische Reparatur einrichten
-
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.
Rufen Sie in der Google Cloud Console den Log-Explorer auf.
Legen Sie die folgenden Abfrageparameter fest:
- Ressource – GCE-Instanzgruppenmanager
- Logname
-
instance_group_manager_events
Alternativ können Sie die folgende Abfrage in den Query Builder kopieren.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*
Mit der folgenden Abfrage können Sie Ihre Suche auf eine bestimmte verwaltete Instanzgruppe begrenzen.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Klicken Sie auf Abfrage ausführen. Die Logs werden in den Abfrageergebnissen angezeigt.
PROJECT_ID
: Ihre Projekt-IDMIG_NAME
: MIG, für die Sie die Änderungslogs zum Systemzustand aufrufen möchten.OAUTH2_TOKEN
: Zugriffstoken Ihrer Anwendung. Für lokale Tests können Sie mit dem Befehlgcloud auth print-access-token
ein Token generieren.PROJECT_ID
: Ihre Projekt-IDMIG_NAME
: MIG, für die Sie die Änderungslogs zum Systemzustand aufrufen möchten.Rufen Sie in der Google Cloud Console den Log-Explorer auf.
Kopieren Sie die folgende Abfrage im Query-Builder.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"
Klicken Sie auf Abfrage ausführen.
PROJECT_ID
: Ihre Projekt-IDINSTANCE_NAME
: Die verwaltete Instanz, für die Sie die Änderungslogs zum Systemzustand aufrufen möchtenOAUTH2_TOKEN
: Zugriffstoken Ihrer Anwendung. Für lokale Tests können Sie mit dem Befehlgcloud auth print-access-token
ein Token generieren.PROJECT_ID
: Ihre Projekt-IDINSTANCE_NAME
: Die verwaltete Instanz, für die Sie die Änderungslogs zum Systemzustand aufrufen möchten- Allgemeine Informationen, die in den meisten Logs angezeigt werden, wie z. B. Schweregrad, Projekt-ID, Name und ID der MIG, Projektnummer, Zeitstempel usw.
- Für den Systemzustand der Instanz spezifische Felder.
- Herausfinden, wie oft sich der Systemzustand einer bestimmten VM-Instanz im Laufe der Zeit geändert hat.
- Prüfen, wie häufig bei einer MIG Änderungen am Systemzustand ihrer Instanzen aufgetreten sind.
- Problematische VM-Instanzen bestimmen, die häufig in den Status
UNHEALTHY
wechseln. - Erfahren Sie, was die automatische Reparatur-Versuch verursacht hat.
- Herausfinden, ob ein automatischer Reparaturversuch für eine bestimmte VM-Instanz erfolgreich war.
- Optimieren der Konfiguration einer Systemdiagnose für eine Anwendung, indem Sie eine geeignete anfängliche Verzögerung für die automatische Reparatur bestimmen.
Rufen Sie in der Google Cloud Console den Log-Explorer auf.
Geben Sie die folgende Abfrage mit Ihrer Projekt-ID und dem Instanznamen in den Query Builder ein.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"
Klicken Sie im Abschnitt Abfrageergebnisse auf Aktionen und dann auf Messwert erstellen.
Führen Sie auf der Seite Logmesswert erstellen die folgenden Schritte aus:
- Legen Sie den Messwerttyp als Zähler fest.
Geben Sie einen Logmesswertnamen ein, z. B.
health-mig-xyzq
.Im Abschnitt Filter erstellen wird die Logabfrage aus dem Log-Explorer angezeigt. Sie können den Filter des Messwerts auch so konfigurieren, dass nur gestörte Status wie
UNHEALTHY
undTIMEOUT
berücksichtigt werden, indem Sie dem Filterseverity>=WARNING
hinzufügen.Klicken Sie unter Labels auf Label hinzufügen.
Geben Sie einen Labelnamen ein, z. B.
health_state
.Legen Sie als Labeltyp
STRING
fest.Legen Sie als Feldname
jsonPayload.instanceHealthStateChange.detailedHealthState
fest. Auf diese Weise können Sie zwischen verschiedenen Änderungen am Systemstatus unterscheiden.Klicken Sie auf Fertig, um das Label hinzuzufügen.
Klicken Sie auf Messwert erstellen.
Rufen Sie die Seite Logbasierte Messwerte auf und suchen Sie den neu erstellten Messwert.
Klicken Sie auf das Menü more_vert in der Zeile des Messwerts und wählen Sie In Metrics Explorer ansehen aus. Der Metrics Explorer wird geöffnet und zeigt die Grafik mit den Änderungen des Systemzustands der VM-Instanz an, die Sie in der Abfrage angegeben haben.
Rufen Sie in der Google Cloud Console den Log-Explorer auf.
Geben Sie die folgende Abfrage in den Query Builder ein und verwenden Sie dabei Ihre Projekt-ID und den Namen der verwalteten Instanzgruppe.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Klicken Sie im Abschnitt Abfrageergebnisse auf Aktionen und dann auf Messwert erstellen.
Führen Sie auf der Seite Logmesswert erstellen die folgenden Schritte aus:
- Legen Sie den Messwerttyp als Zähler fest.
- Geben Sie einen Logmesswertnamen ein, z. B.
health-mig-xyzq
. - Klicken Sie unter Labels auf Label hinzufügen.
- Geben Sie einen Labelnamen ein, z. B.
health_state
. - Legen Sie als Labeltyp
STRING
fest. - Legen Sie als Feldname
jsonPayload.instanceHealthStateChange.detailedHealthState
fest. Auf diese Weise können Sie zwischen verschiedenen Änderungen am Systemstatus unterscheiden. - Klicken Sie auf Fertig, um das Label hinzuzufügen.
- Klicken Sie auf Messwert erstellen.
Rufen Sie die Seite Logbasierte Messwerte auf und suchen Sie den neu erstellten Messwert.
Klicken Sie auf das Menü more_vert in der Zeile des Messwerts und wählen Sie In Metrics Explorer ansehen aus. Der Metrics Explorer wird geöffnet und zeigt die Grafik mit den Änderungen des Systemzustands aller VM-Instanzen in der verwalteten Instanzgruppe an, die Sie in der Abfrage angegeben haben.
Rufen Sie in der Google Cloud Console den Log-Explorer auf.
Geben Sie die folgende Abfrage in den Query Builder ein und verwenden Sie dabei Ihre Projekt-ID und den Namen der verwalteten Instanzgruppe.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Klicken Sie im Abschnitt Abfrageergebnisse auf Aktionen und dann auf Messwert erstellen.
Führen Sie auf der Seite Logmesswert erstellen die folgenden Schritte aus:
- Legen Sie den Messwerttyp als Zähler fest.
- Geben Sie einen Logmesswertnamen ein, z. B.
health-mig-xyzq
. - Klicken Sie unter Labels auf Label hinzufügen.
- Geben Sie einen Labelnamen ein, z. B.
health_state
. - Legen Sie als Labeltyp
STRING
fest. - Legen Sie als Feldname
jsonPayload.instanceHealthStateChange.detailedHealthState
fest. Auf diese Weise können Sie zwischen verschiedenen Änderungen am Systemstatus unterscheiden. - Klicken Sie auf Fertig, um das Label hinzuzufügen.
- Fügen Sie ebenfalls ein zweites Label hinzu, z. B.
instance
, wobei der Feldname aufjsonPayload.instanceHealthStateChange.instance
gesetzt ist. - Klicken Sie auf Messwert erstellen.
Rufen Sie die Seite Logbasierte Messwerte auf und suchen Sie den neu erstellten Messwert.
Klicken Sie auf das Menü more_vert in der Zeile des Messwerts und wählen Sie In Metrics Explorer ansehen aus. Der Metrics Explorer wird geöffnet und zeigt die Grafik mit den Änderungen des Systemzustands aller VM-Instanzen in der verwalteten Instanzgruppe an, die Sie in der Abfrage angegeben haben.
Legen Sie unter Gruppieren nach den Wert
instance
fest, um die aggregierte Anzahl von Änderungen am Systemzustand für jede Instanz anzuzeigen.Rufen Sie in der Google Cloud Console den Log-Explorer auf.
Geben Sie die folgende Abfrage in den Query Builder ein und verwenden Sie Ihre Projekt-ID und den Namen der Instanz.
resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" AND protoPayload.methodName="compute.instances.repair.recreateInstance" AND protoPayload.resourceName=~"/INSTANCE_NAME$"
Klicken Sie auf Abfrage ausführen. In den Abfrageergebnissen werden alle automatischen Reparaturversuche für die VM mit dem Grund der automatischen Reparatur in
protoPayload.status.message
angezeigt.Rufen Sie in der Google Cloud Console den Log-Explorer auf.
Geben Sie die folgende Abfrage in den Query Builder ein und verwenden Sie Ihre Projekt-ID und den Namen der Instanz.
(resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" AND protoPayload.methodName="compute.instances.repair.recreateInstance" AND protoPayload.resourceName=~"/INSTANCE_NAME$") OR (resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME")
Der erste Teil der Abfrage zeigt die Instanzreparaturvorgänge an, die darauf hinweisen, dass die Wiederherstellung durch die automatische Reparatur der MIG ausgelöst wurde, um die Instanz wieder zu reparieren. Im zweiten Teil der Abfrage werden alle Änderungen des Systemzustands der VM-Instanz angezeigt.
In den Abfrageergebnissen zeigt das Ereignis zum Ändern des Systemstatus, mit
detailedHealthState
kurz nach einem Reparaturvorgang aufHEALTHY
gesetzt, an, dass die automatische Reparatur erfolgreich war.Rufen Sie in der Google Cloud Console den Log-Explorer auf.
Geben Sie die folgende Abfrage in den Query Builder ein und verwenden Sie Ihre Projekt-ID und den Namen der Instanz.
(resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity" AND protoPayload.request.@type="type.googleapis.com/compute.instances.insert" AND operation.last="true" AND protoPayload.resourceName=~"/INSTANCE_NAME$") OR (resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME")
Der erste Teil der Abfrage zeigt den Abschluss des VM-Vorgangs "Insert" an. Im zweiten Teil werden alle Änderungen des Systemzustands für die VM angezeigt.
In den Abfrageergebnissen zeigt der Zeitstempel des Änderungsereignisses für den Systemzustand mit
detailedHealthState
gesetzt aufHEALTHY
kurz nach dem Einfügenvorgang die Zeit an, die für diese VM benötigt wird, um hochfahren.Wiederholen Sie die Schritte für einige weitere VMs, um einen besseren Näherungswert des Parameters für die anfängliche Verzögerung zu erhalten.
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.
Preise
Compute Engine verwendet Cloud Logging, um Logeinträge für Änderungen des Status der verwalteten Instanz zu generieren. Cloud Logging bietet Ihnen ein kostenloses Kontingent pro Monat. Ist dieses aufgebraucht, werden Logeinträge nach Datenvolumen abgerechnet. Weitere Informationen finden Sie in der Cloud Logging-Preisübersicht.
Sie können Logging-Kosten vermeiden, indem Sie die Änderungslogs des Systemzustand deaktivieren.
Logs für Änderungen des Systemzustand ansehen
Wenn die Änderungslogs für den Systemzustand aktiviert bleiben, schreibt Compute Engine einen Logeintrag in Plattformlogs, wenn sich der Systemstatus einer verwalteten Instanz ändert. Sie können diese Logs für ein Projekt, für eine bestimmte MIG oder für eine bestimmte verwaltete Instanz aufrufen.
Logs für ein Projekt oder eine MIG aufrufen
Verwenden Sie die Google Cloud Console, die gcloud CLI oder REST, um Logeinträge für ein Projekt oder eine bestimmte MIG aufzurufen.
Console
gcloud
Rufen Sie mit dem Befehl
gcloud logging read
die Logeinträge auf und lesen Sie sie.Verwenden Sie den folgenden Befehl, um alle Änderungslogs zu Systemstatus in Ihrem Projekt anzuzeigen:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*'\ --limit 10
Verwenden Sie den folgenden Befehl, um alle Änderungslogs zum Systemzustand einer bestimmten verwalteten Instanzgruppe aufzurufen:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"' \ --limit 10
Ersetzen Sie dabei Folgendes:
REST
Führen Sie zum Aufrufen der Änderungslogs zum Systemzustand eine
POST
-Anfrage an die Methodeentries.list
aus.Verwenden Sie den folgenden Befehl, um alle Änderungslogs zu Systemstatus in Ihrem Projekt anzuzeigen:
curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:*", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Verwenden Sie den folgenden Befehl, um die Änderungslogs für den System-Status einer bestimmten verwalteten Instanzgruppe aufzurufen:
curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name=MIG_NAME", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Ersetzen Sie dabei Folgendes:
Weitere Informationen zu den einzelnen Logeinträgen finden Sie unter Format von Logeinträgen.
Je nachdem, ob Sie die Logs archivieren, zur Analyse verwenden, an andere Anwendungen streamen oder eine Cloud Functions-Funktion auslösen möchten, können Sie die Logs an Ziele wie Cloud Storage, BigQuery oder Pub/Sub exportieren. Weitere Informationen zum Exportieren von Logs finden Sie in der Übersicht über Logexporte.
Logs für Änderungen des Systemzustand einer bestimmten VM aufrufen
Zum Aufrufen von Logeinträgen für eine bestimmte verwaltete Instanz verwenden Sie die Google Cloud Console, die gcloud CLI oder REST.
Console
gcloud
Rufen Sie mit dem Befehl
gcloud logging read
die Logeinträge auf und lesen Sie sie.Verwenden Sie den folgenden Befehl, um die Änderungslogs des Systemstatus einer verwalteten Instanz aufzurufen:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"' \ --limit 10
Ersetzen Sie dabei Folgendes:
REST
Führen Sie zum Aufrufen der Änderungslogs zum Systemzustand einer verwalteten Instanz eine
POST
-Anfrage an die Methodeentries.list
aus.curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:* AND labels.\"compute.googleapis.com/instance_name\"=\"INSTANCE_NAME\"", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Ersetzen Sie dabei Folgendes:
Format der Logeinträge
Logeinträge für den Änderung der Instanz-Systemstatus enthalten Informationen, die für das Monitoring und die Fehlerbehebung des Status Ihrer verwalteten Instanzen nützlich sind.
Die Logs werden in Plattformlogs mit dem Lognamen
instance_group_manager_events
geschrieben. Die Plattformlogs unterstützen Sie bei der Fehlerbehebung.logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events"
Logeinträge für Änderungslogeinträge enthalten folgende Informationen:
In jedem Änderungslogeintrag des Systemzustands enthält das Feld
jsonPayload.instanceHealthStateChange
die folgenden Informationen:Feld Beschreibung instance
URL für die Instanz, basierend auf der Stringprojekt-ID und dem Instanznamen. instanceWithId
URL für die Instanz, basierend auf der numerischen Projekt-ID und der Instanz-ID. ipAddress
IP-Adresse der Instanz, wie von der Systemdiagnose geprüft. network
URL der Netzwerkressource für diese Instanz basierend auf der Stringprojekt-ID und dem Netzwerknamen. networkWithId
URL der Netzwerkressource für diese Instanz basierend auf ihrer numerischen Projekt-ID und Netzwerk-ID. healthCheck
URL für die Systemdiagnose, die für die verwaltete Instanzgruppe konfiguriert ist. previousDetailedHealthState
Vorheriger Systemzustand der Instanz. Eine Liste der möglichen Status finden Sie unter Systemzustand. detailedHealthState
Aktueller Systemzustand der Instanz. Eine Liste der möglichen Status finden Sie unter Systemzustand. notificationTime
Zeitstempel für den Zeitpunkt der Änderung des Systemzustands. Boolesche Logfelder erscheinen normalerweise nur, wenn sie den Wert
true
haben. Wenn ein boolesches Feld einen Wertfalse
hat, erscheint dieses Feld nicht im Log.Für Logfelder wird eine UTF-8-Codierung erzwungen. Zeichen, bei denen es sich nicht um UTF-8-Zeichen handelt, werden durch Fragezeichen ersetzt.
Beispiel-Logeintrag
Das folgende Beispiel zeigt, wie sich der Systemzustand einer VM-Instanz von
HEALTHY
inUNHEALTHY
ändert:{ "logName": "projects/my-project/logs/compute.googleapis.com%2Finstance_group_manager_events", "resource": { "type": "gce_instance_group_manager", "labels": { "instance_group_manager_id": "3138236342290985981", "instance_group_manager_name": "my-mig", "project_id": "my-project", "location": "europe-west3" } }, "labels": { "compute.googleapis.com/instance_id": "6498902454451155884", "compute.googleapis.com/instance_location": "europe-west3-a", "compute.googleapis.com/instance_name": "my-mig-a" }, "timestamp": "2019-11-19T15:47:57.127Z", "severity": "INFO", "jsonPayload": { "@type": "type.googleapis.com/compute.InstanceGroupManagerEvent", "instanceHealthStateChange": { "instance": "projects/my-project/zones/europe-west3-a/instances/my-mig-a", "instanceWithId": "projects/123456/zones/europe-west3-a/instances/6498902454451155884", "ipAddress": "10.0.0.4", "network": "projects/my-project/global/networks/net-1", "networkWithId": "projects/123456/global/networks/456", "healthCheck": "projects/my-project/global/healthChecks/my-mig-health-check", "previousDetailedHealthState": "HEALTHY", "detailedHealthState": "UNHEALTHY", "notificationTime": "2019-11-19T15:47:56.444Z" } }, "receiveTimestamp": "2019-11-19T15:47:57.296439184Z" }
Anwendungsfälle
Sie können die Änderungslogs zum Systemzustand in den folgenden Monitoring- oder Debugging-Szenarien verwenden:
Änderungen des Systemzustands einer VM überwachen
Sie können überwachen, wie häufig sich der Systemzustand einer VM-Instanz ändert. Dazu erstellen Sie einen Messwert, der die Änderungen des Systemzustands dieser VM verfolgt.
So erstellen Sie den Messwert und überwachen die Änderungen:
Änderungen des Systemzustands aller VMs in einer MIG überwachen
Sie können Änderungen des Systemzustands aller verwalteten Instanzen überwachen. Erstellen Sie dazu einen Messwert, der die Änderungen des Systemzustands der verwalteten Instanzen erfasst.
So erstellen Sie den Messwert und überwachen die Änderungen:
VMs bestimmen, die häufig fehlerhaft sind
Sie können problematische VMs identifizieren, die häufig auf
UNHEALTHY
wechseln, indem Sie einen Messwert erstellen, der die Änderungen des Systemzustands aller VM-Instanzen in Ihrer MIG verfolgt und indem Sie den Messwert nach Instanzen gruppieren.So erstellen Sie den Messwert und gruppieren ihn nach Instanzen:
Die Instanzen mit den meisten Änderungen des Systemzustands nach zusammenfassen sind die am häufigsten fehlerhaften.
Ursachen für automatische Reparaturversuch prüfen
Um herauszufinden, warum der automatische Reparaturversuch verursacht wurde, filtern Sie Logs nach
repair
-Vorgängen für eine bestimmte VM-Instanz.Gehen Sie so vor, um die Reparaturvorgänge zu filtern:
Prüfen, ob die automatische Reparatur für eine VM erfolgreich war
Sie können feststellen, ob ein automatischer Reparaturversuch für eine VM-Instanz erfolgreich war. Dazu filtern Sie Logs für
repair
-Vorgängen und Systemstatusänderungen nach VM-Instanznamen. Wenn sich der Systemstatus der Instanz nach einem Reparaturvorgang inHEALTHY
geändert hat, wird ein entsprechendes Systemstatus-Änderungslog angezeigt. Folgen Sie der Anleitung:Wert für anfängliche Verzögerung einer MIG bestimmen
Mit dem Logging des Zustands der VM-Instanz lässt sich leichter ein geeigneter anfänglicher Verzögerungswert für die automatische Reparatur der MIG ermitteln. Mit Logs können Sie die Zeit zwischen dem Abschluss des Vorgangs
instances.insert
und dem Empfang des ersten fehlerfreien Signals für eine Reihe von Instanzen in einer Gruppe beobachten. Dieses Zeitintervall gibt an, wie lange Instanzen dauern, bis sie vollständig gestartet sind. Da einige VMs möglicherweise langsamer starten als andere, empfiehlt Google, der beobachteten Initialisierungszeit (vom Einfügevorgang bis zum fehlerfreien Zustand) einen Puffer hinzuzufügen, wenn die anfängliche Verzögerung in der Richtlinie für die automatische Reparatur angegeben wird.Um die Zeit zwischen dem Einfügevorgang einer Instanz und dem Erreichen des fehlerfreien Zustands der Instanz zu messen, führen Sie eine Abfrage nach Vorgängen vom Typ
insert
und Zustandsänderungslogs nach VM-Instanznamen durch. Verwenden Sie Zeitstempel aus beiden Vorgängen, um die Initialisierungszeit der Instanz zu berechnen. Folgen Sie der Anleitung: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).
-