Interroger et analyser des journaux avec l'Analyse de journaux

Ce document explique comment interroger et analyser vos données de journaux à l'aide de l'analyse de journaux, qui fournit une interface de requête basée sur SQL. En utilisant SQL, vous pouvez effectuer des tâches telles que compter les entrées de journal avec un champ correspondant à un modèle. L'analyse de journaux fournit un éditeur SQL et un système basé sur des menus pour créer des requêtes. Pour afficher les résultats de votre requête, vous pouvez utiliser le format tabulaire ou visualiser les données sous forme de graphique. Vous pouvez enregistrer vos graphiques dans vos tableaux de bord personnalisés.

Vous pouvez interroger une vue de journal sur un bucket de journaux ou une vue d'analyse. Lorsque vous interrogez une vue de journaux, le schéma correspond à celui de la structure de données LogEntry. Étant donné que le créateur d'une vue Analytics détermine le schéma, l'un des cas d'utilisation des vues Analytics consiste à transformer les données de journaux au format LogEntry en un format qui vous convient mieux.

Log Analytics ne déduplique pas les entrées de journal, ce qui peut avoir une incidence sur la façon dont vous rédigez vos requêtes. L'utilisation de l'analyse de journaux est également soumise à certaines restrictions. Pour en savoir plus sur ces thèmes, 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 autorisent BigQuery à accéder en lecture aux données sous-jacentes. Si vous choisissez de créer un ensemble de données associé, vous pouvez effectuer les actions suivantes :

Ce document ne décrit 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 comportant une vue de journaux que vous souhaitez interroger, assurez-vous que la colonne Analyse de journaux disponible affiche Ouvrir. Si l'option Mettre à niveau s'affiche, cliquez dessus et remplissez la boîte de dialogue.

Configurer les rôles et 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 l'accès d'une entité principale à une vue de journaux spécifique en ajoutant une condition IAM à l'attribution du rôle "Accesseur de vues de journaux" 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 Contrôler l'accès à une vue de journal.

    Il s'agit des mêmes autorisations que celles 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 les vues sur les buckets définis par l'utilisateur ou pour interroger la vue _AllLogs du bucket de journaux _Default, consultez Rôles Cloud Logging.

  • Pour obtenir les autorisations nécessaires pour interroger les vues Analytics, demandez à votre administrateur de vous accorder le rôle IAM Utilisateur Observability Analytics (roles/observability.analyticsUser) sur votre projet.

Interroger les données des journaux

Cette section décrit les approches que vous pouvez utiliser pour interroger vos données de journaux :

  • Chargez une requête définie par le système, modifiez-la, puis exécutez-la.
  • Saisissez et exécutez une requête personnalisée. Par exemple, vous pouvez coller une requête que vous avez ou en écrire une. Les requêtes personnalisées peuvent inclure des jointures, des requêtes imbriquées et d'autres instructions SQL complexes. Pour obtenir des exemples, consultez Exemples de requêtes SQL.
  • Créez une requête en sélectionnant des éléments dans les menus, puis exécutez-la. L'Analyse de journaux convertit vos sélections en requête SQL, que vous pouvez afficher et modifier.

