Présentation du routage et du stockage

Ce document explique comment Cloud Logging traite les entrées de journal et décrit les composants clés de routage et de stockage de Logging. Le routage fait référence au processus utilisé par Cloud Logging pour déterminer quoi faire d'une entrée de journal nouvellement arrivée. Vous pouvez acheminer les entrées de journal vers des destinations telles que des buckets Logging, qui stockent l'entrée de journal, ou vers Pub/Sub. Pour exporter vos journaux vers des destinations tierces, acheminez-les vers un sujet Pub/Sub, puis autorisez la destination tierce à s'abonner au sujet Pub/Sub.

De manière générale, voici comment Cloud Logging achemine et stocke les entrées de journal :

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

Acheminer les journaux avec le routeur de journaux

Les sections suivantes expliquent comment Logging achemine les journaux avec le routeur de journaux à l'aide de récepteurs.

Routeur de journaux

Une entrée de journal est envoyée à la ressource Google Cloud spécifiée dans son champ logName au moment de l'appel entries.write.

Cloud Logging reçoit des entrées de journal avec l'API Cloud Logging, où elles transitent par le routeur de journaux. Les récepteurs du routeur de journaux comparent chaque entrée de journal à leurs filtres d'inclusion et filtres d'exclusion, puis déterminent les destinations (y compris les buckets Cloud Logging) vers lesquelles l'entrée de journal doit être envoyée. Vous pouvez utiliser des combinaisons de récepteurs pour acheminer une entrée de journal vers plusieurs destinations.

Le routeur de journaux stocke temporairement l'entrée de journal. Ce comportement permet de tamponner les perturbations et les pannes temporaires pouvant se produire lorsqu'un récepteur achemine une entrée de journal vers une destination. Le tamponnage ne protège pas contre les erreurs de configuration du collecteur. Si votre récepteur est mal configuré, il ne redirige pas les entrées de journal, un journal des erreurs est généré et un e-mail vous informant d'une erreur de configuration du récepteur vous est envoyé. Lorsque les entrées de journal ne peuvent pas être acheminées, elles sont supprimées.

Le stockage temporaire du routeur de journaux est distinct du stockage à long terme fourni par les buckets Logging.

Les entrées de journal entrantes dont les horodatages sont antérieurs à la durée de conservation des journaux ou postérieurs à 24 heures sont supprimées.

Récepteurs

Les récepteurs contrôlent la manière dont Cloud Logging achemine les journaux. Les récepteurs vous permettent d'acheminer une partie ou l'ensemble de vos journaux vers des destinations compatibles. Vous trouverez ci-dessous certaines des raisons pour lesquelles vous pouvez avoir besoin de contrôler la manière dont vos journaux sont acheminés :

  • Pour stocker des journaux peu susceptibles d'être lus, mais qui doivent être conservés à des fins de conformité.
  • Pour organiser vos journaux dans des buckets selon un format qui vous est utile.
  • Utiliser des outils d'analyse big data sur vos journaux.
  • Diffuser vos journaux vers d'autres applications, d'autres dépôts, ainsi que vers des organisations tierces. Par exemple, si vous souhaitez exporter vos journaux depuis Google Cloud afin de pouvoir les afficher sur une plate-forme tierce, configurez un récepteur pour acheminer vos entrées de journal vers Pub/Sub.

Les récepteurs appartiennent à une ressource Google Cloud donnée: projets Google Cloud, comptes de facturation, dossiers et organisations. Lorsque la ressource reçoit une entrée de journal, elle l'achemine en fonction des récepteurs qu'elle contient et, si cette option est activée, de tous les récepteurs ancêtres appartenant à la hiérarchie des ressources. L'entrée de journal est envoyée à la destination associée à chaque récepteur correspondant.

Cloud Logging fournit deux récepteurs prédéfinis pour chaque projet, compte de facturation, dossier et organisation Google Cloud: _Required et _Default. Tous les journaux générés dans une ressource sont automatiquement traités via ces deux récepteurs, puis sont stockés dans l'un des buckets du nom correspondant _Required ou _Default.

