Présentation de Cloud Logging

Ce document présente Cloud Logging, un système de gestion des journaux en temps réel qui permet d'effectuer des tâches de stockage, de recherche, d'analyse et de surveillance. Cloud Logging collecte automatiquement les journaux des ressources Google Cloud. Vous pouvez également collecter les journaux de vos applications, de vos ressources sur site et de celles d'autres fournisseurs cloud. Vous pouvez configurer des alertes afin d'être averti si certains types d'événements sont signalés dans vos journaux. Pour des raisons réglementaires ou de sécurité, vous pouvez également déterminer l'emplacement de stockage de vos données de journaux.

Collecter les journaux de vos applications et 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 vers votre projet Google Cloud.

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

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

Dépanner et analyser les journaux

Vous pouvez afficher et analyser vos données de journaux à l'aide de la console Google Cloud, via l'explorateur de journaux ou les pages "Analyse de journaux". Vous pouvez interroger et afficher les journaux dans les deux interfaces. Cependant, elles utilisent des langages de requête différents et offrent des fonctionnalités différentes.

Lorsque vous souhaitez dépanner 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 rechercher les 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 avec un menu d'options vous permettant d'accéder à davantage d'informations sur l'erreur.

Lorsque vous souhaitez effectuer des opérations agrégées sur vos journaux, par exemple pour calculer la latence moyenne des requêtes HTTP envoyées à une URL spécifique au fil du temps, utilisez l'interface d'Analyse de journaux. Avec cette interface, vous pouvez interroger les données de journaux à l'aide de SQL. Vous pouvez donc exploiter les fonctionnalités de SQL pour mieux comprendre ces données.

Si vous préférez interroger vos données de journaux par programmation, vous pouvez utiliser l'API Cloud Logging ou Google Cloud CLI pour exporter les données de journaux de votre projet Google Cloud.

Pour en savoir plus, consultez la section Présentation des journaux de requête et d'affichage.

Surveiller vos journaux

Vous pouvez configurer Cloud Logging pour qu'il vous envoie une notification lorsque certains types d'événements se produisent dans vos journaux. Ces notifications peuvent être envoyées lorsqu'un schéma 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 afficher 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 de sécurité, se produit, vous pouvez créer une alerte basée sur les journaux. Une alerte basée sur les journaux surveille vos journaux à la recherche d'un schéma spécifique. Si ce schéma est détecté, elle envoie une notification et crée un incident. Les alertes basées sur les journaux sont adaptées aux é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, lorsqu'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 des événements dans le temps. Dans ces situations, 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 à certains critères, ou extraire et organiser des informations telles que les temps de réponse dans des histogrammes. Vous pouvez également configurer des alertes qui vous avertissent en cas de changements de performances, par exemple lorsque le temps de réponse augmente à un niveau inacceptable. Les métriques basées sur les journaux sont adaptées lorsque vous souhaitez effectuer l'une des opérations suivantes:

  • Compter les occurrences d'un message dans vos journaux, par exemple un avertissement ou une erreur, et recevoir une notification lorsque le nombre d'occurrences dépasse un certain seuil.
  • Observez les tendances dans vos données, telles que les valeurs de latence dans vos journaux, et recevez une notification si ces valeurs changent de manière inacceptable.
  • Créer 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 de stockage des journaux. 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 des journaux, tels que les journaux à stocker, ceux qui sont supprimés et leur emplacement.

Vous pouvez acheminer ou transférer des 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:

  • 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, y compris sur la disponibilité des régions des données, consultez la section 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. Elles 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 à mieux comprendre les services Google Cloud que vous utilisez. Par exemple, les journaux de flux VPC enregistrent un échantillon des flux réseau envoyés et reçus par les instances de VM.

  • Les journaux de 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 leur propre VM ou dans leur propre 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 :

    • Les journaux d'audit Cloud fournissent des informations 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 chargées de la sécurité, de l'audit et de la conformité de surveiller les données et les systèmes Google Cloud afin de détecter d'éventuelles failles ou une utilisation abusive de données externes. Pour obtenir la liste des services compatibles avec Google Cloud, consultez la page Services Google avec journaux d'audit.

    • Access Transparency fournit des journaux répertoriant les actions effectuées par les équipes Google lorsqu'elles accèdent à vos contenus Google Cloud. Les journaux Access Transparency peuvent vous aider à suivre la conformité de votre organisation avec les exigences légales et réglementaires. Pour obtenir la liste des services Google Cloud compatibles, consultez la page Services Google avec journaux Access Transparency.

  • Les journaux écrits par l'utilisateur sont des journaux écrits par des applications et des services personnalisés. En règle générale, ces journaux sont écrits dans Cloud Logging à l'aide de l'une des méthodes suivantes:

  • Les journaux multicloud et les journaux de cloud hybride font référence aux journaux d'autres fournisseurs cloud tels que Microsoft Azure et aux journaux d'infrastructure sur site.

Modèle de données pour les journaux

Le modèle de données utilisé par Cloud Logging pour organiser les données de journaux détermine les dimensions sur lesquelles vous pouvez interroger ces données. Par exemple, comme un log est une collection nommée d'entrées individuelles, vous pouvez interroger vos données par nom du journal. De même, comme chaque journal est composé d'entrées de journal mises en forme 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 pouvez n'afficher que les entrées de journal dont le champ severity a la valeur ERROR.

Chaque entrée de journal enregistre un état ou décrit un événement spécifique, tel que la création d'une instance de VM, et 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 Ressources et services surveillés.
  • Charge utile, également appelée message, fournie sous forme de données textuelles non structurées ou 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 d'accès 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 capacité d'un compte principal à accéder aux journaux. Vous pouvez attribuer des rôles prédéfinis aux comptes principaux ou créer des rôles personnalisés. Pour en savoir plus sur les autorisations requises, consultez la page Contrôle des accès.

Conservation

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 section Présentation du routage et du stockage: conservation.

Contrôle des prix et des coûts

Pour en savoir plus sur la tarification, consultez la page Tarifs de Cloud Logging.

Pour connaître les stratégies permettant de réduire les coûts de Logging, consultez la section Contrôle des coûts de Logging.