Présentation de Cloud Logging

Ce document présente Cloud Logging, un système de gestion des journaux en temps réel compatible avec le stockage, la recherche, l'analyse et la surveillance. Cloud Logging collecte automatiquement les données de journalisation des ressources Google Cloud. Vos applications, vos ressources sur site et les ressources d'autres fournisseurs de services cloud peuvent envoyer des données de journaux à Cloud Logging. Vous pouvez également configurer des règles d'alerte afin que Cloud Monitoring vous avertisse lorsque certains types d'événements sont signalés dans vos données de journal. Pour des raisons réglementaires ou de sécurité, vous pouvez déterminer l'emplacement de stockage de vos données de journal.

Collecter des journaux à partir de vos applications et de logiciels tiers

Vous pouvez collecter les journaux des applications que vous écrivez en instrumentant votre application à l'aide d'une bibliothèque cliente. Toutefois, il n'est pas toujours nécessaire d'instrumenter votre application. Par exemple, pour certaines configurations, vous pouvez utiliser l'agent Ops pour envoyer les journaux écrits dans stdout ou stderr à votre projet Google Cloud.

Vous pouvez également collecter des données de journalisation à partir de vos applications tierces, comme nginx, en installant l'agent Ops, puis en le configurant pour qu'il écrive des journaux de cette application dans votre projet Google Cloud.

Consultez la section Lequel devez-vous utiliser: agent Logging ou bibliothèque cliente ? pour obtenir des informations qui peuvent vous aider à choisir l'approche la mieux adaptée à vos besoins.

Résoudre les problèmes et analyser les journaux

Vous pouvez afficher et analyser vos données de journal à l'aide de la console Google Cloud, avec l'explorateur de journaux ou les pages Log Analytics. Vous pouvez interroger et afficher des journaux avec les deux interfaces. Toutefois, elles utilisent des langages de requête différents et disposent de fonctionnalités différentes.

Lorsque vous souhaitez résoudre des problèmes et analyser les performances de vos services et applications, nous vous recommandons d'utiliser l'explorateur de journaux. Cette interface est conçue pour vous permettre d'afficher des entrées de journal individuelles et de trouver des entrées de journal associées. Par exemple, lorsqu'une entrée de journal fait partie d'un groupe d'erreurs, elle est annotée d'un menu d'options qui vous permet d'accéder à plus d'informations sur l'erreur.

Si vous souhaitez effectuer des opérations agrégées sur vos journaux (par exemple, pour calculer la latence moyenne des requêtes HTTP émises vers une URL spécifique au fil du temps), utilisez l'interface Log Analytics. Avec cette interface, vous utilisez SQL pour interroger vos données de journal. Vous pouvez donc utiliser les fonctionnalités de SQL pour vous aider à comprendre vos données de journal.

Si vous préférez interroger vos données de journal de manière programmatique, vous pouvez utiliser l'API Cloud Logging ou la Google Cloud CLI pour exporter les données de journal de votre projet Google Cloud.

Pour en savoir plus, consultez la section Présentation de l'interrogation et de l'affichage des journaux.

Surveiller vos journaux

Vous pouvez configurer Cloud Logging pour recevoir une notification lorsque certains types d'événements se produisent dans vos journaux. Ces notifications peuvent être envoyées lorsqu'un modèle particulier apparaît dans une entrée de journal ou lorsqu'une tendance est détectée dans vos données de journal. Si vous souhaitez consulter les taux d'erreur de vos services Google Cloud, vous pouvez afficher le tableau de bord Cloud Logging, qui est préconfiguré.

