Tipi di evento

Questo documento descrive i tipi di eventi che possono essere mostrati come annotazioni sui grafici. Un evento è un'attività, ad esempio un riavvio o un arresto anomalo, che influisce il funzionamento di un sistema. Mostrare gli eventi può aiutarti a correlare da fonti diverse durante la risoluzione dei problemi un problema.

Per ogni evento vengono forniti link a riferimenti o documentazione per la risoluzione dei problemi, nonché informazioni su come eseguire query sull'evento. Ad esempio, quando gli eventi vengono identificati analizzando i log, viene fornita una query adatta per l'utilizzo con Logs Explorer o con un criterio di avviso basato su log.

Per aggiungere annotazioni ai grafici, configura la dashboard o la scheda che li mostra. Ad esempio, puoi configurare la maggior parte delle dashboard elencate nella pagina Dashboard della console Google Cloud per mostrare gli eventi. Analogamente, puoi configurare alcune schede Osservabilità specifiche per i servizi, come quelle per Compute Engine e Google Kubernetes Engine, per mostrare gli eventi. Per informazioni di configurazione, consulta Mostrare gli eventi in una dashboard.

Il seguente screenshot illustra un grafico che mostra diversi di eventi identificati analizzando le voci di log e Evento Service Health:

Grafico che mostra annotazioni relative ad avvisi e eventi informativi.

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

Tipi di eventi di avviso

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

Avviso aperto

Gli eventi aperti dagli avvisi ti aiutano a correlare i dati dei grafici a quando incidenti aperti. Un evento di apertura dell'avviso viene visualizzato quando si verificano le seguenti condizioni:

  • L'incidente corrispondente è stato aperto durante l'intervallo di tempo specificato dalla dashboard.
  • L'incidente corrispondente non è chiuso.

Non vengono mostrate annotazioni per gli incidenti aperti al di fuori dell'intervallo di tempo specificato dalla dashboard. Analogamente, L'evento di avviso aperto non viene mostrato all'apertura dell'incidente corrispondente e successivamente chiuso nell'intervallo di tempo specificato dalla dashboard.

La descrizione comando per un evento di apertura dell'avviso include quanto segue:

  • Nome del criterio di avviso.
  • Informazioni di riepilogo, se disponibili. Ad esempio, queste informazioni potrebbero includere la soglia e il valore misurato.
  • La durata dell'incidente e la data e l'ora in cui è stato aperto.
  • Etichette di metriche ed risorse. La descrizione comando potrebbe non mostrare tutte le etichette.
  • Un pulsante Visualizza che apre la pagina Dettagli dell'incidente.

Tipi di eventi di Google Kubernetes Engine

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

Carico di lavoro GKE con patch o aggiornato

Questo tipo di evento ti aiuta a risolvere i problemi relativi al deployment del carico di lavoro GKE o alle modifiche di StatefulSet, poiché questi eventi possono essere correlati a regressioni delle prestazioni o ad 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 seguente query:

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 la panoramica del deployment dei carichi di lavoro e Visualizzare le metriche di osservabilità.

Arresto anomalo di un pod GKE

Questo tipo di evento ti aiuta a identificare e risolvere i problemi relativi agli 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 crea un criterio di avviso basato su log per questo tipo di evento, utilizza la seguente query:

(
    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/activity) 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, vedi Risoluzione dei problemi: CrashLoopBackOff.

Errore durante la pianificazione di 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 contaminazioni o tolleranze.
  • Nodi al limite massimo di pod.
  • Pool di nodi con dimensioni massime.

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