Charger, modifier et exécuter la requête définie par le système

  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 le menu Vues, accédez à la section Journaux ou Vues Analytics , puis sélectionnez la vue que vous souhaitez interroger.

    Pour trouver la vue à interroger, utilisez la barre de Filtre ou faites défiler la liste :

    • Les vues de journaux sont listées par BUCKET_ID.LOG_VIEW_ID, où ces champs font référence aux ID du bucket de journaux et de la vue de journaux.

    • Les vues Analytics sont listées par LOCATION.ANALYTICS_VIEW_ID, où ces champs font référence à l'emplacement et à l'ID d'une vue Analytics. Les vues Analytics sont en version Preview publique.

  3. Effectuez l'une des opérations suivantes :

    • Pour charger une requête définie par le système qui s'appuie sur le générateur de requêtes, qui vous permet de définir la requête à l'aide de sélections de menu, assurez-vous que le volet Requête affiche Générateur de requêtes. Si un éditeur SQL s'affiche, cliquez sur  Concepteur.

    • Pour charger une requête définie par le système qui extrait des valeurs JSON, assurez-vous que le volet Requête affiche l'éditeur SQL. Si ce volet affiche Éditeur de requête, cliquez sur  SQL.

  4. Dans le volet Schéma, sélectionnez Requête, puis cliquez sur Écraser.

    Le volet Requête affiche une requête définie par le système. Si vous avez sélectionné le mode Créateur de requêtes, mais que vous souhaitez afficher la requête SQL, cliquez sur  SQL.

  5. Facultatif : modifiez la requête.

  6. Pour exécuter la requête, accédez à la barre d'outils et sélectionnez Exécuter la requête.

    Log Analytics présente les résultats de la requête dans un tableau. Toutefois, vous pouvez créer un graphique, et vous pouvez également enregistrer le tableau ou le graphique dans un tableau de bord personnalisé. Pour en savoir plus, consultez Représenter les résultats de requêtes SQL sous forme de graphiques.

    Si la barre d'outils affiche Exécuter dans BigQuery, vous devez passer à Log Analytics pour utiliser le moteur de requête par défaut. Pour effectuer cette modification, dans la barre d'outils du volet Requête, cliquez sur Paramètres, puis sélectionnez Analytics (par défaut).

Saisir et exécuter une requête personnalisée

Pour saisir une requête SQL, 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 le volet Requête, cliquez sur  SQL.

    • Pour spécifier une plage de dates, nous vous recommandons d'utiliser le sélecteur de plage de dates. Si vous ajoutez une clause WHERE qui spécifie le champ timestamp, cette valeur remplace le paramètre du sélecteur de période, qui est alors désactivé.

    • Pour obtenir des exemples, consultez Exemples de requêtes SQL.

    • Vous pouvez interroger les vues de journaux ou les vues d'analyse. Utilisez le format suivant pour la clause FROM :

      • Vues de journaux :

        FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
        
      • Vues Analytics :

        FROM `analytics_view.PROJECT_ID.LOCATION.ANALYTICS_VIEW_ID`
        

      Les champs des expressions précédentes ont la signification suivante :

      • PROJECT_ID : identifiant du projet.
      • LOCATION : emplacement de la vue des journaux ou de la vue des données analytiques.
      • BUCKET_ID : nom ou ID du bucket de journaux.
      • LOG_VIEW_ID : identifiant de la vue de journal, limité à 100 caractères et ne pouvant inclure que des lettres, des chiffres, des traits de soulignement et des traits d'union.
      • ANALYTICS_VIEW_ID : ID de la vue Analytics, limité à 100 caractères et ne pouvant inclure que des lettres, des chiffres, des traits de soulignement et des traits d'union.

    Si le volet de requête affiche un message d'erreur faisant référence à l'instruction FROM, cela signifie que la vue est introuvable. Pour savoir comment résoudre cet échec, consultez La clause FROM de l'erreur doit contenir exactement une vue de journal.

  3. Pour exécuter la requête, accédez à la barre d'outils et sélectionnez Exécuter la requête.

    Log Analytics présente les résultats de la requête dans un tableau. Toutefois, vous pouvez créer un graphique, et vous pouvez également enregistrer le tableau ou le graphique dans un tableau de bord personnalisé. Pour en savoir plus, consultez Représenter les résultats de requêtes SQL sous forme de graphiques.

    Si la barre d'outils affiche Exécuter dans BigQuery, vous devez passer à Log Analytics pour utiliser le moteur de requête par défaut. Pour effectuer cette modification, dans la barre d'outils du volet Requête, cliquez sur Paramètres, puis sélectionnez Analytics (par défaut).

