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 à corréler des données provenant de différentes sources lorsque vous dépannez un problème.

Pour chaque événement, des liens vers les références ou la documentation de dépannage sont ainsi que des informations sur la façon de lancer une requête pour l'événement. Par exemple, lorsque des événements sont identifiés par l’analyse de vos journaux, une requête pouvant être utilisée avec l'explorateur de 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 sur la page Tableaux de bord de la console Google Cloud pour afficher les événements. De même, vous pouvez configurer des onglets Observabilité spécifiques au service : tels que ceux de Compute Engine et Google Kubernetes Engine, pour afficher les événements. Pour plus d'informations sur la configuration, consultez Afficher les événements sur un tableau de bord

La capture d'écran suivante illustre un graphique qui présente plusieurs événements identifiés en analysant les 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. Dans la capture d'écran précédente, un événement pour un déploiement GKE est répertorié.

Types d'événements d'alerte

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

Alerte ouverte

Les événements d'alerte ouverte vous permettent de corréler vos données représentées graphiquement incidents 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 à côté du tableau de bord.
  • L'incident correspondant n'est pas clôturé.

Aucune annotation n'est créée pour les incidents ouverts en dehors la période spécifiée par le tableau de bord ne sont pas affichées. De même, un l'événement d'alerte d'ouverture ne s'affiche pas lorsque l'incident correspondant a été ouvert. puis fermée pendant 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, ce comme le seuil et la valeur mesurée.
  • La durée de l'incident, ainsi que la date et l'heure à l'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ées 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 liés à GKE déploiement de charge de travail ou modifications 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 est affiché Lorsqu'une charge de travail est créée, mise à jour ou supprimée.

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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 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 Plantages du pod 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éez une règle d'alerte basée sur les journaux pour cette 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 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 sur un nœud. Ce type d'événement s'affiche en cas d'échec de la planification des pods 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éez une règle d'alerte basée sur les journaux pour cette 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 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 les échecs et à les résoudre conteneur GKE. La création du conteneur peut échouer pour la raison suivante : comme l'échec de l'installation de volumes ou de l'extraction d'images.

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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 Dépannage: 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, d'augmenter ou de diminuer 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éez une règle d'alerte basée sur les journaux pour cette 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 quand l'autoscaler de cluster effectue un scaling à la hausse réduit le nombre de nœuds dans un pool de nœuds de votre cluster. Pour plus d'informations, Voir la section À propos de l'autoscaling des clusters et Afficher les événements de l'autoscaler de cluster.

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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 la création et la suppression des clusters GKE actions. Pour en savoir plus, consultez Créez un cluster Autopilot. Créer un cluster zonal Supprimer un cluster

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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 et les modifications de configuration du cluster. Pour en savoir plus, consultez Mettre à niveau manuellement un cluster ou un pool de nœuds et les mises à niveau des clusters standards.

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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 le pool de nœuds automatique mises à niveau, mises à niveau manuelles, modifications de configuration et redimensionnements. Pour en savoir plus, consultez Mettre à niveau manuellement un cluster ou un pool de nœuds et les mises à niveau des clusters standards.

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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ées sur un tableau de bord.

Déploiement Cloud Run

Ce type d'événement vous aide à identifier Échecs de déploiement Cloud Run. Le déploiement peut échouer pour différentes raisons compte de service supprimé, autorisations incorrectes, importation d'un d'un conteneur, ou son démarrage a échoué.

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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 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ées 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 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éez une règle d'alerte basée sur les journaux pour cette 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 À propos de la haute disponibilité

Démarrage ou arrêt de Cloud SQL

Ce type d'événement vous permet d'identifier qu'une instance Cloud SQL a été manuellement démarré, arrêté ou redémarré. 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ées.

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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 À propos de la haute disponibilité Démarrez, arrêtez et redémarrez des 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é et lorsqu'une base de données est arrêtée en raison jusqu'à atteindre la capacité de stockage. Bases de données ayant atteint leur capacité de stockage le stockage automatique activé peut être arrêté pour éviter toute corruption des données.

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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 qui peuvent être affichées 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 des réinitialisations et arrêts déclenchés manuellement, l'arrêt du système d'exploitation invité, les arrêts de maintenance et les erreurs d'hôte.

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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 Arrêter et démarrer une VM, 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 quota dépassé, ou les erreurs d'intégrité de la VM protégée.

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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 en tant que enregistrées par les journaux de la console série. Les erreurs suivies sont les suivantes : disque saturé, fichier les échecs d’installation du système 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 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 Activez et désactivez la journalisation des données en sortie du port série.

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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) présente ont été mises à jour. Par exemple, des VM ont été ajoutées ou supprimées, ou si 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éez une règle d'alerte basée sur les journaux pour cette 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 Utiliser des instances gérées et Explorez la résolution des 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 inclure des modifications de la taille recommandée pour un MIG, ou d'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éez une règle d'alerte basée sur les journaux pour cette 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

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

Contrairement aux autres types d'événements, les incidents Google Cloud ne sont pas identifiés par l'analyse vos entrées de journal. Si vous souhaitez être averti lorsque ces événements se produisent, créer 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 plus d'informations, consultez la section Démarrage rapide: configurer une alerte.

Monitoring identifie les incidents Google Cloud en envoyant une requête à l'API Service Health, puis en filtrant les à ces 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 affiche les événements des services Google Cloud que le projet Google Cloud utilise.

  • 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. Info-bulle pour 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 la sur le chip correspondant.
  • Un bouton Afficher qui, une fois sélectionné, ouvre la page d'informations de la l'incident.

Pour savoir comment envoyer une demande au API Service Health, consultez Recherchez les interruptions avec Service Health.

Pour obtenir des informations de dépannage, consultez Résolvez les problèmes courants liés à Service Health.

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

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

Échec du test de disponibilité

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

Si vous souhaitez créez une règle d'alerte basée sur les journaux pour cette 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é.

Étape suivante

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