Ereignistypen

In diesem Dokument werden die Ereignistypen beschrieben, die Sie in Ihren Diagrammen darstellen können. Ein Ereignis ist eine Aktivität wie ein Neustart oder ein Absturz, die sich auf den Betrieb eines Systems auswirkt. Das Anzeigen von Ereignissen kann Ihnen bei der Fehlerbehebung helfen, Daten aus verschiedenen Quellen in Beziehung zu setzen.

Für jeden Ereignistyp werden die folgenden Informationen bereitgestellt:

  • Eine Abfrage, die sich zur Verwendung mit dem Log-Explorer oder einer logbasierten Benachrichtigungsrichtlinie eignet.
  • Verweise auf allgemeine Informationen oder die Dokumentation zur Fehlerbehebung

Der folgende Screenshot zeigt ein Diagramm mit einer Annotation, wobei die Kurzinfo für die Annotation aktiviert ist:

Diagramm mit Hinweisen zu Ereignissen mit Warnungen und Informationen.

Für jede Annotation können mehrere Ereignisse aufgeführt sein. Im vorherigen Screenshot ist ein Ereignis für ein GKE-Deployment aufgeführt.

Informationen zum Anzeigen von Ereignissen in Ihren benutzerdefinierten Dashboards finden Sie unter Ereignisse auf einem Dashboard anzeigen.

Google Kubernetes Engine-Ereignistypen

In diesem Abschnitt werden die Google Kubernetes Engine-Ereignistypen beschrieben, die auf einem Dashboard angezeigt werden können.

Gepatchte oder aktualisierte GKE-Arbeitslast

Mit diesem Ereignistyp können Sie Fehler bei der Bereitstellung von GKE-Arbeitslasten oder Änderungen von Statefulset beheben, da diese Ereignisse mit Leistungsabfällen oder anderen Leistungsproblemen korrelieren können. Dieser Ereignistyp wird angezeigt, wenn eine Arbeitslast erstellt, aktualisiert oder gelöscht wird.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=k8s_cluster protoPayload.methodName=(
    io.k8s.apps.v1.deployments.create OR io.k8s.apps.v1.deployments.patch OR
    io.k8s.apps.v1.deployments.update OR io.k8s.apps.v1.deployments.delete OR
    io.k8s.apps.v1.deployments.deletecollection OR io.k8s.apps.v1.statefulsets.create OR
    io.k8s.apps.v1.statefulsets.patch OR io.k8s.apps.v1.statefulsets.update OR
    io.k8s.apps.v1.statefulsets.delete OR io.k8s.apps.v1.statefulsets.deletecollection OR
    io.k8s.apps.v1.daemonsets.create OR io.k8s.apps.v1.daemonsets.patch OR
    io.k8s.apps.v1.daemonsets.update OR io.k8s.apps.v1.daemonsets.delete OR
    io.k8s.apps.v1.daemonsets.deletecollection
)
-protoPayload.authenticationInfo.principalEmail="system:addon-manager"
-protoPayload.request.metadata.namespace=(kube-system OR gmp-system OR gmp-public OR gke-gmp-system)

Weitere Informationen finden Sie unter Übersicht über das Bereitstellen von Arbeitslasten und Beobachtbarkeitsmesswerte ansehen.

Absturz eines GKE-Pods

Mit diesem Ereignistyp können Sie GKE-Pod-Abstürze erkennen und beheben. Pod-Abstürze können durch Speicherausschöpfung oder einen Anwendungsfehler verursacht werden. Dieser Ereignistyp wird angezeigt, wenn eines der folgenden Ereignisse eintritt:

  • Pod-Status ist CrashLoopBackoff
  • Der Pod wird mit einem Exit-Code ungleich null beendet.
  • Der Pod wird mit einer Bedingung mit unzureichendem Arbeitsspeicher beendet.
  • Pod wurde entfernt.
  • Bereitschafts-/Aktivitätsprüfung schlägt fehl.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

