Afficher les journaux acheminés vers Cloud Storage

Ce document explique comment trouver les entrées de journal que vous avez acheminées de Cloud Logging vers des buckets Cloud Storage.

Les entrées de journal sont enregistrées toutes les heures et sous forme de lots dans des buckets Cloud Storage. L'affichage des premières entrées peut prendre 2 à 3 heures.

Avant de commencer

Pour en savoir plus sur les récepteurs, consultez la page Présentation des modèles de routage et de stockage: récepteurs.

Pour savoir comment acheminer vos journaux, consultez la section Acheminer les journaux vers des destinations compatibles.

Voir les journaux

Pour afficher les journaux acheminés vers Cloud Storage, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Buckets:

    Accéder à Buckets

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Cloud Storage.

  2. Sélectionnez le bucket Cloud Storage que vous utilisez comme destination de routage.

Organisation des journaux

Lorsque vous acheminez des journaux vers un bucket Cloud Storage, Logging crée un ensemble de fichiers au sein du bucket.

Les fichiers sont organisés en hiérarchies de répertoires classées par type de journal et par date. Le type de journal, appelé [LOG_ID] dans la documentation de référence de LogEntry, peut correspondre à un nom simple, tel que syslog, ou à un nom composé, tel que appengine.googleapis.com/request_log. Si ces journaux sont stockés dans un bucket appelé my-gcs-bucket, les répertoires sont alors nommés comme dans l'exemple suivant:

my-gcs-bucket/syslog/YYYY/MM/DD/
my-gcs-bucket/appengine.googleapis.com/request_log/YYYY/MM/DD/

Un seul bucket Cloud Storage peut contenir des journaux provenant de plusieurs types de ressources. La taille maximale des fichiers est de 3,5 Gio.

Logging ne garantit pas la déduplication des entrées de journal des récepteurs contenant des requêtes identiques ou se chevauchant. Les entrées de journal de ces récepteurs peuvent être écrites plusieurs fois dans un bucket Cloud Storage.

Les répertoires feuilles (DD/) comportent plusieurs fichiers conservant chacun les entrées de journal acheminées pendant une période spécifiée dans le nom de fichier. Les fichiers sont partitionnés et leur nom se termine par un numéro de partition, Sn ou An (n = 0, 1, 2, etc.). Par exemple, voici deux fichiers qui pourraient être stockés dans le répertoire my-gcs-bucket/syslog/2015/01/13/ :

08:00:00_08:59:59_S0.json
08:00:00_08:59:59_S1.json

Ces deux fichiers contiennent les entrées de journal de syslog pour toutes les instances entre 08:00:00 UTC et 08:59:59 UTC. Les horodatages d'entrée de journal utilisent l'heure UTC (temps universel coordonné).

Les entrées de journal qui arrivent avec un receiveTimestamp dans la fenêtre alignée de 60 minutes de leur timestamp sont écrites dans les fichiers de partition principale. Par exemple, une entrée de journal avec un timestamp de 08:00:00 et un receiveTimestamp de 08:10:00 est stockée dans le fichier de partition principale.

Ces fichiers incluent une partition principale numérotée dans le suffixe : _Sn.json.

Les entrées de journal qui arrivent avec un timestamp dans une fenêtre alignée de 60 minutes différente de leur receiveTimestamp sont écrites dans des fichiers de partitions supplémentaires. Par exemple, une entrée de journal avec un timestamp de 08:00:00 et un receiveTimestamp de 09:10:00 est stockée dans un fichier de partition supplémentaire.

Ces fichiers incluent une partition supplémentaire numérotée avec le suffixe : _An:Unix_timestamp.json.

Par exemple, une entrée de journal ayant un timestamp entre 08:00:00 et 08:59:59 mais un receiveTimestamp dans une fenêtre alignée de 60 minutes différente est écrite dans un fichier avec le suffixe _An:Unix_timestamp.json, où l'horodatage Unix identifie l'heure à laquelle le fichier a été acheminé vers Cloud Storage. Si une entrée de journal a un timestamp de 08:50:00 et un receiveTimestamp de 09:10:00, et qu'elle a été acheminée le 25 mars 2021 à 09:15:00. le fichier supplémentaire serait écrit comme suit:

08:00:00_08:59:59_A0:1616681700.json

Pour obtenir toutes les entrées de journal, vous devez consulter l'ensemble des partitions pour chaque période (dans le cas présent, les partitions de fichiers 0 et 1). Le nombre de partitions de fichiers rédigées peut varier pour chaque période.

Dans les fichiers partitionnés individuels, les entrées de journal sont stockées sous la forme d'une liste d'objets LogEntry. Pour obtenir un exemple d'entrée syslog, consultez la section Organisation des entrées de journal.

Notez que l'ordre de tri des entrées de journal dans les fichiers n'est ni uniforme, ni garanti.

Entrées de journal tardives

Les entrées de journal acheminées sont enregistrées toutes les heures et sous forme de lots dans des buckets Cloud Storage. L'affichage des premières entrées peut prendre 2 à 3 heures. Les partitions de fichiers journaux acheminées qui possèdent le suffixe An ("Append", ajout) contiennent les entrées de journal arrivées en retard.

Si l'exportation cesse de fonctionner, Cloud Logging conserve les données en mémoire tampon jusqu'à la fin de l'interruption.

Si la destination de votre récepteur ne comporte aucun journal, vérifiez les métriques système liées à l'exportation. Les métriques système liées à l'exportation indiquent le nombre d'entrées de journal acheminées et supprimées en raison d'erreurs. Si elles indiquent qu'aucune entrée de journal n'a été acheminée vers la destination, vérifiez votre [filter][export-query] pour vous assurer que les entrées correspondant à votre filtre ont bien récemment été reçues dans Logging.

Dans la console Google Cloud, accédez à la page Routeur de journaux :

Accéder au routeur de journaux

Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

Entrées de journal App Engine

Lorsque la requête générant l'activité de journalisation est exécutée, App Engine combine plusieurs sous-entrées de type google.appengine.logging.v1.LogLine (également appelées AppLog ou AppLogLine) sous une entrée de journal principale de type google.appengine.logging.v1.RequestLog. Les lignes de journal possèdent chacune un "ID de requête" qui identifie l'entrée principale. L'explorateur de journaux affiche les lignes de journal avec l'entrée de journal de la requête. Logging tente alors de placer toutes les lignes de journal dans le lot avec la requête d'origine, même si leur horodatage les placerait normalement dans le lot suivant. En cas d'impossibilité, il peut manquer certaines lignes à l'entrée de journal de la requête, et le lot suivant peut contenir des lignes de journal "orphelines" sans requête. Si vous souhaitez éviter ceci, préparez-vous à reconstituer les éléments de la requête lorsque vous traitez vos journaux.

Dépannage

Si les journaux semblent manquants dans la destination de votre récepteur ou si vous pensez que votre récepteur n'achemine pas correctement les journaux, consultez la section Résoudre les problèmes de routage des journaux.

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 :