Interroger et analyser des journaux avec l'Analyse de journaux

Ce document explique comment interroger et analyser les données de journal stockées dans des buckets de journaux qui ont été mis à niveau pour utiliser l'Analyse de journaux. Vous pouvez interroger les journaux de ces buckets à l'aide de SQL, ce qui vous permet de filtrer et d'agréger vos journaux. Pour afficher les résultats de votre requête, vous pouvez utiliser le format tabulaire ou visualiser les données à l'aide de graphiques. Vous pouvez enregistrer ces tableaux et graphiques dans vos tableaux de bord personnalisés.

Vous pouvez interroger une vue de journal sur un bucket de journaux. Lorsque vous interrogez une vue de journal, le schéma correspond à celui de la structure de données LogEntry.

Vous pouvez utiliser l'explorateur de journaux pour afficher les entrées de journal stockées dans les buckets de journaux de votre projet, que le bucket de journaux ait été mis à niveau pour utiliser Log Analytics ou non.

Log Analytics ne déduplique pas les entrées de journal, ce qui peut affecter la manière dont vous rédigez vos requêtes. L'utilisation de Log Analytics comporte également certaines restrictions. Pour en savoir plus sur ces sujets, consultez les documents suivants:

À propos des ensembles de données associés

L'Analyse de journaux permet de créer des ensembles de données BigQuery associés, qui donnent à BigQuery un accès en lecture aux données sous-jacentes. Si vous choisissez de créer un ensemble de données associé, vous pouvez procéder comme suit:

Ce document n'explique pas comment créer un ensemble de données associé ni comment configurer Log Analytics pour exécuter des requêtes sur des emplacements réservés. Si ces sujets vous intéressent, consultez Interroger un ensemble de données associé dans BigQuery.

Avant de commencer

Cette section décrit les étapes à suivre avant de pouvoir utiliser Log Analytics.

Configurer des buckets de journaux

Assurez-vous que vos buckets de journaux ont été mis à niveau pour utiliser l'Analyse de journaux:

  1. Dans la console Google Cloud, accédez à la page Stockage des journaux.

    Accéder à la page Stockage des journaux

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

  2. Pour chaque bucket de journaux pour lequel vous souhaitez interroger une vue de journaux, assurez-vous que la colonne Log Analytics disponible affiche Ouvrir. Si l'option Mettre à niveau s'affiche, cliquez sur Mettre à niveau et remplissez la boîte de dialogue.

Configurer les rôles et les autorisations IAM

Cette section décrit les rôles ou autorisations IAM requis pour utiliser Log Analytics:

  • Pour obtenir les autorisations nécessaires pour utiliser Log Analytics et interroger les vues de journaux, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet:

    Vous pouvez limiter un principal à une vue de journaux spécifique en ajoutant une condition IAM à l'attribution du rôle "Accès aux vues de journaux" effectuée au niveau du projet ou en ajoutant une liaison IAM au fichier de stratégie de la vue de journaux. Pour en savoir plus, consultez la page Contrôler l'accès à une vue de journal.

    Il s'agit des mêmes autorisations dont vous avez besoin pour afficher les entrées de journal sur la page Explorateur de journaux. Pour en savoir plus sur les rôles supplémentaires dont vous avez besoin pour interroger des vues sur des buckets définis par l'utilisateur ou pour interroger la vue _AllLogs du bucket de journaux _Default, consultez la section Rôles Cloud Logging.

Interroger une vue de journal

Lorsque vous résolvez un problème, vous pouvez dénombrer les entrées de journal avec un champ correspondant à un modèle ou calculer la latence moyenne pour une requête HTTP. Pour effectuer ces actions, exécutez une requête SQL sur une vue des journaux.

Pour envoyer une requête SQL à une vue de journaux, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Analyse de journaux:

    Accéder à l'Analyse de journaux

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

  2. Dans la liste Vues des journaux, recherchez la vue, puis sélectionnez Requête. Le volet Requête est renseigné par une requête par défaut, qui inclut le nom de la table pour le nom de la vue de journal interrogé. Ce nom est au format project_ID.region.bucket_ID.view_ID.

    Vous pouvez également saisir une requête dans le volet Requête ou modifier une requête affichée. Pour obtenir des exemples de requêtes, consultez la page Exemples de requêtes.

    Pour spécifier une période, nous vous recommandons d'utiliser le sélecteur de période. Toutefois, vous pouvez ajouter une clause WHERE qui spécifie le champ timestamp. Lorsqu'une requête inclut un champ timestamp, ce code temporel remplace la période sélectionnée dans le sélecteur de période et le sélecteur de période est désactivé.

  3. Dans la barre d'outils, assurez-vous qu'un bouton intitulé Run query (Exécuter la requête) s'affiche.

    Si la barre d'outils affiche Exécuter dans BigQuery, cliquez sur  Paramètres, puis sélectionnez Log Analytics (par défaut).

  4. Exécutez votre requête.

    La requête est exécutée, et son résultat s'affiche dans l'onglet Résultats.

    Vous pouvez utiliser les options de la barre d'outils pour mettre en forme votre requête, la supprimer et ouvrir la documentation de référence SQL de BigQuery.

  5. (Facultatif) Créez un graphique ou enregistrez les résultats dans un tableau de bord personnalisé.

    Par défaut, les résultats de votre requête sont présentés sous forme de tableau. Toutefois, vous pouvez créer un graphique et enregistrer le tableau ou le graphique dans un tableau de bord personnalisé.

    Pour savoir comment créer et configurer un graphique, et enregistrer un résultat de requête dans un tableau de bord, consultez la section Graphiquer les résultats de requête SQL.

Afficher le schéma d'une vue de journal

Le schéma d'une vue de journal définit sa structure et le type de données pour chaque champ. Ces informations sont importantes pour vous, car elles déterminent la façon dont vous créez vos requêtes. Par exemple, supposons que vous souhaitiez calculer la latence moyenne des requêtes HTTP. Vous devez savoir comment accéder au champ de latence et s'il est stocké sous forme d'entier comme 100 ou sous forme de chaîne comme "100". Lorsque les données de latence sont stockées sous forme de chaîne, la requête doit convertir la valeur en valeur numérique avant de calculer une moyenne.

Lorsque le type de données d'une colonne est JSON, le schéma ne liste pas les champs disponibles pour cette colonne. Par exemple, une entrée de journal peut avoir un champ nommé json_payload. Lorsqu'un bucket de journaux est mis à niveau pour utiliser Log Analytics, ce champ est mappé sur une colonne avec un type de données JSON. Le schéma n'indique pas les champs enfants de la colonne. Autrement dit, vous ne pouvez pas utiliser le schéma pour déterminer si json_payload.url est une référence valide.

Pour identifier le schéma d'une vue de journal, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Analyse de journaux:

    Accéder à l'Analyse de journaux

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

  2. Dans la liste Vues de journaux, recherchez la vue de journal, puis sélectionnez son nom.

    Le schéma s'affiche. Vous pouvez utiliser le champ Filtre pour localiser des champs spécifiques. Vous ne pouvez pas modifier le schéma.

Étape suivante