Tipi di evento

Questo documento descrive i tipi di eventi che puoi visualizzare nei grafici. Un evento è un'attività, ad esempio un riavvio o un arresto anomalo, che influisce sul funzionamento di un sistema. La visualizzazione degli eventi può aiutarti a correlare i dati provenienti da origini diverse quando stai risolvendo un problema.

Per ogni tipo di evento vengono fornite le seguenti informazioni:

  • Una query adatta per l'utilizzo con Esplora log o con un criterio di avviso basato su log.
  • Riferimenti a informazioni generali o alla documentazione per la risoluzione dei problemi.

Lo screenshot seguente mostra un grafico che mostra un'annotazione, con la descrizione comando per l'annotazione attivata:

Grafico che mostra annotazioni di eventi informativi e di avviso.

Ogni annotazione può elencare più eventi. Nello screenshot precedente viene elencato un evento per un deployment GKE.

Per scoprire come mostrare gli eventi nelle tue dashboard personalizzate, consulta Mostrare gli eventi in una dashboard.

Tipi di eventi Google Kubernetes Engine

Questa sezione descrive i tipi di eventi Google Kubernetes Engine che possono essere visualizzati su una dashboard.

Carico di lavoro GKE con patch o aggiornato

Questo tipo di evento consente di risolvere i problemi relativi al deployment dei carichi di lavoro o alle modifiche degli statefulset di GKE, poiché questi eventi possono essere correlati a regressioni delle prestazioni o altri problemi di prestazioni. Questo tipo di evento viene mostrato quando un carico di lavoro viene creato, aggiornato o eliminato.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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)

Per ulteriori informazioni, consulta Panoramica del deployment dei carichi di lavoro e Visualizzare le metriche di osservabilità.

Arresto anomalo di un pod GKE

Questo tipo di evento consente di identificare e risolvere gli arresti anomali dei pod GKE. Gli arresti anomali dei pod possono essere causati da esaurimento della memoria o da un errore dell'applicazione. Questo tipo di evento viene mostrato quando si verifica una delle seguenti condizioni:

  • Lo stato del pod è CrashLoopBackoff
  • Il pod termina con un codice di uscita diverso da zero.
  • Il pod termina con una condizione di esaurimento della memoria.
  • Il pod è stato rimosso.
  • Il probe di idoneità/attività ha esito negativo.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

(
    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
        )
    )
)

Per informazioni sulla risoluzione dei problemi, consulta Risoluzione dei problemi: CrashLoopBackOff.

Impossibile pianificare un pod GKE

Questo tipo di evento ti aiuta a identificare e risolvere i problemi relativi ai pod che non possono essere pianificati su un nodo. Questo tipo di evento viene mostrato quando la pianificazione dei pod non va a buon fine per uno dei seguenti motivi:

  • CPU del nodo insufficiente.
  • Memoria del nodo insufficiente.
  • Nessun nodo per incompatibilità o tolleranze.
  • Nodi al limite massimo di pod.
  • Pool di nodi alla dimensione massima.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

(
    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:*
)

Per informazioni sulla risoluzione dei problemi, consulta Risoluzione dei problemi: pod non pianificabile.

Impossibile creare un container GKE

Questo tipo di evento consente di identificare e risolvere gli errori per la creazione di un container GKE. La creazione dei container potrebbe non riuscire per motivi come montaggi dei volumi non riusciti o pull delle immagini non riusciti.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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

Per informazioni sulla risoluzione dei problemi, vedi Risoluzione dei problemi: ImagePullBackOff ed ErrImagePull.

Scale up e scale down del gestore della scalabilità automatica dei pod

Questo evento ti offre visibilità sui riscalamenti del gestore della scalabilità automatica orizzontale dei pod, che aumentano o diminuiscono il numero di pod in esecuzione per un carico di lavoro. Per saperne di più, consulta Scalabilità automatica orizzontale dei pod.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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

Scale up e scale down del gestore della scalabilità automatica dei cluster

Questo evento ti offre visibilità su quando il gestore della scalabilità automatica dei cluster fa lo scale up o lo scale down del numero di nodi in un pool di nodi del tuo cluster. Per ulteriori informazioni, consulta le sezioni Informazioni sulla scalabilità automatica dei cluster e Visualizzazione degli eventi di scalabilità automatica dei cluster.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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

Creazione ed eliminazione del cluster

Questo evento monitora le azioni di creazione ed eliminazione del cluster GKE. Per maggiori informazioni, consulta Creare un cluster Autopilot, Creare un cluster a livello di zona ed Eliminare un cluster.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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

Aggiornamento del cluster

Questo evento monitora gli aggiornamenti del cluster GKE. Gli aggiornamenti includono upgrade automatici della versione del piano di controllo, nonché upgrade manuali e modifiche alla configurazione del cluster. Per ulteriori informazioni, consulta Upgrade manuale di un cluster o pool di nodi ed Upgrade standard del cluster.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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)

Aggiornamento del pool di nodi

Questo evento monitora gli aggiornamenti del pool di nodi GKE. Gli aggiornamenti includono upgrade automatici delle versioni dei pool di nodi nonché upgrade manuali, modifiche alla configurazione e ridimensionamenti. Per ulteriori informazioni, consulta Upgrade manuale di un cluster o pool di nodi ed Upgrade standard del cluster.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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
)

