Types d'événement

Ce document décrit les types d'événements pouvant être affichés sous forme d'annotations sur les graphiques. Un événement est une activité qui affecte le fonctionnement d'un système, comme un redémarrage ou un plantage. L'affichage d'événements peut vous aider à corréler des données provenant de différentes sources lorsque vous résolvez un problème.

Pour chaque événement, des liens vers les références ou la documentation de dépannage sont fournis, ainsi que des informations sur la manière d'interroger l'événement. Par exemple, lorsque des événements sont identifiés par l'analyse de vos journaux, une requête adaptée à l'explorateur de journaux ou à une règle d'alerte basée sur les journaux est fournie.

Pour ajouter des annotations à vos graphiques, vous devez configurer le tableau de bord ou l'onglet qui affiche le graphique. Par exemple, vous pouvez configurer la plupart des tableaux de bord répertoriés sur la page Tableaux de bord de la console Google Cloud pour afficher des événements. De même, vous pouvez configurer certains onglets Observabilité spécifiques au service, tels que ceux de Compute Engine et Google Kubernetes Engine, pour afficher des événements. Pour plus d'informations sur la configuration, consultez la section Afficher les événements sur un tableau de bord.

La capture d'écran suivante illustre un graphique présentant plusieurs événements identifiés lors de l'analyse des entrées de journal et un événement Service Health:

Graphique affichant les avertissements et les annotations d'événements informatifs.

Chaque annotation peut répertorier plusieurs événements. La capture d'écran précédente montre un événement de déploiement GKE.

Types d'événements d'alerte

Cette section décrit les types d'événements d'alerte pouvant être affichés sur un tableau de bord.

Alerte ouverte

Les événements d'alerte ouverts vous permettent de corréler vos données représentées graphiquement avec l'ouverture d'incidents. Un événement d'ouverture d'alerte s'affiche lorsque les conditions suivantes sont remplies:

  • L'incident correspondant a été ouvert au cours de la période spécifiée par le tableau de bord.
  • L'incident correspondant n'est pas clôturé.

Aucune annotation créée pour les incidents ouverts en dehors de la période spécifiée par le tableau de bord n'est affichée. De même, un événement d'ouverture d'alerte ne s'affiche pas lorsque l'incident correspondant a été ouvert, puis fermé au cours de la période spécifiée par le tableau de bord.

L'info-bulle d'un événement d'ouverture d'alerte inclut les éléments suivants:

  • Nom de la règle d'alerte.
  • Récapitulatif, lorsque ces informations sont disponibles. Par exemple, ces informations peuvent inclure le seuil et la valeur mesurée.
  • la durée de l'incident, ainsi que la date et l'heure d'ouverture de l'incident ;
  • Étiquettes de métriques et de ressources Il est possible que l'info-bulle n'affiche pas tous les libellés.
  • Un bouton Afficher qui ouvre la page Détails de l'incident

Types d'événements Google Kubernetes Engine

Cette section décrit les types d'événements Google Kubernetes Engine pouvant être affichés sur un tableau de bord.

Charge de travail GKE corrigée ou mise à jour

Ce type d'événement vous aide à résoudre les problèmes de déploiement de charge de travail GKE ou de modification du StatefulSet, car ces événements peuvent être corrélés à des régressions de performances ou à d'autres problèmes de performances. Ce type d'événement s'affiche lorsqu'une charge de travail est créée, mise à jour ou supprimée.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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)

Pour en savoir plus, consultez les pages Présentation du déploiement de charges de travail et Afficher les métriques d'observabilité.

Plantage d'un pod GKE

Ce type d'événement vous aide à identifier et à résoudre les plantages de pods GKE. Les plantages d'un pod peuvent être causés par un épuisement de la mémoire ou par une erreur d'application. Ce type d'événement s'affiche dans les cas suivants:

  • L'état du pod est CrashLoopBackoff
  • Le pod se termine par un code de sortie différent de zéro.
  • Le pod se termine par une condition de mémoire insuffisante.
  • Le pod est évincé.
  • Échec de la vérification d'aptitude/d'activité.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Pour obtenir des informations de dépannage, consultez la section Dépannage: CrashLoopBackOff.

Échec de la programmation d'un pod GKE

Ce type d'événement vous aide à identifier les pods qui ne peuvent pas être programmés sur un nœud et à résoudre les problèmes associés. Ce type d'événement s'affiche lorsque la planification des pods échoue pour l'une des raisons suivantes:

  • Processeur de nœud insuffisant.
  • Mémoire de nœud insuffisante.
  • Aucun nœud pour les rejets ou les tolérances.
  • Nœuds à la limite maximale de pods.
  • Pool de nœuds à la taille maximale.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Pour obtenir des informations de dépannage, consultez la section Résoudre le problème: pod non programmable.