(
    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 creare un container GKE. La creazione dei container potrebbe non riuscire per motivi quali montaggi dei volumi non riusciti o errori di pull delle immagini.

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

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

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

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

Questo evento ti offre visibilità sulle riscalazioni di Horizontal Pod Autoscaler, aumentare o diminuire il numero di pod in esecuzione per un carico di lavoro. Per maggiori informazioni, consulta Scalabilità automatica orizzontale dei pod.

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

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 consente di sapere quando il gestore della scalabilità automatica dei cluster aumenta o diminuisce il numero di nodi in un pool di nodi del tuo cluster. Per ulteriori informazioni, consulta Informazioni sulla scalabilità automatica dei cluster e Visualizzazione degli eventi di scalabilità automatica del cluster.

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

(resource.type=k8s_cluster log_id(container.googleapis.com/cluster-autoscaler-visibility)
jsonPayload.decision:*)

Creazione ed eliminazione di cluster

Questo evento monitora la creazione e l'eliminazione del cluster GKE azioni. Per ulteriori informazioni, vedi Crea un cluster Autopilot, Creazione di un cluster di zona e Eliminazione di un cluster.

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

resource.type=gke_cluster log_id(cloudaudit.googleapis.com/activity)
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 delle versioni del piano di controllo, nonché upgrade manuali modifiche alla configurazione del cluster. Per ulteriori informazioni, vedi Upgrade manuale di un cluster o di un pool di nodi e gli upgrade dei cluster standard.

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

resource.type=gke_cluster log_id(cloudaudit.googleapis.com/activity)
(
    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 un pool di nodi automatico oltre ad upgrade manuali, modifiche alla configurazione e ridimensionamenti. Per ulteriori informazioni, vedi Upgrade manuale di un cluster o di un pool di nodi e gli upgrade dei cluster standard.

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

resource.type=gke_nodepool log_id(cloudaudit.googleapis.com/activity)
(
    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 in una dashboard.

Deployment di Cloud Run

Questo tipo di evento ti aiuta a identificare e risolvere i problemi di deployment di Cloud Run. Il deployment potrebbe non riuscire per diversi motivi account di servizio eliminato, autorizzazioni errate, importazione un container non è riuscito 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 seguente query:

log_id(cloudaudit.googleapis.com/activity) 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 in una dashboard.

Failover di Cloud SQL

Questo tipo di evento consente di identificare quando si verificano failover manuali o automatici. Un failover si verifica in caso di errore di un'istanza o una 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 crea un criterio di avviso basato su log per questo tipo di evento, utilizza la seguente query:

resource.type=cloudsql_database
(
    (
        log_id(cloudaudit.googleapis.com/activity)
        protoPayload.methodName=cloudsql.instances.failover
        operation.last=true
    ) OR (
        log_id(cloudaudit.googleapis.com/system_event)
        protoPayload.methodName=cloudsql.instances.autoFailover
    )
)

Per ulteriori informazioni, vedi Informazioni sull'alta disponibilità.

Avvio o arresto di Cloud SQL

Questo tipo di evento consente di identificare che un'istanza Cloud SQL è stata è stato avviato, arrestato o riavviato. 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 seguente query:

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

Per ulteriori informazioni, vedi Informazioni sull'alta disponibilità e Avvia, arresta e riavvia le istanze.

Spazio di archiviazione di Cloud SQL

Questo tipo di evento ti aiuta a identificare gli eventi relativi allo spazio di archiviazione di Cloud SQL, tra cui quando lo spazio di archiviazione del database è esaurito e quando un database viene arrestato perché ha raggiunto la capacità di archiviazione. Database alla capacità di archiviazione e senza l'archiviazione automatica abilitata potrebbe essere arrestata per evitare il danneggiamento dei dati.

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

resource.type=cloudsql_database
(
    (
        (log_id(cloudsql.googleapis.com/postgres.log) OR log_id(cloudsql.googleapis.com/mysql.err))
        textPayload=~"No space left on device"
        severity=(ERROR OR EMERGENCY)
    ) OR (
        log_id(cloudaudit.googleapis.com/system_event)
        protoPayload.methodName=cloudsql.instances.databaseShutdownOutOfStorage
    )
)

Tipi di eventi Compute Engine

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

Terminazioni delle macchine virtuali

Questo tipo di evento ti aiuta a identificare le terminazioni delle macchine virtuali (VM), tra cui reimpostazioni e interruzioni attivate manualmente, chiusure del sistema operativo guest, terminazioni delle attività di manutenzione ed errori dell'host.

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

resource.type=gce_instance
(
    (
        log_id(cloudaudit.googleapis.com/activity)
        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/system_event)
        protoPayload.methodName=(
            compute.instances.hostError OR
            compute.instances.guestTerminate OR
            compute.instances.terminateOnHostMaintenance
        )
    )
)

Per ulteriori informazioni, vedi Arresta e avvia una VM e Risoluzione dei problemi di arresto e riavvio delle VM.

Errore di avvio dell'istanza VM

Questo evento monitora gli errori di avvio delle istanze VM di Compute Engine. L'evento mostra errori di avvio dovuti a 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 seguente query:

resource.type=gce_instance
(
    (
        log_id(cloudaudit.googleapis.com/activity)
        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/shielded_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 mancato 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 ulteriori informazioni, consulta Abilitare e disattivare il logging dell'output della porta seriale.

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

resource.type=gce_instance
log_id(serialconsole.googleapis.com/serial_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 aiuta a identificare quando il gruppo di istanze gestite (MIG) è stato aggiornato. Ad esempio, le VM sono state aggiunte o rimosse, o se il limite è stato aggiornato. Per ulteriori informazioni, consulta la pagina relativa all'applicazione automatica degli aggiornamenti di configurazione delle VM in un gruppo di istanze gestite.

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

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

Per ulteriori informazioni, consulta Utilizzare le istanze gestite e Risolvere i problemi relativi ai 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. Per ulteriori informazioni, vedi Gruppi di istanze con scalabilità automatica.

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

resource.type=autoscaler log_id(cloudaudit.googleapis.com/system_event)
protoPayload.methodName=(compute.autoscalers.resize OR compute.autoscalers.changeStatus)

Tipi di eventi di Personalized Service Health

Questa sezione descrive i tipi di stato del servizio personalizzato che possono essere visualizzati in una dashboard.

Incidente Google Cloud

Durante la risoluzione dei problemi, ti consigliamo di distinguere tra i guasti causati da un servizio di tua proprietà e quelli causati da un servizio Google Cloud che utilizzi. Quando attivi Annotazioni Personalized Service Health su una dashboard puoi visualizzare le interruzioni o gli eventi relativi allo stato del servizio, per i servizi Google Cloud. Per un elenco di servizi integrati con Service Health, vedi Prodotti Google supportati.

A differenza di altri tipi di eventi, gli incidenti di Google Cloud non vengono identificati analizzando le voci di log. Se vuoi ricevere una notifica quando si verificano questi eventi, crea un criterio di avviso. Puoi selezionare un criterio di avviso preconfigurato utilizzando le opzioni disponibili nella pagina Dashboard di Service Health. Per ulteriori informazioni, consulta la sezione Guida rapida: configurazione di un avviso.

Monitoring identifica gli incidenti di Google Cloud inviando una richiesta all'API Service Health, quindi filtrando a quegli incidenti che sono rilevanti per i dati visualizzati. La richiesta ha la seguente configurazione:

  • L'enumerazione Relevance è impostata su RELATED, IMPACTED o PARTIALLY_RELATED. Questa limitazione garantisce che solo la dashboard e visualizza gli eventi per i servizi Google Cloud in uso nel progetto Google Cloud.

  • L'enumerazione DetailedState non è impostata su FALSE_POSITIVE.

Le annotazioni di Service Health vengono visualizzate con un'ora di inizio e una durata. La durata viene visualizzata cambiando il colore dello sfondo del grafico. La descrizione comando di un incidente Google Cloud identifica quanto segue:

  • Il servizio Google Cloud.
  • Indica se l'incidente è aperto o risolto.
  • Data e ora di inizio dell'evento.
  • Chip che mostrano il numero di sedi e prodotti interessati. Per elencare i prodotti o le località interessati, posiziona il cursore sul chip corrispondente.
  • Un pulsante Visualizza che, se selezionato, apre la pagina dei dettagli dell'incidente.

Per informazioni su come inviare una richiesta all'API Service Health, consulta Verificare la presenza di interruzioni con Service Health.

Per informazioni sulla risoluzione dei problemi, vedi Risolvi i problemi comuni di Service Health.

Tipi di eventi dei controlli di uptime

Questa sezione descrive i tipi di eventi del controllo di uptime che possono essere mostrati su un Fitbit.com.

Errore del controllo di uptime

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

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

log_id(monitoring.googleapis.com/uptime_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 monitoraggi sintetici e ai controlli di uptime.

Passaggi successivi

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