Exclusion de journaux

Cette page explique comment exclure des journaux de l'ingestion à l'aide de Cloud Console et de l'API Logging.

Cloud Logging vous permet d'exclure des journaux de vos buckets de journaux en ajoutant un filtre d'exclusion sur les récepteurs de journaux qui acheminent les journaux vers vos buckets de journaux. À l'aide du langage de requête Logging, vous écrivez un filtre qui définit les journaux à exclure du bucket de journaux.

La page Stockage des journaux suit le volume de journaux dans votre projet. Le routeur de journaux vous permet de désactiver l'ingestion pour tous les journaux d'ingestion ou d'exclure (de supprimer) les entrées qui ne vous intéressent pas. Vous pouvez ainsi réduire au minimum les frais associés aux journaux par rapport à votre attribution mensuelle. Pour plus d'informations sur le traitement des entrées de journal exclues, consultez la section Comment fonctionnent les exclusions de cette page.

Pour en savoir plus sur les coûts de Cloud Logging, consultez la section Tarifs. Notez que si vous envoyez puis excluez vos journaux de flux de cloud privé virtuel (VPC) depuis Cloud Logging, des frais de génération de journaux de flux VPC s'appliquent.

Effectuer le suivi du volume des journaux

Pour suivre le volume de journaux dans votre projet, accédez à la page Stockage des journaux dans la console Cloud Logging :

Accéder à la page "Stockage des journaux"

Le haut de la page affiche un récapitulatif des statistiques des journaux que votre projet reçoit :

Statistiques récapitulatives de l'utilisation du stockage de journaux

