Présentation de Cloud Logging

Ce document présente Cloud Logging, un système de gestion des journaux en temps réel offrant une compatibilité avec le stockage, la recherche, l'analyse et la surveillance. Cloud Logging collecte automatiquement les journaux à partir des ressources Google Cloud. Vous pouvez également collecter les journaux de vos applications, de ressources sur site et de ressources d'autres fournisseurs cloud. Vous pouvez configurer des alertes pour être informé si certains types d'événements sont consignés dans vos journaux, et pour des raisons réglementaires ou de sécurité, vous pouvez déterminer l'emplacement de stockage de vos données.

Collecter les journaux 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 les données de journal de vos applications tierces, telles que nginx, en installant l'agent Ops, puis en le configurant pour écrire des journaux de cette application dans votre projet Google Cloud.

Consultez la section Que devez-vous utiliser: l'agent Logging ou la bibliothèque cliente ? pour en savoir plus et déterminer l'approche la mieux adaptée à vos besoins.

Résoudre les problèmes liés aux journaux et les analyser

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 les journaux à l'aide des deux interfaces. Toutefois, elles utilisent des langages de requête différents et leurs fonctionnalités sont 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 auquel vous accédez pour en savoir plus sur l'erreur.

Si vous souhaitez effectuer des opérations d'agrégation 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 Log Analytics. Avec cette interface, vous utilisez SQL pour interroger vos données de journaux. Vous pouvez donc exploiter les fonctionnalités de SQL pour mieux les comprendre.

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 des données de journaux à partir de votre projet Google Cloud.

Pour en savoir plus, consultez la présentation des requêtes et des journaux.

Surveiller vos journaux

Vous pouvez configurer Cloud Logging pour qu'il vous informe de certains types d'événements 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 afficher les taux d'erreur de vos services Google Cloud, vous pouvez consulter le tableau de bord Cloud Logging, qui est préconfiguré.

Par exemple, si vous souhaitez être averti d'un message particulier, tel qu'un événement critique de sécurité, 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 modèle spécifique. Si ce modèle est détecté, il envoie une notification et crée un incident. Les alertes basées sur les journaux sont adaptées aux événements importants, mais rares, tels que 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 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 sous forme d'histogrammes. Vous pouvez également configurer des alertes qui vous notifient lorsque des variations de performances se produisent. Par exemple, 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:

  • Comptez les occurrences d'un message, comme un avertissement ou une erreur, dans vos journaux, et recevez une notification lorsque le nombre d'occurrences dépasse un seuil.
  • Observez les tendances dans vos données, telles que les valeurs de latence dans vos journaux, et recevez une notification si les 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 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 plusieurs aspects de votre stockage de journaux, tels que les journaux stockés qui sont supprimés et les emplacements où ils sont stockés.

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: fournit un espace de stockage dans Cloud Logging. Un bucket de journaux peut 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 Log Analytics, puis en créant un ensemble de données BigQuery associé. Pour en savoir plus sur l'affichage des journaux stockés dans les buckets de journaux, consultez la page Présentation des journaux et des requêtes et la section 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 les journaux vers un autre projet Google Cloud, le routeur de journaux du projet de destination reçoit les journaux et les traite. Les récepteurs du projet de destination déterminent le mode d'acheminement des entrées de journal reçues. Les entrées de journal acheminées vers un autre projet Google Cloud ne peuvent pas être analysées par Error Reporting.
  • Sujets Pub/Sub: sont compatibles avec 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 en savoir plus sur l'affichage des journaux acheminés vers Pub/Sub, consultez la section Afficher les journaux acheminés vers Pub/Sub.
  • Ensembles de données BigQuery: fournit des entrées de journal dans les ensembles de données BigQuery. Vous pouvez utiliser les capacités d'analyse de 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 Log Analytics, 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: fournit le stockage des données de journaux dans Cloud Storage. Les entrées de journal sont stockées sous forme de fichiers JSON. Pour en savoir plus sur l'affichage des journaux acheminés vers Cloud Storage, consultez la page Afficher les journaux acheminés vers Cloud Storage.

Pour en savoir plus, y compris sur la prise en charge de la régionalisation des données, consultez Présentation du routage et du stockage.

Catégories de journaux

Les catégories de journaux ont pour but de vous aider à 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, ainsi qu'à 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 sont générés par des 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 au projet Google Cloud de cet utilisateur. GKE utilise les journaux ou leurs métadonnées pour fournir une assistance aux utilisateurs.

  • Les journaux de sécurité vous aident à répondre aux questions suivantes : "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 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 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 à votre contenu Google Cloud. Les journaux Access Transparency peuvent vous aider à suivre la conformité de votre organisation aux 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 les journaux rédigés 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 cloud hybrides font référence aux journaux d'autres fournisseurs cloud tels que Microsoft Azure et aux journaux de l'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 journal 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 le 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 afficher uniquement les entrées de journal dont le champ severity a la valeur ERROR.

Chaque entrée de journal enregistre un état spécifique ou décrit un événement spécifique, tel que la création d'une instance de VM, et se compose au minimum des é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.
  • Une charge utile, également appelée message, qui est fournie sous la 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 les entrées appartiennent, 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.

Tarification et maîtrise des coûts

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

Pour savoir comment réduire les coûts de Logging, consultez Contrôler les coûts liés à Logging.