(
    log_id(events)
    (
        (resource.type=k8s_pod jsonPayload.reason=(BackOff OR Unhealthy OR Killing OR Evicted)) OR
        (resource.type=k8s_node jsonPayload.reason=OOMKilling)
    )
    severity=WARNING
) OR (
    log_id(cloudaudit.googleapis.com%2Factivity) resource.type=k8s_cluster
    (protoPayload.methodName=io.k8s.core.v1.pods.eviction.create OR
        (protoPayload.methodName=io.k8s.core.v1.pods.delete
        protoPayload.response.status.containerStatuses.state.terminated.exitCode:*
        -protoPayload.response.status.containerStatuses.state.terminated.exitCode=0
        )
    )
)

Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung: CrashLoopBackOff.

GKE-Pod konnte nicht geplant werden

Mit diesem Ereignistyp können Sie Pods, die nicht auf einem Knoten geplant werden können, erkennen und Fehler beheben. Dieser Ereignistyp wird angezeigt, wenn die Pod-Planung aus einem der folgenden Gründe fehlschlägt:

  • Unzureichende Knoten-CPU.
  • Nicht genügend Knotenarbeitsspeicher.
  • Keine Knoten für Markierungen oder Toleranzen.
  • Knoten am maximalen Pod-Limit.
  • Knotenpool hat maximale Größe.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

(
    log_id(events) resource.type=k8s_pod jsonPayload.reason=(NotTriggerScaleUp OR FailedScheduling)
) OR (
    log_id(container.googleapis.com/cluster-autoscaler-visibility)
    resource.type=k8s_cluster jsonPayload.noDecisionStatus.noScaleUp:*
)

Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung: Pod nicht planbar.

GKE-Container konnte nicht erstellt werden

Mit diesem Ereignistyp können Sie Fehler beim Erstellen eines GKE-Containers identifizieren und beheben. Gründe wie fehlgeschlagene Volume-Bereitstellungen oder fehlgeschlagene Image-Abrufe können die Containererstellung verhindern.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

log_id(events) resource.type=k8s_pod jsonPayload.reason=(Failed OR FailedMount) severity=WARNING

Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung: ImagePullBackOff und ErrImagePull.

Pod-Autoscaling nach oben und unten skalieren

Dieses Ereignis gibt Ihnen Einblick in horizontale Pod-Autoscaling-Neuskalierungen, die die Anzahl der ausgeführten Pods für eine Arbeitslast erhöhen oder verringern. Weitere Informationen finden Sie unter Horizontales Pod-Autoscaling.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=k8s_cluster log_id(events)
jsonPayload.involvedObject.kind=HorizontalPodAutoscaler jsonPayload.reason=SuccessfulRescale

Cluster Autoscaler hoch- und herunterskalieren

Dieses Ereignis gibt Ihnen Aufschluss darüber, wann das Cluster-Autoscaling die Anzahl der Knoten in einem Knotenpool Ihres Clusters hoch- oder herunterskaliert. Weitere Informationen finden Sie unter Cluster-Autoscaling und Cluster-Autoscaling-Ereignisse ansehen.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

(resource.type=k8s_cluster log_id(container.googleapis.com%2Fcluster-autoscaler-visibility)
jsonPayload.decision:*)

Cluster erstellen und löschen

Dieses Ereignis verfolgt das Erstellen und Löschen von GKE-Cluster. Weitere Informationen finden Sie unter Autopilot-Cluster erstellen, Zonalen Cluster erstellen und Cluster löschen.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=gke_cluster log_id(cloudaudit.googleapis.com%2Factivity)
protoPayload.methodName=(
    google.container.v1alpha1.ClusterManager.CreateCluster OR
    google.container.v1beta1.ClusterManager.CreateCluster OR
    google.container.v1.ClusterManager.CreateCluster OR
    google.container.v1alpha1.ClusterManager.DeleteCluster OR
    google.container.v1beta1.ClusterManager.DeleteCluster OR
    google.container.v1.ClusterManager.DeleteCluster
)
operation.first=true