Les récepteurs agissent indépendamment les uns des autres. Quelle que soit la manière dont les récepteurs prédéfinis traitent vos entrées de journal, vous pouvez créer vos propres récepteurs pour acheminer une partie ou l'ensemble de vos journaux vers différentes destinations compatibles, ou pour les exclure du stockage Cloud Logging.

Les entrées de journal acheminées par un récepteur sont contrôlées en configurant son filtre d'inclusion et ses filtres d'exclusion. Selon la configuration du récepteur, chaque entrée de journal reçue par Cloud Logging appartient à une ou plusieurs des catégories suivantes :

  • Stockée dans Cloud Logging et non routée ailleurs.

  • Stockée dans Cloud Logging et acheminée vers une destination compatible.

  • Non stockée dans Cloud Logging, mais acheminée vers une destination compatible.

  • Ni stockée dans Cloud Logging, ni acheminée ailleurs.

Vous créez généralement des récepteurs au niveau du projet Google Cloud. Toutefois, si vous souhaitez combiner et acheminer les journaux à partir des ressources contenues dans une organisation ou un dossier Google Cloud, vous pouvez créer des récepteurs agrégés.

Les récepteurs n'acheminent que les entrées de journal qui arrivent après leur création, car le routage s'effectue lorsque les journaux transitent par l'API Logging. Si vous devez acheminer les entrées de journal de manière rétroactive, consultez la section Copier des journaux.

Filtres d'inclusion

Lorsqu'un récepteur ne spécifie aucun filtre, toutes les entrées de journal sont considérées comme des correspondances et sont acheminées vers la destination du récepteur. Vous pouvez configurer le récepteur pour sélectionner des entrées de journal spécifiques en définissant un filtre d'inclusion. Vous pouvez également définir un ou plusieurs filtres d'exclusion pour empêcher le routage des entrées de journal.

Lorsque vous configurez un récepteur, vous spécifiez ses filtres à l'aide du langage de requête Logging.

Une entrée de journal est acheminée par un collecteur en fonction des règles suivantes:

  • Si l'entrée de journal ne correspond pas au filtre d'inclusion, elle n'est pas acheminée. Lorsqu'un récepteur ne spécifie pas de filtre d'inclusion, chaque entrée de journal correspond à ce filtre.

  • Si l'entrée de journal correspond au filtre d'inclusion et à au moins un filtre d'exclusion, elle n'est pas acheminée.

  • Si l'entrée de journal correspond au filtre d'inclusion et ne correspond à aucun filtre d'exclusion, elle est acheminée vers la destination du récepteur.

Filtres d'exclusion

Lorsque vous créez un récepteur, vous pouvez définir plusieurs filtres d'exclusion. Les filtres d'exclusion vous permettent d'empêcher que les entrées de journal correspondant au filtre d'inclusion ne soient acheminées vers la destination du récepteur ou stockées dans un bucket de journaux. Vous définissez des filtres d'exclusion à l'aide du langage de requête Logging.

Les entrées de journal exclues consomment le quota d'API entries.write, car elles sont exclues une fois qu'elles ont été reçues par l'API Logging. Vous ne pouvez pas réduire le nombre d'appels d'API entries.write en excluant des entrées de journal.

Les entrées de journal exclues ne sont pas disponibles dans l'explorateur de journaux.

Les entrées de journal qui ne sont pas acheminées vers au moins un bucket de journaux, que ce soit de manière explicite à cause des filtres d'exclusion ou simplement parcequ'elles ne correspondent à aucun récepteur associé à une destination de stockage Logging, sont également exclues d'Error Reporting. Par conséquent, ces entrées de journal ne sont pas disponibles pour vous aider à résoudre les échecs. Les métriques basées sur les journaux définies par l'utilisateur sont calculées à partir des entrées de journal incluses et exclues. Pour en savoir plus, consultez la page Surveiller vos journaux.

Destinations compatibles

