Présentation du routage et du stockage

Ce document explique comment Cloud Logging traite les entrées de journal, et décrit les principaux composants du routage et du stockage de Logging. Le routage fait référence au processus utilisé par Cloud Logging pour déterminer l'action d'une entrée de journal nouvellement arrivée. Vous pouvez acheminer les entrées de journaux vers des destinations telles que des buckets Logging, qui stockent les 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 les entrées de journal à l'aide de 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 aux filtres d'inclusion et filtres d'exclusion existants qui 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 les journaux vers plusieurs destinations.

Le routeur de journaux les stocke temporairement. Ce comportement est mis en mémoire tampon pour les perturbations et les pannes temporaires susceptibles de se produire lorsqu'un récepteur achemine les journaux vers une destination. La mise en mémoire tampon ne protège pas contre les erreurs de configuration du récepteur. Si votre récepteur n'est pas configuré correctement, Logging supprime les journaux, un journal d'erreurs est généré et un e-mail vous informant d'une erreur de configuration du récepteur est envoyé.

Notez que le stockage temporaire du routeur de journaux est différent du stockage à long terme fourni par les buckets Logging.

Les entrées de journal entrantes dont l'horodatage est supérieur à la durée de conservation des journaux passée ou qui se situe plus de 24 heures dans le futur 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, comptes de facturation, dossiers et organisations Google Cloud. 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.

Le comportement de routage de chaque récepteur est contrôlé par la configuration du filtre d'inclusion et des filtres d'exclusion pour ce récepteur. 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, mais 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.

Vous ne pouvez pas acheminer les entrées de journal reçues par Logging avant la création de votre récepteur. Effectivement, le routage s'effectue lorsque les journaux transitent par l'API Logging et les nouvelles règles de routage ne s'appliquent qu'aux journaux écrits après la création de ces règles. Si vous devez acheminer les entrées de journal de manière rétroactive, consultez la section Copier des journaux.

Filtres d'inclusion

Pour tout nouveau récepteur, si vous ne spécifiez pas de filtres, tous les journaux sont considérés comme des correspondances et sont acheminés vers la destination du récepteur. Vous pouvez configurer le récepteur pour sélectionner des journaux spécifiques en définissant un filtre d'inclusion. Vous pouvez également définir un ou plusieurs filtres d'exclusion pour exclure des journaux de la destination du récepteur.

Lorsque vous configurez des récepteurs, vous créez des filtres d'inclusion dans le langage de requête Logging. Les récepteurs peuvent également contenir plusieurs filtres d'exclusion.

Chaque entrée de journal reçue par Logging est acheminée en fonction des règles de filtrage suivantes :

  • Les filtres d'exclusion d'un récepteur remplacent tous ses filtres d'inclusion définis. Un journal correspondant à un filtre d'exclusion du récepteur n'est jamais considéré comme une correspondance, quels que soient les filtres d'inclusion définis. L'entrée de journal n'est pas acheminée vers la destination de ce récepteur.

  • Si le récepteur ne contient pas de filtre d'inclusion, voici ce qui se produit :

    • Si l'entrée de journal correspond à un filtre d'exclusion, elle n'est pas acheminée vers la destination du récepteur.
    • Si l'entrée de journal ne correspond à aucun filtre d'exclusion, elle est acheminée vers la destination du récepteur. Un filtre d'inclusion vide sélectionne tous les journaux.
  • Si le récepteur contient un filtre d'inclusion, voici ce qui se produit :

    • Si l'entrée de journal correspond au filtre d'inclusion, elle est acheminée vers la destination du récepteur.
    • Si l'entrée de journal ne correspond pas au filtre d'inclusion, elle n'est pas 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 correspondantes ne soient acheminées vers la destination du récepteur ou stockées dans un bucket de journaux. Pour créer des filtres d'exclusion, utilisez le langage de requête Logging.