Clusteraktualisierung

Dieses Ereignis verfolgt GKE-Clusterupdates. Updates umfassen automatische und manuelle Versionsupgrades der Steuerungsebene sowie Änderungen der Clusterkonfiguration. Weitere Informationen finden Sie unter Manuelles Upgrade eines Clusters oder Knotenpools und Standardclusterupgrades.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=gke_cluster log_id(cloudaudit.googleapis.com%2Factivity)
(
    protoPayload.methodName=(
        google.container.internal.ClusterManagerInternal.PatchCluster OR
        google.container.internal.ClusterManagerInternal.UpdateClusterInternal OR
        google.container.internal.ClusterManagerInternal.UpdateCluster
    )
) OR (
    protoPayload.methodName=(
        google.container.v1beta1.ClusterManager.UpdateCluster OR
        google.container.v1.ClusterManager.UpdateCluster
    )
    operation.first=true
)
protoPayload.metadata.operationType=(UPGRADE_MASTER OR REPAIR_CLUSTER OR UPDATE_CLUSTER)

Knotenpoolupdate

Dieses Ereignis verfolgt Updates von GKE-Knotenpools. Updates umfassen automatische und manuelle Versionsupgrades von Knotenpools sowie Konfigurationsänderungen und Größenanpassungen. Weitere Informationen finden Sie unter Manuelles Upgrade eines Clusters oder Knotenpools und Standardclusterupgrades.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=gke_nodepool log_id(cloudaudit.googleapis.com%2Factivity)
(
    protoPayload.methodName=(
        google.container.internal.ClusterManagerInternal.UpdateClusterInternal OR
        google.container.internal.ClusterManagerInternal.RepairNodePool
    )
) OR (
    protoPayload.methodName=(
        google.container.v1beta1.ClusterManager.UpdateNodePool OR
        google.container.v1.ClusterManager.UpdateNodePool OR
        google.container.v1beta1.ClusterManager.SetNodePoolSize OR
        google.container.v1.ClusterManager.SetNodePoolSize OR
        google.container.v1beta1.ClusterManager.SetNodePoolManagement OR
        google.container.v1.ClusterManager.SetNodePoolManagement OR
        google.container.v1beta1.ClusterManager.SetNodePoolAutoscaling OR
        google.container.v1.ClusterManager.SetNodePoolAutoscaling
    )
    operation.first=true
)

Cloud Run-Ereignistypen

In diesem Abschnitt werden die Cloud Run-Ereignistypen beschrieben, die in einem Dashboard angezeigt werden können.

Cloud Run-Bereitstellung

Mit diesem Ereignistyp können Sie Cloud Run-Bereitstellungsfehler erkennen und beheben. Die Bereitstellung kann aufgrund von Problemen wie einem gelöschten Dienstkonto, falschen Berechtigungen, dem Import eines Containers oder einem Fehler beim Starten eines Containers fehlschlagen.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

log_id(cloudaudit.googleapis.com%2Factivity) resource.type=cloud_run_revision
protoPayload.methodName=google.cloud.run.v1.Services.ReplaceService

Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung: Probleme mit Cloud Run.

Cloud SQL-Ereignistypen

In diesem Abschnitt werden die Cloud SQL-Ereignistypen beschrieben, die in einem Dashboard angezeigt werden können.

Cloud SQL-Failover

Mit diesem Ereignistyp können Sie feststellen, wann manuelle oder automatische Failovers auftreten. Ein Failover tritt auf, wenn eine Instanz oder Zone ausfällt und die Stand-by-Instanz zur neuen primären Instanz wird. Während eines Failovers schaltet Cloud SQL automatisch auf die Bereitstellung von Daten aus der Standby-Instanz um.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=cloudsql_database
(
    (
        log_id(cloudaudit.googleapis.com%2Factivity)
        protoPayload.methodName=cloudsql.instances.failover
        operation.last=true
    ) OR (
        log_id(cloudaudit.googleapis.com%2Fsystem_event)
        protoPayload.methodName=cloudsql.instances.autoFailover
    )
)