Échec de la création d'un conteneur GKE

Ce type d'événement vous aide à identifier et à résoudre les échecs de création d'un conteneur GKE. La création du conteneur peut échouer pour différentes raisons, telles que l'échec de l'installation de volumes ou de l'extraction d'images.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Pour obtenir des informations de dépannage, consultez la section Résoudre les problèmes: ImagePullBackOff et ErrImagePull.

Scaling de l'autoscaler de pods à la hausse ou à la baisse

Cet événement vous offre une visibilité sur les redimensionnements de l'Autoscaler horizontal de pods, qui augmentent ou diminuent le nombre de pods en cours d'exécution pour une charge de travail. Pour en savoir plus, consultez la section Autoscaling horizontal des pods.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Scaling de l'autoscaler de cluster à la hausse ou à la baisse

Cet événement vous permet de savoir à quel moment l'autoscaler de cluster effectue un scaling à la hausse ou à la baisse du nombre de nœuds dans un pool de nœuds de votre cluster. Pour en savoir plus, consultez les pages À propos de l'autoscaling de cluster et Afficher les événements de l'autoscaler de cluster.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Création et suppression d'un cluster

Cet événement suit les actions de création et de suppression de clusters GKE. Pour en savoir plus, consultez les pages Créer un cluster Autopilot, Créer un cluster zonal et Supprimer un cluster.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Mise à jour du cluster

Cet événement permet de suivre les mises à jour de clusters GKE. Les mises à jour incluent les mises à niveau automatiques de la version du plan de contrôle, ainsi que les mises à niveau manuelles et les modifications de configuration du cluster. Pour en savoir plus, consultez les pages Mettre à niveau manuellement un cluster ou un pool de nœuds et Mettre à niveau un cluster standard.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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)

Mise à jour du pool de nœuds

Cet événement permet de suivre les mises à jour de pools de nœuds GKE. Les mises à jour incluent les mises à niveau automatiques de la version des pools de nœuds ainsi que les mises à niveau manuelles, les modifications de configuration et les redimensionnements. Pour en savoir plus, consultez les pages Mettre à niveau manuellement un cluster ou un pool de nœuds et Mettre à niveau un cluster standard.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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
)

Types d'événements Cloud Run

Cette section décrit les types d'événements Cloud Run pouvant être affichés sur un tableau de bord.

Déploiement Cloud Run

Ce type d'événement vous aide à identifier et à résoudre les échecs de déploiement Cloud Run. Le déploiement peut échouer pour des raisons telles que la suppression d'un compte de service, des autorisations incorrectes, l'échec de l'importation d'un conteneur ou l'échec du démarrage d'un conteneur.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Pour obtenir des informations de dépannage, consultez la page Résoudre les problèmes liés à Cloud Run.

Types d'événements Cloud SQL

Cette section décrit les types d'événements Cloud SQL pouvant être affichés sur un tableau de bord.

Basculement Cloud SQL

Ce type d'événement vous aide à identifier quand des basculements manuels ou automatiques se produisent. Un basculement se produit en cas de défaillance d'une instance ou d'une zone, et que l'instance de secours devient la nouvelle instance principale. Lors d'un basculement, Cloud SQL passe automatiquement à l'instance de secours pour diffuser les données.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Pour en savoir plus, consultez la section À propos de la haute disponibilité.

Démarrage ou arrêt de Cloud SQL

Ce type d'événement vous aide à identifier qu'une instance Cloud SQL a été démarrée, arrêtée ou redémarrée manuellement. Lorsqu'une instance est arrêtée, toutes les connexions, les fichiers ouverts et les opérations en cours d'exécution sont également arrêtés.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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)

Pour en savoir plus, consultez les sections À propos de la haute disponibilité et Démarrer, arrêter et redémarrer les instances.

Stockage Cloud SQL

Ce type d'événement vous aide à identifier les événements liés au stockage Cloud SQL, y compris lorsque l'espace de stockage de la base de données est saturé ou lorsqu'une base de données est arrêtée parce qu'elle atteint sa capacité de stockage. Les bases de données ayant atteint leur capacité de stockage maximale et pour lesquelles le stockage automatique n'est pas activé peuvent être arrêtées pour éviter toute corruption des données.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Types d'événements Compute Engine

Cette section décrit les types d'événements Compute Engine pouvant être affichés sur un tableau de bord.

Terminaisons de machines virtuelles

Ce type d'événement vous aide à identifier les arrêts de machines virtuelles (VM), y compris les réinitialisations et arrêts déclenchés manuellement, les arrêts de l'OS invité, les arrêts de maintenance et les erreurs d'hôte.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Pour en savoir plus, consultez les pages Arrêter et démarrer une VM et Résoudre les problèmes d'arrêt et de redémarrage de VM.

Échec du démarrage de l'instance de VM