Créer, modifier et exécuter une requête

L'interface du générateur de requêtes vous permet de créer une requête en effectuant des sélections dans les menus. L'analyse de journaux convertit vos sélections en requête SQL, que vous pouvez afficher et modifier. Par exemple, vous pouvez commencer par utiliser l'interface du générateur de requêtes, puis passer à l'éditeur SQL pour affiner votre requête.

L'Analyse de journaux peut toujours convertir vos sélections de menu dans l'interface du compilateur de requêtes en requête SQL. Toutefois, l'interface du générateur de requêtes ne peut pas représenter toutes les requêtes SQL. Par exemple, les requêtes avec des jointures ne peuvent pas être représentées par cette interface.

Pour créer une requête :

  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. Si le volet Requête affiche un éditeur SQL, sélectionnez Générateur, ce qui ouvre le volet Générateur de requêtes.

  3. Utilisez les menus Source et Champs pour sélectionner la vue et les colonnes qui s'affichent dans le tableau de résultats. Vos sélections sont mappées aux clauses FROM et SELECT de la requête SQL.

  4. Facultatif : Utilisez les menus suivants pour limiter ou mettre en forme le tableau de résultats :

    • Rechercher dans tous les champs : recherchez les chaînes correspondantes. Vos sélections sont mappées à la clause WHERE de la requête SQL.

    • Filtres : ajoutez des filtres lorsque vous souhaitez limiter la requête aux spans qui contiennent un attribut ou un ID de span spécifique. Le menu liste toutes les options de filtre disponibles. Vos sélections sont mappées à la clause WHERE dans la requête SQL.

    • Trier par : définissez les colonnes à trier et indiquez si le tri est croissant ou décroissant. Vos sélections sont mappées à la clause ORDER BY dans la requête SQL.

    • Limite : définissez le nombre maximal de lignes dans le tableau de résultats. Vos sélections sont mappées à la clause LIMIT dans la requête SQL.

  5. Pour exécuter la requête, accédez à la barre d'outils et sélectionnez Exécuter la requête.

    Log Analytics présente les résultats de la requête dans un tableau. Toutefois, vous pouvez créer un graphique, et vous pouvez également enregistrer le tableau ou le graphique dans un tableau de bord personnalisé. Pour en savoir plus, consultez Représenter les résultats de requêtes SQL sous forme de graphiques.

    Si la barre d'outils affiche Exécuter dans BigQuery, vous devez passer à Log Analytics pour utiliser le moteur de requête par défaut. Pour effectuer cette modification, dans la barre d'outils du volet Requête, cliquez sur Paramètres, puis sélectionnez Analytics (par défaut).

Afficher le schéma

Le schéma définit la façon dont les données sont stockées, y compris les champs et leurs types de données. Ces informations sont importantes pour vous, car le schéma détermine les champs que vous interrogez et si vous devez caster des champs vers différents types de données. Par exemple, pour écrire une requête qui calcule la latence moyenne des requêtes HTTP, vous devez savoir comment accéder au champ de latence et s'il est stocké sous la forme d'un entier comme 100 ou d'une chaîne comme "100". Si les données de latence sont stockées sous forme de chaîne, la requête doit caster la valeur en valeur numérique avant de calculer une moyenne.

Pour identifier le schéma, 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 le menu Vues, accédez à la section Journaux ou Vues Analytics , puis sélectionnez la vue que vous souhaitez interroger.

    Le volet Schéma est mis à jour. Log Analytics déduit automatiquement les champs d'une colonne lorsque le type de données est JSON. Pour savoir à quelle fréquence ces champs inférés apparaissent dans vos données, cliquez sur Options, puis sélectionnez Afficher les infos et la description.

    Pour les vues de journaux, le schéma est fixe et correspond à LogEntry. Pour les vues analytiques, vous pouvez modifier la requête SQL afin de changer le schéma.

Étapes suivantes