Weitere Informationen finden Sie unter Über Hochverfügbarkeit.

Cloud SQL starten oder beenden

Mit diesem Ereignistyp können Sie feststellen, ob eine Cloud SQL-Instanz manuell gestartet, beendet oder neu gestartet wurde. Wenn eine Instanz beendet wird, werden auch alle Verbindungen, geöffneten Dateien und laufenden Vorgänge beendet.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

log_id(cloudaudit.googleapis.com%2Factivity) resource.type=cloudsql_database
protoPayload.methodName=cloudsql.instances.update operation.last=true
protoPayload.metadata.intents.intent=(START_INSTANCE OR STOP_INSTANCE)

Weitere Informationen finden Sie unter Hochverfügbarkeit und Instanzen starten, beenden und neu starten.

Cloud SQL-Speicher

Mit diesem Ereignistyp können Sie Ereignisse im Zusammenhang mit dem Cloud SQL-Speicher identifizieren, z. B. wann der Datenbankspeicher voll ist und wenn eine Datenbank aufgrund ausgeschöpfter Speicherkapazität heruntergefahren wird. Datenbanken mit ausgeschöpfter Speicherkapazität und ohne aktivierte automatische Speicherung werden möglicherweise heruntergefahren, um Datenbeschädigungen zu verhindern.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=cloudsql_database
(
    (
        (log_id(cloudsql.googleapis.com%2Fpostgres.log) OR log_id(cloudsql.googleapis.com%2Fmysql.err))
        textPayload=~"No space left on device"
        severity=(ERROR OR EMERGENCY)
    ) OR (
        log_id(cloudaudit.googleapis.com%2Fsystem_event)
        protoPayload.methodName=cloudsql.instances.databaseShutdownOutOfStorage
    )
)

Compute Engine-Ereignistypen

In diesem Abschnitt werden die Compute Engine-Ereignistypen beschrieben, die auf einem Dashboard angezeigt werden können.

Beendigung virtueller Maschinen

Mit diesem Ereignistyp können Sie Beendigungen von virtuellen Maschinen (VM) identifizieren, einschließlich manuell ausgelöster Zurücksetzungen und Stopps, Beendigungen von Gastbetriebssystemen, Wartungsbeendigungen und Hostfehlern.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=gce_instance
(
    (
        log_id(cloudaudit.googleapis.com%2Factivity)
        protoPayload.methodName=(
            beta.compute.instances.reset OR v1.compute.instances.reset OR
            beta.compute.instances.stop OR v1.compute.instances.stop
        )
        operation.first=true
    ) OR (
        log_id(cloudaudit.googleapis.com%2Fsystem_event)
        protoPayload.methodName=(
            compute.instances.hostError OR
            compute.instances.guestTerminate OR
            compute.instances.terminateOnHostMaintenance
        )
    )
)

Weitere Informationen finden Sie unter VM beenden und starten und Fehlerbehebung beim Herunterfahren und Neustarten von VMs.

Fehler beim Starten der VM-Instanz

Dieses Ereignis verfolgt Fehler beim Starten von Compute Engine-VM-Instanzen. Das Ereignis zeigt fehlgeschlagene Startfehler aufgrund von Ressourcenmangel, erschöpftem IP-Bereich, überschrittenem Kontingent oder Shielded VM-Integritätsfehlern an.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=gce_instance
(
    (
        log_id(cloudaudit.googleapis.com%2Factivity)
        protoPayload.methodName=(beta.compute.instances.insert OR v1.compute.instances.insert)
        protoPayload.status.message=(ZONE_RESOURCE_POOL_EXHAUSTED OR IP_SPACE_EXHAUSTED OR QUOTA_EXCEEDED)
    ) OR (
        log_id(compute.googleapis.com%2Fshielded_vm_integrity)
        severity="ERROR"
    )
)