Les entrées de journal sont exclues après avoir été reçues par l'API Logging. Elles consomment donc le quota d'API entries.write. Vous ne pouvez pas réduire le nombre d'appels d'API entries.write en excluant les 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 journaux 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 certains journaux vers des destinations compatibles dans n'importe quel projet Google Cloud. Logging accepte les destinations de récepteur suivantes:

  • Buckets de journaux Cloud Logging: ils permettent de stocker les journaux dans Cloud Logging. Un bucket de journaux permet de stocker les journaux reçus par plusieurs projets Google Cloud. Vous pouvez combiner vos données Cloud Logging avec d'autres données en mettant à niveau un bucket de journaux pour utiliser l'Analyse de journaux, puis en créant un ensemble de données BigQuery associé. Pour en savoir plus sur l'affichage des journaux stockés dans des buckets de journaux, consultez Interroger et afficher la présentation des journaux et Afficher les journaux acheminés vers des buckets Cloud Logging.
  • Projets Google Cloud: acheminez les entrées de journal vers un autre projet Google Cloud. Lorsque vous acheminez des journaux vers un autre projet Google Cloud, le routeur de journaux du projet de destination les reçoit et les traite. Les récepteurs du projet de destination déterminent la manière dont les entrées de journal reçues sont acheminées. Les entrées de journal acheminées vers un autre projet Google Cloud par des buckets de journaux ne peuvent pas être analysées par Error Reporting.
  • Sujets Pub/Sub: prend en charge les intégrations tierces, telles que Splunk. Les entrées de journal sont au format JSON, puis acheminées vers un sujet Pub/Sub. Pour plus d'informations sur l'affichage des journaux acheminés vers Pub/Sub, consultez la page Afficher les journaux acheminés vers Pub/Sub.
  • Ensembles de données BigQuery: permet de stocker les entrées de journal dans les ensembles de données BigQuery. Vous pouvez utiliser les fonctionnalités d'analyse big data sur les journaux stockés. Pour combiner vos données Cloud Logging avec d'autres sources de données, nous vous recommandons de mettre à niveau vos buckets de journaux pour utiliser l'Analyse de journaux, puis de créer un ensemble de données BigQuery associé. Pour en savoir plus sur l'affichage des journaux acheminés vers BigQuery, consultez la page Afficher les journaux acheminés vers BigQuery.
  • Buckets Cloud Storage: ils permettent de stocker les données de journaux dans Cloud Storage. Les entrées de journal sont stockées sous forme de fichiers JSON. Pour plus d'informations sur l'affichage des journaux acheminés vers Cloud Storage, consultez la section Afficher les journaux acheminés vers Cloud Storage.

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 journaux que vous stockez dans Cloud Logging sont indexés, optimisés et distribués 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, compte de facturation, dossier et organisation Google Cloud, 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 journaux vers les buckets du nom correspondant.

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

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

Vous pouvez également créer des buckets définis par l'utilisateur pour tout projet Google Cloud.

Vous créez des récepteurs pour acheminer l'intégralité ou une partie de vos journaux vers n'importe quel bucket de journaux. Cette flexibilité vous permet de choisir le projet Google Cloud dans lequel vos journaux sont stockés, ainsi que les autres journaux devant être stockés.

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

Bucket de journaux _Required

Cloud Logging achemine automatiquement les types de journaux suivants vers le bucket _Required :

Cloud Logging conserve les journaux dans le bucket _Required pendant 400 jours. Vous ne pouvez pas modifier cette durée de conservation.

Vous ne pouvez ni modifier, ni supprimer le bucket _Required. Vous ne pouvez pas désactiver le récepteur _Required, qui achemine les journaux 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 de journaux suivants vers le bucket _Default:

Cloud Logging conserve les journaux dans le bucket _Default pendant 30 jours, sauf si vous configurez une 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 n'importe quel sous-ensemble de journaux vers n'importe quel bucket de journaux, ce qui vous permet de choisir le projet Google Cloud dans lequel vos journaux sont stockés, ainsi que les autres journaux qui y sont stockés.