Vous pouvez utiliser le routeur de journaux pour acheminer certaines entrées de journal vers des destinations compatibles dans n'importe quel projet Google Cloud. Logging accepte les destinations de récepteurs suivantes:

  • Bucket Cloud Logging: permet de stocker des données dans Cloud Logging. Un bucket de journaux peut stocker des entrées de journal reçues par plusieurs projets Google Cloud. Le bucket de journaux peut se trouver dans le même projet que les entrées de journal ou dans un autre projet. Pour savoir comment afficher les entrées de journal stockées dans des buckets de journaux, consultez les pages Présentation de l'interrogation et de l'affichage des journaux et Afficher les journaux acheminés vers des buckets Cloud Logging.

    Vous pouvez combiner vos données de journalisation dans le cloud avec d'autres données en mettant à niveau un bucket de journaux pour utiliser Log Analytics, puis en créant un ensemble de données associé, qui est un ensemble de données en lecture seule pouvant être interrogé par les pages BigQuery Studio et Looker Studio.

  • Ensemble de données BigQuery: permet de stocker les entrées de journal dans un ensemble de données BigQuery enregistrable. L'ensemble de données BigQuery peut se trouver dans le même projet que les entrées de journal ou dans un autre projet. Vous pouvez utiliser les fonctionnalités d'analyse des données massives sur les entrées de journal stockées. Pour savoir comment afficher les entrées de journal routées vers BigQuery, consultez la section Afficher les journaux routés vers BigQuery.

  • Bucket Cloud Storage: permet de stocker les entrées de journal dans Cloud Storage. Le bucket Cloud Storage peut se trouver dans le même projet que les entrées de journal ou dans un autre projet. Les entrées de journaux sont stockées sous forme de fichiers JSON. Pour en savoir plus sur l'affichage des entrées de journal acheminées vers Cloud Storage, consultez la section Afficher les journaux acheminés vers Cloud Storage.
  • Sujet Pub/Sub: permet d'intégrer des tiers. Les entrées de journal sont mises en forme au format JSON, puis acheminées vers un sujet Pub/Sub. Le sujet peut se trouver dans le même projet que les entrées de journal ou dans un autre projet. Pour savoir comment afficher les entrées de journal acheminées vers Pub/Sub, consultez la section Afficher les journaux acheminés vers Pub/Sub.

  • Projet Google Cloud: redirigez les entrées de journal vers un autre projet Google Cloud. Dans cette configuration, les récepteurs du projet de destination traitent les entrées de journal.

Pour en savoir plus, consultez la section Acheminer les journaux vers des destinations compatibles.

Stocker, afficher et gérer les journaux

La section suivante explique comment les journaux sont stockés dans Cloud Logging et comment les afficher et les gérer.

Buckets de journaux

Cloud Logging utilise des buckets de journaux comme conteneurs dans vos projets, comptes de facturation, dossiers et organisations Google Cloud pour stocker et organiser vos données de journaux. Les entrées de journal que vous stockez dans Cloud Logging sont indexées, optimisées et distribuées afin de vous permettre de les analyser en temps réel. Les buckets Cloud Logging sont des entités de stockage différentes de celles des buckets Cloud Storage portant le même nom.

Pour chaque projet Google Cloud, compte de facturation, dossier et organisation, Logging crée automatiquement deux buckets de journaux: _Required et _Default. Logging crée automatiquement des récepteurs nommés _Required et _Default qui, dans la configuration par défaut, acheminent les entrées de journal vers les buckets du nom correspondant.

Vous pouvez désactiver le récepteur _Default, qui achemine les entrées de journal vers le bucket de journaux _Default. Vous pouvez également modifier le comportement des récepteurs _Default créés pour tous les nouveaux projets ou dossiers Google Cloud. Pour en savoir plus, consultez la page Configurer les paramètres par défaut pour les organisations et les dossiers.

Vous ne pouvez pas modifier les règles de routage du bucket _Required.

En outre, vous pouvez créer des buckets définis par l'utilisateur pour n'importe quel projet Google Cloud.

Vous créez des récepteurs pour acheminer l'intégralité ou une partie de vos entrées de journal vers n'importe quel bucket de journaux. Vous avez ainsi la possibilité de choisir le projet Google Cloud dans lequel sont stockées vos entrées de journal, et de stocker les entrées de journal de plusieurs ressources en un seul et même endroit.

Pour en savoir plus, consultez la section Configurer les buckets de journaux.