Fehler mit Gastbetriebssystem der VM-Instanz

Dieses Ereignis verfolgt bestimmte Gastbetriebssystemfehler der Compute Engine-VM-Instanz, wie in den Logs der seriellen Konsole aufgezeichnet. Zu den erfassten Fehlern gehören volles Laufwerk, fehlgeschlagene Dateisystembereitstellung sowie Startfehler, durch die der Linux-Notfallmodus aktiviert wird.

Damit diese Ereignisse sichtbar sind, müssen Sie das Logging für die Ausgabe des seriellen Ports in Cloud Logging aktivieren. Dazu legen Sie in der VM oder in den Projektmetadaten serial-port-logging-enable=true fest. Weitere Informationen finden Sie unter Logging für die Ausgabe des seriellen Ports aktivieren und deaktivieren.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=gce_instance
log_id(serialconsole.googleapis.com%2Fserial_port_1_output)
textPayload=~("No space left on device" OR "Failed to mount" OR "You are in emergency mode")

Update für verwaltete Instanzgruppe

Mit diesem Ereignistyp können Sie leichter feststellen, wann Ihre verwaltete Instanzgruppe aktualisiert wurde. Beispiel: VMs wurden hinzugefügt oder entfernt oder die Größenbeschränkung wurde aktualisiert. Weitere Informationen finden Sie unter Aktualisierungen der VM-Konfiguration in einer MIG automatisch anwenden.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=gce_instance_group_manager
log_id(cloudaudit.googleapis.com%2Factivity) operation.first=true
protoPayload.methodName=(beta.compute.instanceGroupManagers.patch OR v1.compute.instanceGroupManagers.patch)

Weitere Informationen finden Sie unter Mit verwalteten Instanzen arbeiten und Fehlerbehebung bei verwalteten Instanzgruppen.

Autoscaling verwalteter Instanzgruppen

Dieses Ereignis verfolgt Skalierungsentscheidungen, die vom Autoscaling einer verwalteten Instanzgruppe getroffen werden. Diese Entscheidungen können Änderungen an der empfohlenen Größe einer verwalteten Instanzgruppe oder eine Statusänderung des Autoscalings selbst umfassen. Weitere Informationen finden Sie unter Autoscaling von Instanzgruppen.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

resource.type=autoscaler log_id(cloudaudit.googleapis.com%2Fsystem_event)
protoPayload.methodName=(compute.autoscalers.resize OR compute.autoscalers.changeStatus)

Ereignistypen für Verfügbarkeitsdiagnosen

In diesem Abschnitt werden die Ereignistypen für Verfügbarkeitsdiagnosen beschrieben, die in einem Dashboard angezeigt werden können.

Verfügbarkeitsdiagnose fehlgeschlagen

Mit diesem Ereignistyp können Sie fehlgeschlagene Verfügbarkeitsdiagnosen in konfigurierten Regionen identifizieren.

Wenn Sie für diesen Ereignistyp eine logbasierte Benachrichtigungsrichtlinie erstellen möchten, verwenden Sie die folgende Abfrage:

log_id(monitoring.googleapis.com%2Fuptime_checks)
(
  resource.type=uptime_url OR resource.type=gce_instance OR
  resource.type=gae_app OR resource.type=k8s_service OR
  resource.type=servicedirectory_service OR resource.type=cloud_run_revision OR
  resource.type=aws_ec2_instance OR resource.type=aws_elb_load_balancer
)
labels.uptime_result_type=UptimeCheckResult
severity=NOTICE

Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung bei synthetischen Monitoren und Verfügbarkeitsdiagnosen.

Nächste Schritte

Informationen zum Anzeigen von Ereignissen in Ihren Dashboards finden Sie unter Ereignisse auf einem Dashboard anzeigen.