Cet événement permet de suivre les échecs de démarrage des instances de VM Compute Engine. L'événement affiche les échecs de démarrage dus à des ruptures de stock, à l'épuisement de l'espace d'adresses IP, au dépassement de quota ou aux erreurs d'intégrité de la VM protégée.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Erreur de l'OS invité de l'instance de VM

Cet événement permet de suivre les erreurs spécifiques du système d'exploitation invité des instances de VM Compute Engine, telles qu'elles sont enregistrées dans les journaux de la console série. Les erreurs suivies concernent les disques saturés, les échecs d'installation du système de fichiers et les échecs de démarrage qui activent le mode d'urgence Linux.

Pour que ces événements soient visibles, vous devez activer la journalisation des données en sortie du port série sur Cloud Logging en définissant serial-port-logging-enable=true dans la VM ou dans les métadonnées du projet. Pour en savoir plus, consultez la page Activer et désactiver la journalisation des données en sortie du port série.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Mise à jour du groupe d'instances géré

Ce type d'événement vous aide à déterminer quand votre groupe d'instances géré (MIG) a été mis à jour. Par exemple, des VM ont été ajoutées ou supprimées, ou la limite de taille a été mise à jour. Pour en savoir plus, consultez la section Appliquer automatiquement les mises à jour de configuration de VM dans un MIG.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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)

Pour en savoir plus, consultez les pages Utiliser des instances gérées et Dépannage des groupes d'instances gérés.

Autoscaler de groupe d'instances géré

Cet événement suit les décisions de scaling prises par l'autoscaler d'un MIG. Ces décisions peuvent inclure des modifications de la taille recommandée pour un MIG ou un changement de l'état de l'autoscaler lui-même. Pour en savoir plus, consultez la page Effectuer l'autoscaling des groupes d'instances.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Types d'événements Personalized Service Health

Cette section décrit les types Personalized Service Health qui peuvent être affichés sur un tableau de bord.

Incident Google Cloud

Lors du dépannage, vous pouvez faire la distinction entre les défaillances causées par un service que vous possédez et celles causées par un service Google Cloud que vous utilisez. Lorsque vous activez les annotations Personalized Service Health sur un tableau de bord, vous pouvez afficher les perturbations ou les événements liés à l'état du service des services Google Cloud. Pour obtenir la liste des services intégrés à Service Health, consultez la page Produits Google compatibles.

Contrairement aux autres types d'événements, les incidents Google Cloud ne sont pas identifiés par l'analyse des entrées de journal. Si vous souhaitez être averti lorsque ces événements se produisent, créez une règle d'alerte. Vous pouvez sélectionner une règle d'alerte préconfigurée à l'aide des options de la page Tableau de bord Service Health. Pour en savoir plus, consultez Démarrage rapide: configurer une alerte.

Monitoring identifie les incidents Google Cloud en envoyant une requête à l'API Service Health, puis filtre la réponse aux incidents pertinents pour les données que vous consultez. La requête présente la configuration suivante:

  • L'énumération Relevance est définie sur RELATED, IMPACTED ou PARTIALLY_RELATED. Cette restriction garantit que votre tableau de bord n'affiche que les événements des services Google Cloud utilisés par votre projet Google Cloud.

  • L'énumération DetailedState n'est pas définie sur FALSE_POSITIVE.

Les annotations Service Health s'affichent avec une heure de début et une durée. La durée est affichée en modifiant la couleur d'arrière-plan du graphique. L'info-bulle d'un incident Google Cloud identifie les éléments suivants:

  • Le service Google Cloud.
  • Indique si l'incident est ouvert ou résolu.
  • Date et heure de début de l'événement.
  • Chips indiquant le nombre de produits et de zones géographiques concernés. Pour lister les produits ou emplacements concernés, placez votre curseur sur le chip correspondant.
  • Un bouton Afficher qui, une fois sélectionné, ouvre la page d'informations de l'incident.

Pour savoir comment envoyer une requête à l'API Service Health, consultez la page Rechercher les interruptions avec Service Health.

Pour obtenir des informations de dépannage, consultez la page Résoudre les problèmes courants dans Service Health.

Types d'événements de test de disponibilité

Cette section décrit les types d'événements de test de disponibilité pouvant être affichés sur un tableau de bord.

Échec du test de disponibilité

Ce type d'événement vous aide à identifier les échecs de tests de disponibilité dans les régions configurées.

Si vous souhaitez créer une règle d'alerte basée sur les journaux pour ce type d'événement, utilisez la requête suivante:

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

Pour obtenir des informations de dépannage, consultez Résoudre les problèmes liés à la surveillance synthétique et aux tests de disponibilité.

Étapes suivantes

Pour savoir comment afficher des événements dans vos tableaux de bord, consultez Afficher les événements sur un tableau de bord.