Les statistiques suivantes sont consignées :

  • This month's ingested log volume (Volume des journaux ingérés ce mois-ci) : quantité de journaux reçus par votre projet depuis le premier jour du mois en cours.

  • Last month's ingested log volume (Volume des journaux ingérés le mois dernier) : quantité de journaux reçus par votre projet au cours du dernier mois civil.

  • Projected ingestion log volume (Volume d'ingestion de journaux prévu) : quantité estimée de journaux que votre projet aura reçus à la fin du mois en cours, en fonction de l'utilisation actuelle.

Les volumes des journaux n'incluent pas certains journaux d'audit, à savoir la totalité des journaux d'audit pour les activités d'administration et les journaux d'audit des événements système. Ces journaux sont gratuits et ne peuvent pas être exclus, ni désactivés.

Fonctionnement des exclusions

Le schéma suivant illustre la manière dont sont traitées les entrées de journal exclues dans Cloud Logging :

Schéma illustrant le routage des entrées des journaux par Cloud Logging.

Les conditions suivantes s'appliquent aux entrées de journal exclues dans Logging :

  • Les entrées de journal exclues ne sont pas prises en compte dans le quota d'attribution Logging associé aux projets. Pour en savoir plus, consultez les tarifs de Logging.

  • Les entrées de journal exclues ne sont pas visibles dans l'explorateur de journaux et ne sont pas disponibles pour Error Reporting et Cloud Debugger.

  • Vous pouvez exporter des entrées de journal en dehors de Cloud Logging à l'aide de récepteurs de journaux qui incluent des destinations de récepteur. Ces mêmes journaux peuvent également être exclus de l'ingestion. Pour en savoir plus, consultez la section Présentation du routage et du stockage: récepteurs.

  • Les journaux d'audit qui ne peuvent pas être désactivés ne peuvent pas non plus être exclus. Notez toutefois que ces types de journaux d'audit sont gratuits.

En créant des filtres d'exclusion, vous pouvez contrôler les entrées de journal à exclure (supprimer). Par exemple, vous pouvez exclure les entrées de journal d'une instance de VM isolée plutôt que de celles de toutes les instances de VM.

Limites d'exclusion

Vous pouvez définir jusqu'à 50 filtres d'exclusion dans un même projet.

Planification d'exclusion

Les journaux sont exclus une fois qu'ils ont été reçus par l'API Logging. Par conséquent, l'exclusion des journaux ne réduit pas le nombre d'appels d'API entries.write.

Créer des filtres d'exclusion

Vous pouvez créer un filtre d'exclusion pour un nouveau récepteur de journaux ou pour un récepteur existant.

Créer des filtres d'exclusion pour un nouveau récepteur

Pour créer un filtre d'exclusion pour un nouveau récepteur de journaux à l'aide du routeur de journaux, procédez comme suit:

  1. Suivez les procédures Créer un récepteur.

  2. À l'étape Sélectionner les journaux à exclure du récepteur (facultatif), vous pouvez créer le filtre d'exclusion permettant d'exclure les journaux.

  3. Cliquez sur Ajouter une exclusion.

  4. Saisissez un nom dans le champ Nom du filtre d'exclusion.

  5. Dans la section Créer un filtre d'exclusion, saisissez une expression de filtre correspondant aux entrées de journal que vous souhaitez exclure. Pour en savoir plus sur le langage de requête Logging, consultez la section Langage de requête Logging. Vous pouvez également utiliser la fonction sample pour sélectionner une partie des entrées de journal.

  6. Cliquez sur Ajouter une exclusion pour ajouter d'autres filtres si nécessaire.

  7. Lorsque vous avez terminé, cliquez sur Créer un récepteur.

Créer des filtres d'exclusion pour un récepteur existant

Pour créer un filtre d'exclusion pour un récepteur de journaux existant à l'aide du routeur de journaux, procédez comme suit:

  1. Dans le menu "Journalisation", sélectionnez Routeur de journaux.

    Accéder au Routeur de journaux

  2. Pour ajouter le filtre d'exclusion au récepteur, cliquez sur Plus.

  3. Cliquez sur Modifier le récepteur.

  4. Dans la section Sélectionner les journaux à exclure du récepteur (facultatif), créez le filtre d'exclusion permettant d'exclure les journaux.

  5. Cliquez sur Ajouter une exclusion.

  6. Saisissez un nom dans le champ Nom du filtre d'exclusion.

  7. Dans la section Créer un filtre d'exclusion, saisissez une expression de filtre correspondant aux entrées de journal que vous souhaitez exclure. Pour en savoir plus sur le langage de requête Logging, consultez la section Langage de requête Logging. Vous pouvez également utiliser la fonction sample pour sélectionner une partie des entrées de journal.

  8. Cliquez sur Ajouter une exclusion pour ajouter d'autres filtres si nécessaire.

  9. Lorsque vous avez terminé, cliquez sur Mettre à jour le récepteur.

Lorsque vous créez un filtre, vous pouvez rencontrer l'une des situations suivantes :

  • Si vous avez modifié le filtre pour le récepteur _Default, vous souhaitez peut-être restaurer le filtre par défaut. Pour ce faire, saisissez la commande suivante dans le champ Créer un filtre d'inclusion :

    NOT LOG_ID("cloudaudit.googleapis.com/activity") AND NOT \
    LOG_ID("externalaudit.googleapis.com/activity") AND NOT \
    LOG_ID("cloudaudit.googleapis.com/system_event") AND NOT \
    LOG_ID("externalaudit.googleapis.com/system_event") AND NOT \
    LOG_ID("cloudaudit.googleapis.com/access_transparency") AND NOT \
    LOG_ID("externalaudit.googleapis.com/access_transparency")
    
  • Vous pouvez router tous les journaux vers une destination sans exclure de journaux. Pour ce faire, laissez vide le champ Créer un filtre d'inclusion.

  • Vous pouvez souhaiter empêcher tous les journaux d'atteindre une destination. Pour ce faire, désactivez le récepteur pour cette destination.

Exemples de filtres d'exclusion Google Kubernetes Engine

Utilisez la requête suivante pour exclure les journaux de conteneurs et de pods Google Kubernetes Engine pour le système GKE namespaces:

resource.type = ("k8s_container" OR "k8s_pod")
resource.labels.namespace_name = (
"cnrm-system" OR
"config-management-system" OR
"gatekeeper-system" OR
"gke-connect" OR
"gke-system" OR
"istio-system" OR
"knative-serving" OR
"monitoring-system" OR
"kube-system")

Utilisez la requête suivante pour exclure les journaux de nœuds de Google Kubernetes Engine pour le système GKE logNames:

resource.type = "k8s_node"
logName:( "logs/container-runtime" OR
"logs/docker" OR
"logs/kube-container-runtime-monitor" OR
"logs/kube-logrotate" OR
"logs/kube-node-configuration" OR
"logs/kube-node-installation" OR
"logs/kubelet" OR
"logs/kubelet-monitor" OR
"logs/node-journal" OR
"logs/node-problem-detector")

Vous pouvez afficher le volume de journaux node, de pod et de container de Google Kubernetes Engine ingérés dans Cloud Logging via l'explorateur de métriques de Cloud Monitoring.

Exemple de filtre d'exclusion Dataflow

Utilisez la requête suivante pour exclure les journaux Dataflow qui ne sont pas requis pour la compatibilité:

resource.type="dataflow_step"
labels."dataflow.googleapis.com/log_type"!="system" AND labels."dataflow.googleapis.com/log_type"!="supportability"

Vous pouvez afficher le volume de journaux Dataflow ingérés dans Cloud Logging via l'Explorateur de métriques dans Cloud Monitoring.

Assistance

Bien que Cloud Logging vous permette d'exclure des journaux de l'ingestion, vous pouvez envisager de les conserver pour faciliter la compatibilité. L'utilisation de ces journaux peut vous aider à résoudre et à identifier rapidement les problèmes liés à vos applications.

Par exemple, les journaux système GKE sont utiles pour résoudre les problèmes liés à vos applications et clusters GKE, car ils sont générés pour les événements qui se produisent dans votre cluster. Ces journaux peuvent vous aider à déterminer si votre code d'application ou le cluster GKE sous-jacent est à l'origine de l'erreur de votre application. Les journaux système GKE incluent également les journaux d'audit Kubernetes générés par le composant serveur d'API Kubernetes, qui inclut les modifications apportées à l'aide de la commande kubectl et des événements Kubernetes.

Pour Dataflow, il est recommandé d'ingérer au minimum vos journaux système (labels."dataflow.googleapis.com/log_type"="system") et vos journaux de compatibilité (labels."dataflow.googleapis.com/log_type"="supportability"). Ces journaux sont essentiels pour permettre aux développeurs d'observer et de résoudre les problèmes liés à leurs pipelines Dataflow. Il est possible que les utilisateurs ne puissent pas consulter les journaux des tâches sur la page "Détails de la tâche Dataflow".

Afficher les filtres d'exclusion

Pour afficher les filtres d'exclusion actifs, procédez comme suit :

  1. Dans le menu "Journalisation", sélectionnez Routeur de journaux.

    Accéder au Routeur de journaux

  2. Pour afficher les filtre d'exclusion du récepteur de votre choix, cliquez sur Plus .

  3. Sélectionnez Afficher les informations sur le récepteur.

  4. Un panneau affiche les informations sur le récepteur, y compris les filtres d'exclusion. Dans cet exemple, les détails du récepteur _Default sont affichés.

    Image du panneau "Informations sur le récepteur"

Modifier les exclusions

Vous pouvez modifier vos filtres d'exclusion existants afin d'exclure davantage ou moins d'entrées de journal.

  1. Dans le menu "Journalisation", sélectionnez Routeur de journaux.

    Accéder au Routeur de journaux

  2. Pour afficher les filtre d'exclusion du récepteur de votre choix, cliquez sur Plus .

  3. Cliquez sur Modifier le récepteur.

  4. Dans la section Créer un filtre d'exclusion, modifiez l'expression du filtre pour qu'elle corresponde aux entrées de journal que vous souhaitez exclure.

  5. Cliquez sur Ajouter une exclusion pour ajouter d'autres filtres si nécessaire.

  6. Lorsque vous avez terminé, cliquez sur Mettre à jour le récepteur.

Supprimer des exclusions

Pour modifier, désactiver ou supprimer un filtre d'exclusion, suivez le guide Modifier les exclusions afin de supprimer une exclusion pour un récepteur spécifique.

Exclusions dans l'API

Pour créer des filtres d'exclusion dans l'API Logging, utilisez la méthode projects.exclusions.create.

Il existe également des méthodes pour afficher, supprimer et mettre à jour les filtres d'exclusion, ainsi que des méthodes de gestion des exclusions pour les journaux reçus par les organisations, les comptes de facturation et les dossiers.

Pour voir des exemples de requêtes de journaux pouvant être utiles dans les exclusions, consultez la page Exemples de requêtes.

Exclusions échantillonnées dans l'API

Pour exclure moins de 100 % des entrées de journal correspondantes, utilisez la fonction sample de votre requête de journaux.

Exporter les journaux exclus

Vous pouvez exporter des entrées de journal vers Cloud Storage, BigQuery ou Pub/Sub avant de les exclure, afin de ne pas les perdre définitivement.

Pour commencer à appliquer votre exclusion et exporter les entrées de journal, procédez comme suit :

  1. Créez une requête correspondant aux entrées de journal que vous souhaitez exclure et exporter.

    Conseil : Définissez la requête de sorte qu'elle ne corresponde à aucun journal d'audit activé par défaut. La correspondance de ces entrées de journal d'audit n'affecte pas les exclusions, mais elle provoque l'exportation de nombreuses entrées de journal supplémentaires.

  2. Créez un récepteur d'exportation à l'aide de votre requête de journaux, puis commencez à exporter les entrées de journal correspondantes.

  3. Créez un filtre d'exclusion à l'aide de votre requête de journaux et commencez à exclure les entrées de journal correspondantes.

Pour interrompre les exclusions et l'exportation, désactivez le filtre d'exclusion, puis le récepteur d'exportation.

Pour en savoir plus sur l'exportation de journaux, consultez la page Présentation du routage et du stockage: récepteurs.

Tarifs de l'exportation

Les journaux exportés ne sont pas facturés par Cloud Logging, mais des frais de destination peuvent s'appliquer. Pour en savoir plus, consultez la page des tarifs du produit concerné :

Notez également que si vous exportez vos journaux de flux de cloud privé virtuel (VPC) puis que vous les excluez de Cloud Logging, des frais de génération des journaux de flux VPC s'appliquent en plus des frais de destination.

Dépannage

Cette section fournit des informations sur les problèmes connus associés aux exclusions de journaux.

Pourquoi mon filtre d'exclusion ne fonctionne-t-il pas ?

Il peut arriver que vous rencontriez des journaux dans l'explorateur de journaux que vous avez exclu. Vous pouvez toujours afficher ces journaux si toutes les conditions suivantes sont remplies:

  • Vous exécutez votre requête dans le projet Google Cloud qui a généré les journaux.

  • Les journaux exclus ont été envoyés à un bucket de journaux dans un autre projet Cloud.

  • Vous avez accès aux vues du bucket de journaux dans lesquelles les journaux ont été envoyés.

Dans ce cas, vous pouvez consulter ces journaux par défaut.

Pour éviter de voir ces journaux dans l'explorateur de journaux, vous pouvez affiner le champ d'application de votre recherche pour ne cibler que votre projet ou bucket Cloud source.