Tipi di eventi Cloud Run

Questa sezione descrive i tipi di eventi Cloud Run che possono essere visualizzati su una dashboard.

Deployment di Cloud Run

Questo tipo di evento consente di identificare e risolvere gli errori di deployment di Cloud Run. Il deployment potrebbe non riuscire per motivi quali l'eliminazione dell'account di servizio, le autorizzazioni errate, l'importazione di un container non riuscita o l'avvio di un container non riuscito.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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

Per informazioni sulla risoluzione dei problemi, consulta Risoluzione dei problemi: problemi di Cloud Run.

Tipi di eventi Cloud SQL

Questa sezione descrive i tipi di eventi Cloud SQL che possono essere visualizzati su una dashboard.

Failover di Cloud SQL

Questo tipo di evento ti aiuta a identificare quando si verificano failover manuali o automatici. Un failover si verifica quando si verifica un errore di istanza o zona e l'istanza in standby diventa la nuova istanza principale. Durante un failover, Cloud SQL passa automaticamente alla gestione dei dati dall'istanza in standby.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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
    )
)

Per saperne di più, consulta Informazioni sull'alta disponibilità.

Avvio o arresto di Cloud SQL

Questo tipo di evento ti aiuta a identificare un'istanza Cloud SQL che è stata avviata, arrestata o riavviata manualmente. Quando un'istanza viene arrestata, vengono arrestate anche tutte le connessioni, i file aperti e le operazioni in esecuzione.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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)

Per ulteriori informazioni, consulta Informazioni sull'alta disponibilità e Avviare, arrestare e riavviare le istanze.

Archiviazione Cloud SQL

Questo tipo di evento consente di identificare gli eventi correlati all'archiviazione Cloud SQL, tra cui quando lo spazio di archiviazione del database è esaurito e quando un database viene arrestato per aver raggiunto la capacità di archiviazione. I database che raggiungono la capacità di archiviazione e che non hanno l'archiviazione automatica abilitata potrebbero essere arrestati per evitare il danneggiamento dei dati.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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
    )
)

Tipi di eventi Compute Engine

Questa sezione descrive i tipi di eventi di Compute Engine che possono essere visualizzati in una dashboard.

Terminazioni delle macchine virtuali

Questo tipo di evento consente di identificare le terminazioni delle macchine virtuali (VM), inclusi gli arresti e le reimpostazioni attivati manualmente, le terminazioni del sistema operativo guest, quelle di manutenzione e gli errori dell'host.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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
        )
    )
)

Per ulteriori informazioni, consulta Arresta e avvia una VM e Risoluzione dei problemi di arresti e riavvii delle VM.

Errore di avvio dell'istanza VM

Questo evento monitora gli errori di avvio delle istanze VM di Compute Engine. L'evento mostra gli errori di avvio dovuti a problemi di disponibilità, esaurimento dello spazio IP, quota superata o errori di integrità della Shielded VM.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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"
    )
)

Errore del sistema operativo guest dell'istanza VM

Questo evento monitora errori specifici del sistema operativo guest delle istanze VM di Compute Engine, come registrati dai log della console seriale. Gli errori rilevati riguardano disco pieno, montaggio del file system non riuscito e problemi di avvio che attivano la modalità di emergenza di Linux.

Affinché questi eventi siano visibili, devi abilitare il logging dell'output della porta seriale in Cloud Logging impostando serial-port-logging-enable=true nella VM o nei metadati del progetto. Per maggiori informazioni, consulta Abilitazione e disabilitazione del logging dell'output della porta seriale.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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")

Aggiornamento del gruppo di istanze gestite

Questo tipo di evento ti consente di identificare quando il gruppo di istanze gestite è stato aggiornato. Ad esempio, sono state aggiunte o rimosse VM oppure aggiornato il limite delle dimensioni. Per maggiori informazioni, consulta Applicare automaticamente gli aggiornamenti della configurazione delle VM in un gruppo di istanze gestite.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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)

Per ulteriori informazioni, vedi Utilizzare le istanze gestite e Risoluzione dei problemi con i gruppi di istanze gestite.

Gestore della scalabilità automatica dei gruppi di istanze gestite

Questo evento monitora le decisioni di scalabilità prese dal gestore della scalabilità automatica di un gruppo di istanze gestite. Queste decisioni potrebbero includere modifiche alle dimensioni consigliate per un gruppo di istanze gestite o una modifica dello stato del gestore della scalabilità automatica stesso. Per maggiori informazioni, consulta Scalabilità automatica dei gruppi di istanze.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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

Tipi di eventi dei controlli di uptime

Questa sezione descrive i tipi di eventi dei controlli di uptime che possono essere visualizzati in una dashboard.

Controllo di uptime non superato

Questo tipo di evento consente di identificare gli errori dei controlli di uptime nelle regioni configurate.

Se vuoi creare un criterio di avviso basato su log per questo tipo di evento, utilizza la query seguente:

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

Per informazioni sulla risoluzione dei problemi, vedi Risolvere i problemi relativi ai monitor sintetici e ai controlli di uptime.

Passaggi successivi

Per scoprire come visualizzare gli eventi nelle dashboard, consulta Mostrare gli eventi in una dashboard.