Bucket de journaux _Required

Cloud Logging achemine automatiquement les types d'entrées de journal suivants vers le bucket _Required:

Cloud Logging conserve les entrées de journal du bucket _Required pendant 400 jours. Vous ne pouvez pas modifier cette durée.

Vous ne pouvez ni modifier, ni supprimer le bucket _Required. Vous ne pouvez pas désactiver le récepteur _Required, qui achemine les entrées de journal vers le bucket _Required.

Bucket de journaux _Default

Toute entrée de journal qui n'est pas stockée dans le bucket _Required est acheminée par le récepteur _Default vers le bucket _Default, sauf si vous désactivez ou modifiez le récepteur _Default. Pour obtenir des instructions sur la modification des récepteurs, consultez la page Gérer les récepteurs.

Par exemple, Cloud Logging achemine automatiquement les types d'entrées de journal suivants vers le bucket _Default:

Cloud Logging conserve les entrées de journal du bucket _Default pendant 30 jours, sauf si vous configurez la conservation personnalisée pour le bucket.

Vous ne pouvez pas supprimer le bucket _Default.

Buckets de journaux définis par l'utilisateur

Vous pouvez également créer des buckets de journaux définis par l'utilisateur dans n'importe quel projet Google Cloud. En appliquant des récepteurs à vos buckets de journaux définis par l'utilisateur, vous pouvez acheminer un sous-ensemble de vos entrées de journaux vers n'importe quel bucket de journaux afin de choisir le projet Google Cloud dans lequel vos entrées de journaux sont stockées et de stocker les entrées de journaux de plusieurs ressources au même endroit.

Par exemple, pour un journal généré dans le projet A, vous pouvez configurer un récepteur pour acheminer ces entrées de journal vers un bucket défini par l'utilisateur dans le projet A ou vers un bucket de journaux dans le projet B.

Vous pouvez configurer la conservation personnalisée pour le bucket.

Pour en savoir plus sur la gestion des buckets de journaux définis par l'utilisateur, y compris sur leur suppression ou leur mise à jour, consultez la page Configurer et gérer des buckets de journaux.

Régionalisation

Les buckets de journaux sont des ressources régionales. L'infrastructure qui stocke, indexe et recherche vos entrées de journal est située dans un emplacement géographique spécifique. Google Cloud gère cette infrastructure afin que vos applications soient disponibles de manière redondante dans les zones de cette région.

Lorsque vous créez un bucket de journaux ou définissez une règle régionale au niveau de l'organisation, vous pouvez choisir où stocker vos journaux.

Cloud Logging est compatible avec les régions suivantes:

Monde

Nom de la région Description de la région
global

Journaux stockés dans n'importe quel centre de données du monde. Les journaux peuvent être déplacés vers différents centres de données. Aucune garantie de redondance supplémentaire.

Multirégions: UE et États-Unis

Nom de la région Description de la région
eu

Journaux stockés dans n'importe quel centre de données de l'Union européenne. Les journaux peuvent être déplacés vers différents centres de données. Aucune garantie de redondance supplémentaire.

us

Journaux stockés dans n'importe quel centre de données situé aux États-Unis. Les journaux peuvent être déplacés vers différents centres de données. Aucune garantie de redondance supplémentaire.

Afrique

Nom de la région Description de la région
africa-south1 Johannesburg

Amériques

Nom de la région Description de la région
northamerica-northeast1 Montréal
northamerica-northeast2 Toronto
southamerica-east1 São Paulo
southamerica-west1 Santiago
us-central1 Iowa
us-east1 Caroline du Sud
us-east4 Virginie du Nord
us-east5 Columbus
us-south1 Dallas
us-west1 Oregon
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas

Asie-Pacifique

Nom de la région Description de la région
asia-east1 Taïwan
asia-east2 Hong Kong
asia-northeast1 Tokyo
asia-northeast2 Osaka
asia-northeast3 Séoul
asia-south1 Mumbai
asia-south2 Delhi
asia-southeast1 Singapour
asia-southeast2 Jakarta
australia-southeast1 Sydney
australia-southeast2 Melbourne