Par exemple, pour un journal généré dans le projet A, vous pouvez configurer un récepteur pour acheminer ce journal vers des buckets définis par l'utilisateur dans le projet A ou le projet B.

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

Pour en savoir plus sur la gestion de vos buckets de journaux définis par l'utilisateur, y compris sur leur suppression ou leur mise à jour, consultez 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 journaux se trouve dans un emplacement géographique spécifique. Google gère cette infrastructure de sorte 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 de stocker vos journaux dans l'une des régions suivantes:

Afrique

Nom de la région Description de la région Compatibilité avec l'Analyse de journaux
africa-south1 Johannesburg Oui

Amériques

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

Asie-Pacifique

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

Europe

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

Moyen-Orient

Nom de la région Description de la région Compatibilité avec l'Analyse de journaux
me-central1 Doha Oui
me-central2 Dammam Oui
me-west1 Tel Aviv Oui

Autre

Nom de la région Description de la région Compatibilité avec l'Analyse de journaux
eu Journaux stockés dans des centres de données au sein de l'Union européenne (aucune garantie de redondance supplémentaire) Oui
us Journaux stockés dans des centres de données aux États-Unis ; aucune garantie de redondance supplémentaire Oui
global Journaux stockés dans n'importe quel centre de données dans le monde. Aucune garantie de redondance supplémentaire. Oui

En plus de ces régions, vous pouvez définir l'emplacement sur global, ce qui signifie que vous n'avez pas besoin de spécifier l'emplacement physique de stockage de vos journaux.

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

Pour en savoir plus sur la région des données et l'emplacement où vous pouvez stocker les 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 aux buckets de journaux existants, mais uniquement aux nouveaux buckets de journaux.

Pour plus d'informations sur la création d'une règle d'administration basée sur l'emplacement, consultez la section Restreindre les emplacements de ressources.

De plus, vous pouvez configurer un emplacement de stockage par défaut pour les buckets _Default et _Required dans une organisation ou un dossier. Si vous configurez une règle d'administration qui limite l'emplacement de stockage des données, vous devez vous assurer que l'emplacement de stockage par défaut que vous spécifiez est cohérent avec cette contrainte. Pour en savoir plus, consultez Configurer les paramètres par défaut pour les organisations et les dossiers.

Conservation

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.

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 savoir comment définir des règles de conservation pour un bucket de journaux, consultez la section Configurer une conservation personnalisée.

Pour en savoir plus sur les durées de conservation des différents types de journaux, consultez la page Quotas et limites.

Vues de journaux

Les vues de journaux vous permettent d'accorder à un utilisateur l'accès uniquement à un sous-ensemble des journaux stockés dans un bucket de journaux. Pour en savoir plus sur la configuration des vues de journaux et sur l'attribution d'un accès à des vues spécifiques, consultez la page 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 des 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. Prenons l'exemple d'un scénario dans lequel vous stockez tous les journaux de votre organisation dans un projet Google Cloud central. Étant donné que les buckets de journaux peuvent contenir des journaux provenant de plusieurs projets Google Cloud, vous souhaiterez peut-être contrôler les projets Google Cloud à partir desquels différents utilisateurs peuvent consulter les journaux. Les vues de journaux personnalisées vous permettent d'autoriser un utilisateur à accéder aux journaux d'un seul projet Google Cloud, tandis que vous autorisez un autre utilisateur à accéder aux journaux de tous les projets Google Cloud.

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

La section suivante fournit des informations sur l'utilisation des journaux dans l'ensemble de Google Cloud.

Métriques basées sur les journaux

Les métriques basées sur les journaux sont des métriques Cloud Monitoring qui sont 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 qui correspond 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écepteurs 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 le stockage des journaux dans des buckets Logging, ils peuvent ê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 au niveau du projet Google Cloud ou 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 pour évaluer 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 section 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 la façon dont vous utilisez les rôles et les autorisations Identity and Access Management (IAM) pour contrôler l'accès aux données Cloud Logging, consultez la page Contrôle des accès avec IAM.

Étapes suivantes

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