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é, comme un redémarrage ou un plantage, qui affecte le fonctionnement d'un système. Afficher des événements peut vous aider à établir une corrélation entre les données de différentes sources lorsque vous essayez de résoudre un problème.

Pour chaque événement, des liens vers des références ou des documents de dépannage sont fournis, ainsi que des informations sur la façon de le rechercher. Par exemple, lorsque des événements sont identifiés en analysant vos journaux, une requête adaptée à l'explorateur de journaux ou à une stratégie 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 listé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 en savoir plus sur la configuration, consultez la section Afficher des événements dans un tableau de bord.

La capture d'écran suivante illustre un graphique affichant plusieurs événements identifiés en analysant les entrées de journal et un événement d'Service Health:

Graphique illustrant les annotations d'événements d'avertissement et d'information.

Chaque annotation peut lister plusieurs événements. Dans la capture d'écran précédente, un événement pour un déploiement GKE est listé.

Types d'événements d'alerte

Cette section décrit les types d'événements d'alerte pouvant s'afficher dans un tableau de bord.

Alerte ouverte

Les événements d'ouverture d'alerte vous aident à mettre en corrélation les données de vos graphiques avec le moment où les incidents ont été ouverts. Un événement d'ouverture d'alerte s'affiche lorsque les conditions suivantes sont remplies:

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

Aucune annotation n'est effectuée pour les incidents ouverts en dehors de la période spécifiée par le tableau de bord. De même, un événement d'ouverture d'alerte n'est pas affiché 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.
  • Informations récapitulatives, le cas échéant Par exemple, ces informations peuvent inclure le seuil et la valeur mesurée.
  • Durée de l'incident, ainsi que date et heure de son ouverture.
  • Libellés 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 dans un tableau de bord.

Charge de travail GKE mise à jour ou corrigée

Ce type d'événement vous aide à résoudre les problèmes de déploiement de la charge de travail GKE ou de modification de statefulset, car ces événements peuvent être corrélés avec 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 des 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 de pod peuvent être causés par l'épuisement de la mémoire ou une erreur d'application. Ce type d'événement s'affiche lorsque l'un des événements suivants se produit:

  • L'état du pod est CrashLoopBackoff
  • Le pod se termine avec un code de sortie différent de zéro.
  • Le pod s'arrête en raison d'une condition de mémoire insuffisante.
  • Le pod est expulsé.
  • La vérification d'aptitude/d'activité échoue.

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 en savoir plus, consultez la section Dépannage: CrashLoopBackOff.

Échec de la planification d'un pod GKE

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

  • Processeur du nœud insuffisant.
  • Mémoire de nœud insuffisante.
  • Aucun nœud pour les rejets ou les tolérances.
  • Nœuds ayant atteint la limite maximale de pods.
  • Pool de nœuds à 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 en savoir plus sur le dépannage, consultez la section Dépannage: pod non planifiable.

É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 l'échec 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 en savoir plus, consultez la section Dépannage: ImagePullBackOff et ErrImagePull.

Scaling à la hausse et à la baisse de l'autoscaler de pod

Cet événement vous permet de suivre les rescalings 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 à la hausse et à la baisse de l'autoscaler de cluster

Cet événement vous permet de savoir quand l'autoscaler de cluster augmente ou diminue le 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 de clusters

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 comprennent les mises à niveau automatiques de la version du plan de contrôle ainsi que les mises à niveau manuelles et les modifications de la configuration du cluster. Pour en savoir plus, consultez les pages Mettre à jour manuellement un cluster ou un pool de nœuds et Mettre à niveau des clusters standards.

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 comprennent les mises à niveau automatiques de la version du pool de nœuds ainsi que les mises à niveau manuelles, les modifications de configuration et les redimensionnements. Pour en savoir plus, consultez les pages Mettre à jour manuellement un cluster ou un pool de nœuds et Mettre à niveau des clusters standards.

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 dans 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 différentes 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 en savoir plus, consultez la section Dépannage: Problèmes Cloud Run.

Types d'événements Cloud SQL

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

Basculement Cloud SQL

Ce type d'événement vous aide à identifier les basculements manuels ou automatiques. Un failover se produit en cas de défaillance d'une instance ou d'une zone, et 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 si 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 aussi 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 pages À propos de la haute disponibilité et Démarrer, arrêter et redémarrer des instances.

Espace de stockage Cloud SQL

Ce type d'événement vous aide à identifier les événements liés à l'espace de 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 la limite de sa capacité de stockage. Les bases de données ayant atteint leur limite de capacité de stockage 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 dans un tableau de bord.

Arrêts 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 interruptions 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 liés aux arrêts et aux redémarrages des 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. Cet événement affiche les échecs de démarrage imputables à des indisponibilités, à l'épuisement de l'espace d'adressage IP, à un dépassement de quota ou à des erreurs d'intégrité d'une ou de plusieurs VM protégé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=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 des erreurs spécifiques à l'OS invité des instances de VM Compute Engine, telles qu'elles sont consigné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 section Activer et désactiver la journalisation de la 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 à identifier 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é modifiée. 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 Résoudre les problèmes liés aux 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 concerner des modifications de la taille recommandée pour un MIG, ou un changement d'é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 de santé des services personnalisés qui peuvent être affichés dans un tableau de bord.

Incident Google Cloud

Lorsque vous effectuez un dépannage, vous pouvez différencier les échecs causés par un service que vous possédez de ceux causés 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 interruptions (ou événements de santé du service) pour les services Google Cloud. Pour obtenir la liste des services intégrés à l'Service Health, consultez la section Produits Google compatibles.

Contrairement aux autres types d'événements, les incidents Google Cloud ne sont pas identifiés en analysant vos 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 de l'état du service. Pour en savoir plus, consultez Démarrage rapide: configurer une alerte.

La surveillance identifie les incidents Google Cloud en envoyant une requête à l'API Service Health, puis en filtrant la réponse aux incidents pertinents par rapport aux 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 de Service Health sont affichées 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 affichant le nombre de produits et d'emplacements concernés Pour afficher la liste des produits ou des lieux concernés, placez votre pointeur sur le chip correspondant.
  • Un bouton Afficher, qui, lorsqu'il est sélectionné, ouvre la page d'informations de l'incident.

Pour savoir comment envoyer une requête à l'API Service Health, consultez la section Rechercher des perturbations avec Service Health.

Pour obtenir des informations de dépannage, consultez la section 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 vérification de la disponibilité pouvant s'afficher dans un tableau de bord.

Échec du test de disponibilité

Ce type d'événement vous aide à identifier les échecs de tests de disponibilité pour 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 en savoir plus, consultez la page Résoudre les problèmes liés aux moniteurs synthétiques et aux tests de disponibilité.

Étape suivante

Pour découvrir comment afficher des événements dans vos tableaux de bord, consultez la section Afficher des événements dans un tableau de bord.