Europe

Nom de la région Description de la région
europe-central2 Varsovie
europe-north1 Finlande
europe-southwest1 Madrid
europe-west1 Belgique
europe-west2 Londres
europe-west3 Francfort
europe-west4 Pays-Bas
europe-west6 Zurich
europe-west8 Milan
europe-west9 Paris
europe-west10 Berlin
europe-west12 Turin

Moyen-Orient

Nom de la région Description de la région
me-central1 Doha
me-central2 Dammam
me-west1 Tel-Aviv

Lorsque vous définissez l'emplacement sur global, vous n'avez pas besoin de spécifier l'emplacement physique de stockage de vos entrées de journal.

Vous pouvez appliquer automatiquement une région de stockage spécifique aux buckets _Default et _Required créés dans une organisation ou un dossier. Pour en savoir plus, consultez la page Configurer les paramètres par défaut pour les organisations et les dossiers.

Pour en savoir plus sur la régionalité des données et les emplacements où vous pouvez stocker vos données de journaux, consultez la page Comprendre les régions de données.

Règle d'administration

Vous pouvez créer une règle d'administration pour vous assurer que votre organisation répond à vos besoins réglementaires et de conformité. Grâce à la règle d'administration, vous pouvez spécifier les régions dans lesquelles votre organisation peut créer des buckets de journaux. Vous pouvez également empêcher votre organisation de créer des buckets de journaux dans des régions spécifiées.

Cloud Logging n'applique pas la règle d'administration que vous venez de créer sur les buckets de journaux existants ; la règle n'est appliquée qu'aux nouveaux buckets de journaux.

Pour en savoir plus sur la création d'une règle d'administration basée sur l'emplacement, consultez la section Limiter les emplacements des ressources.

En outre, vous pouvez configurer un emplacement de stockage par défaut pour les buckets _Default et _Required dans une organisation ou dans un dossier. Si vous configurez une règle d'administration qui limite l'emplacement où les données peuvent être stockées, vous devez vous assurer que l'emplacement de stockage par défaut que vous spécifiez est conforme à cette contrainte. Pour en savoir plus, consultez la page Configurer les paramètres par défaut pour les organisations et les dossiers.

Fidélisation

Cloud Logging conserve les journaux conformément aux règles de conservation appliquées au type de bucket de journaux où ils sont conservés. Pour en savoir plus sur les durées de conservation des différents types de journaux, consultez la page Quotas et limites.

Vous pouvez configurer Cloud Logging pour conserver vos journaux entre 1 et 3 650 jours. Les règles de conservation personnalisées s'appliquent à tous les journaux d'un bucket, qu'ils aient été copiés depuis un autre emplacement ou non.

Pour en savoir plus sur la définition des règles de conservation d'un bucket de journaux, consultez la page Configurer la conservation personnalisée.

Vues de journaux

Les vues de journaux vous permettent d'accorder à un utilisateur un accès à un sous-ensemble seulement des entrées de journal stockées dans un bucket de journaux. Pour savoir comment configurer des vues de journaux et accorder l'accès à des vues de journaux spécifiques, consultez la section Configurer des vues de journaux sur un bucket de journaux.

Pour chaque bucket de journaux, Cloud Logging crée automatiquement la vue _AllLogs, qui affiche tous les journaux stockés dans ce bucket. Cloud Logging crée également une vue pour le bucket _Default appelée _Default. La vue _Default du bucket _Default affiche tous les journaux, à l'exception des journaux d'audit d'accès aux données. Les vues _AllLogs et _Default ne sont pas modifiables, et vous ne pouvez pas supprimer la vue de journal _Default.

Les vues de journaux personnalisées vous offrent un moyen avancé et précis de contrôler l'accès à vos données de journaux. Par exemple, imaginons que vous stockiez tous les journaux de votre organisation dans un projet Google Cloud central. Comme les buckets de journaux peuvent contenir les journaux de plusieurs projets Google Cloud, vous souhaiterez peut-être contrôler quels sont les projets Google Cloud dont les différents utilisateurs peuvent consulter les journaux. Grâce aux vues de journaux personnalisées, vous pouvez accorder à un utilisateur l'accès aux journaux d'un seul projet Google Cloud seulement, tandis que vous donnez à un autre utilisateur l'accès aux journaux de tous les projets Google Cloud.

