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 journaux des ressources Google Cloud. Vous pouvez également collecter des journaux à partir de vos applications, des ressources sur site et des ressources d'autres fournisseurs cloud. Vous pouvez également configurer des règles d'alerte pour que Cloud Monitoring vous informe lorsque certains types d'événements sont consignés dans vos journaux. Pour des raisons réglementaires ou de sécurité, vous pouvez déterminer l'emplacement de stockage des données de journaux.

Collecter les journaux de vos applications et de vos logiciels tiers

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

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

Consultez la section Que devriez-vous utiliser: l'agent Logging ou la 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 journaux à l'aide de la console Google Cloud, à l'aide de l'explorateur de journaux ou des pages "Analyse de journaux". Vous pouvez interroger et afficher les journaux à l'aide des deux interfaces, mais elles utilisent des langages de requête différents et ont des 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 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 à plus 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 de l'Analyse de journaux. Avec cette interface, vous utilisez SQL pour interroger vos données de journaux. Vous pouvez donc exploiter les capacités de SQL pour vous aider à comprendre vos données de journaux.

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

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

Surveiller vos journaux

Vous pouvez configurer Cloud Logging pour qu'il vous avertisse 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 consulter 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 lorsqu'un message particulier, tel qu'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 pour détecter un schéma spécifique. Si ce modèle est identifié, 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, 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 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 à un critère, ou elle peut 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 avertissent en cas de variations 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, comme un avertissement ou une erreur, et recevoir une notification lorsque le nombre d'occurrences dépasse un certain seuil.
  • Observer les tendances dans vos données, telles que les valeurs de latence dans les journaux, et recevoir 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

Il n'est pas nécessaire 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 de votre stockage de journaux, tels que les journaux à stocker, ceux à supprimer et l'emplacement de stockage.

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: stockage dans Cloud Logging. Un bucket de journaux peut stocker des entrées de journal reçues par plusieurs projets Google Cloud. Pour combiner vos données Cloud Logging avec d'autres données, mettez à niveau un bucket de journaux pour utiliser l'Analyse de journaux, puis créez un ensemble de données BigQuery associé. Pour en savoir plus sur l'affichage des entrées de journal stockées dans des buckets de journaux, consultez les pages Présentation des requêtes et de l'affichage des journaux et Afficher les journaux acheminés vers des buckets Cloud Logging.
  • Ensemble de données BigQuery: permet de stocker les entrées de journal dans des ensembles de données BigQuery. Vous pouvez utiliser des fonctions d'analyse de big data sur les entrées de journal stockées. 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 entrées de journaux acheminées vers BigQuery, consultez la section Afficher les journaux acheminés vers BigQuery.
  • Bucket Cloud Storage: ce bucket permet de stocker les entrées de journal dans Cloud Storage. Les entrées de journal 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: prend en charge les intégrations tierces. 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 entrées de journaux acheminées vers Pub/Sub, consultez la section Afficher les journaux acheminés vers Pub/Sub.
  • Splunk: service d'assistance pour Splunk. Vous devez acheminer vos entrées de journal vers un sujet Pub/Sub, puis vous abonner à ce sujet à l'aide de Splunk.
  • Projet Google Cloud: acheminez les entrées du journal vers un autre projet Google Cloud. Lorsque vous acheminez des entrées de journal 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. Error Reporting peut analyser les entrées de journal lorsque le projet de destination les achemine vers un bucket de journaux appartenant au projet de destination.
  • Autres ressources: acheminez les entrées de journal vers une destination compatible qui se trouve dans un projet différent. Pour en savoir plus sur les chemins à utiliser, consultez la section Formats des chemins de destination.

Pour en savoir plus, y compris sur la prise en charge de la régionalité 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 à vous aider à décrire les informations de journalisation à votre disposition. 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 des journaux ou des métadonnées pour apporter une assistance aux utilisateurs.

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

    • Cloud Audit Logs fournit 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 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 vous 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 compatibles avec Google Cloud, consultez la page Services Google avec journaux Access Transparency.

  • Les journaux écrits par l'utilisateur sont ceux écrits par des applications et 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 hybride font référence aux journaux d'autres fournisseurs de services cloud tels que Microsoft Azure et aux journaux d'une infrastructure sur site.

Modèle de données pour les journaux

Le modèle de données utilisé par Cloud Logging 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 le nom du 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 pouvez afficher uniquement 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, 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 surveillées et services.
  • Une 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.

Tarification et contrôle 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 liés à Logging, consultez la page Contrôle des coûts de Logging.