Par exemple, si vous souhaitez être averti lorsqu'un message particulier, comme un événement critique lié à la sécurité, se produit, vous pouvez créer une règle d'alerte basée sur les journaux. Une règle d'alerte basée sur les journaux surveille vos journaux à la recherche d'un schéma spécifique. Si ce modèle est détecté, Monitoring envoie une notification et crée un incident. Les règles d'alerte basées sur les journaux sont utiles pour les événements importants, mais rares, comme les suivants:

  • Vous souhaitez être averti lorsqu'un événement apparaît dans un journal d'audit (par exemple, un utilisateur accède à la clé de sécurité d'un compte de service).
  • Votre application écrit des messages de déploiement dans les journaux et vous souhaitez être averti lorsqu'une modification de déploiement est enregistrée.

Vous pouvez également surveiller les tendances ou l'occurrence d'événements au fil du temps. Dans ce cas, vous pouvez créer une métrique basée sur les journaux. Une métrique basée sur les journaux peut compter le nombre d'entrées de journal correspondant à un critère, ou extraire et organiser des informations telles que les temps de réponse dans des histogrammes. Vous pouvez également configurer des règles d'alerte qui vous informent lorsque des modifications de performances se produisent, par exemple lorsque le temps de réponse augmente à un niveau inacceptable. Les métriques basées sur les journaux sont adaptées si vous souhaitez effectuer l'une des opérations suivantes:

  • Comptez les occurrences d'un message dans vos journaux, par exemple un avertissement ou une erreur, et recevez une notification lorsque le nombre d'occurrences dépasse un certain seuil.
  • Observer les tendances qui se dessinent dans vos données, par exemple les valeurs de latence dans les journaux, et recevoir une notification si ces valeurs changent de manière inacceptable.
  • Créez des graphiques affichant les données numériques extraites de vos journaux.

Pour en savoir plus, consultez la page Surveiller vos journaux.

Stockage des journaux

Vous n'avez pas besoin de configurer l'emplacement où les journaux sont stockés. Par défaut, votre projet Google Cloud stocke automatiquement tous les journaux qu'il reçoit dans un bucket de journaux Cloud Logging. Par exemple, si votre projet Google Cloud contient une instance Compute Engine, tous les journaux générés par Compute Engine sont automatiquement stockés pour vous. Toutefois, si nécessaire, vous pouvez configurer un certain nombre d'aspects concernant le stockage de vos journaux, tels que les journaux stockés, ceux qui sont supprimés et l'emplacement où ils sont stockés.

Vous pouvez acheminer, ou transférer, les entrées de journal vers les destinations suivantes, qui peuvent se trouver dans le même projet Google Cloud ou dans un autre projet Google Cloud:

  • 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, y compris sur la prise en charge de la régionalité des données, consultez la page Présentation du routage et du stockage.

Catégories de journaux

Les catégories de journaux sont destinées à décrire les informations de journalisation disponibles. Les catégories ne s'excluent pas mutuellement:

  • Les journaux de plate-forme sont des journaux écrits par vos services Google Cloud. Ces journaux peuvent vous aider à déboguer et à résoudre les problèmes, et aussi à mieux comprendre les services Google Cloud que vous utilisez.

  • Les journaux des composants sont semblables aux journaux de plate-forme, mais ils sont générés par les composants logiciels fournis par Google qui s'exécutent sur vos systèmes. Par exemple, GKE fournit des composants logiciels que les utilisateurs peuvent exécuter sur leurs VM ou dans leur centre de données. Les journaux sont générés à partir des instances GKE de l'utilisateur et envoyés à son projet Google Cloud. GKE se sert de ces journaux ou de leurs métadonnées pour apporter une assistance à l'utilisateur.

  • Les journaux de sécurité vous aident à déterminer qui a fait quoi, où et quand :

    • Cloud Audit Logs vous renseigne sur les activités d'administration et les accès au sein de vos ressources Google Cloud. L'activation des journaux d'audit permet à vos entités de sécurité, d'audit et de conformité de surveiller les données et les systèmes Google Cloud afin de détecter d'éventuelles failles ou un usage abusif des données externes. Pour obtenir la liste des services Google Cloud compatibles, consultez la page Services Google avec journaux d'audit.
    • Access Transparency vous fournit des journaux répertoriant les actions réalisées par les employés de Google lorsqu'ils accèdent à votre contenu Google Cloud. Les journaux Access Transparency peuvent vous aider à réaliser le suivi de la conformité de votre entreprise par rapport à ses obligations légales et réglementaires. Pour obtenir la liste des services Google Cloud compatibles, consultez la section Services Google avec journaux Access Transparency.
  • Les journaux écrits par l'utilisateur sont des journaux écrits par des applications et services personnalisés. En général, ces journaux sont inscrits dans Cloud Logging à l'aide de l'une des méthodes suivantes:

  • Les journaux multicloud et les journaux cloud hybride désignent les journaux provenant d'autres fournisseurs de services cloud comme Microsoft Azure et les journaux d'infrastructures sur site.

Modèle de données pour les journaux

Le modèle de données que Cloud Logging utilise pour organiser vos données de journaux détermine les dimensions sur lesquelles vous pouvez interroger ces données. Par exemple, comme un journal est une collection nommée d'entrées individuelles, vous pouvez interroger vos données par nom de journal. De même, comme chaque journal est composé d'entrées de journal formatées en tant qu'objets LogEntry, vous pouvez écrire des requêtes qui ne récupèrent que les entrées de journal dont la valeur d'un champ LogEntry correspond à certains critères. Par exemple, vous ne pouvez afficher que les entrées de journal dont le champ severity a la valeur ERROR.

Chaque entrée de journal enregistre l'état ou décrit un événement spécifique, tel que la création d'une instance de VM. Elle comprend au minimum les éléments suivants:

  • Un horodatage indiquant quand l'événement a eu lieu, ou quand il a été reçu par Cloud Logging.
  • Informations sur la source de l'entrée de journal. Cette source est appelée ressource surveillée. Les instances de VM Compute Engine individuelles et les conteneurs Google Kubernetes Engine sont des exemples de ressources surveillées. Pour obtenir la liste complète des types de ressources surveillées, consultez la page Liste de ressources et services surveillés.
  • Une charge utile, également appelée message, soit sous forme de données textuelles non structurées, soit de données textuelles structurées au format JSON.
  • Le nom du journal auquel l'entrée appartient. Le nom d'un journal inclut le chemin complet de la ressource à laquelle appartiennent les entrées de journal, suivi d'un identifiant. Voici des exemples de noms de journaux:

    • projects/my-project/logs/stderr
    • projects/my-project/logs/stdout
    • projects/my-project/compute.googleapis.com/activity

Contrôle des accès

Les rôles Identity and Access Management contrôlent la possibilité pour un compte principal d'accéder aux journaux. Vous pouvez attribuer des rôles prédéfinis aux principaux ou créer des rôles personnalisés. Pour en savoir plus sur les autorisations requises, consultez la section Contrôle des accès.

Fidélisation

Les entrées de journal sont stockées dans des buckets de journaux pendant la période spécifiée, puis sont supprimées. Pour en savoir plus, consultez la page Présentation du routage et du stockage: conservation.

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 :