Utiliser des journaux dans l'écosystème Google Cloud

La section suivante explique comment utiliser les journaux dans la solution Google Cloud plus vaste.

Métriques basées sur les journaux

Les métriques basées sur les journaux sont des métriques Cloud Monitoring dérivées du contenu des entrées de journal. Par exemple, si Cloud Logging reçoit une entrée de journal pour un projet Google Cloud correspondant aux filtres de l'une des métriques du projet Google Cloud, cette entrée de journal est comptabilisée dans les données de métriques.

Les métriques basées sur les journaux interagissent différemment avec le routage, selon qu'elles sont définies par le système ou par vous. Les sections suivantes décrivent ces différences.

Métriques basées sur les journaux et filtres d'exclusion

Les filtres d'exclusion de récepteur s'appliquent aux métriques basées sur les journaux définies par le système, qui ne comptabilisent que les journaux stockés dans des buckets de journaux.

Les filtres d'exclusion de récepteur ne s'appliquent pas aux métriques basées sur les journaux définies par l'utilisateur. Même si vous excluez des journaux de l'API Cloud Logging et qu'ils ne sont stockés dans aucun bucket Logging, ils peuvent tout de même être comptabilisés dans ces métriques.

Champ d'application des métriques basées sur les journaux

Les métriques basées sur les journaux définies par le système s'appliquent au niveau du projet Google Cloud. Ces métriques sont calculées par le routeur de journaux et ne s'appliquent qu'aux journaux du projet Google Cloud qui les reçoit.

Les métriques basées sur les journaux définies par l'utilisateur peuvent s'appliquer soit au niveau du projet Google Cloud, soit au niveau d'un bucket de journaux spécifique:

  • Les métriques au niveau du projet sont calculées comme les métriques basées sur les journaux définies par le système. Ces métriques basées sur les journaux définies par l'utilisateur ne s'appliquent qu'aux journaux du projet Google Cloud qui les reçoit.
  • Les métriques à l'échelle du bucket s'appliquent aux journaux du bucket de journaux qui les reçoit, quel que soit le projet Google Cloud d'où proviennent les entrées de journal.

    Avec les métriques basées sur les journaux à l'échelle du bucket, vous pouvez créer des métriques basées sur les journaux qui évaluent les journaux dans les cas suivants:

    • Journaux acheminés d'un projet vers un bucket dans un autre projet
    • Journaux acheminés vers un bucket via un récepteur agrégé

Pour en savoir plus, consultez la page Présentation des métriques basées sur les journaux.

Rechercher des journaux dans les destinations compatibles

Pour en savoir plus sur le format des entrées de journal acheminées et sur l'organisation des journaux dans les destinations, consultez la page Afficher les journaux dans les destinations de récepteur.

Cas d'utilisation courants

Pour découvrir les cas d'utilisation courants du routage et du stockage des journaux, consultez les documents et tutoriels suivants :

Exigences de conformité

Pour connaître les bonnes pratiques d'utilisation du routage pour la gouvernance des données, consultez les documents suivants:

Contrôle des accès avec IAM

Pour en savoir plus sur votre utilisation des rôles et des autorisations Identity and Access Management (IAM) en vue de contrôler l'accès aux données Cloud Logging, consultez le Contrôle des accès avec IAM.

Tarifs

Cloud Logging ne facture pas l'acheminement des journaux vers une destination compatible. Toutefois, la destination peut appliquer des frais. À l'exception du bucket de journaux _Required, Cloud Logging facture le streaming de journaux dans des buckets de journaux et le stockage pendant une durée supérieure à la période de conservation par défaut du bucket de journaux.

Cloud Logging ne facture pas la copie des journaux, la définition des champs d'application des journaux ni les requêtes émises via les pages Explorateur de journaux ou Analyse de journaux.

Pour en savoir plus, consultez les documents suivants :

Étape suivante

Pour vous aider à acheminer et à stocker les données Cloud Logging, consultez les documents suivants :