Interroger et afficher des journaux dans l'Analyse de journaux

Ce document explique comment interroger et afficher les journaux stockés dans des buckets de journaux mis à niveau pour utiliser l'Analyse de journaux. Vous pouvez interroger les journaux dans ces buckets à l'aide de SQL, ce qui vous permet de filtrer et d'agréger vos journaux. Pour en savoir plus sur les fonctionnalités d'Analyse de journaux de Cloud Logging, consultez la section Présentation de l'Analyse de journaux.

Lorsque vous mettez à niveau un bucket de journaux pour utiliser l'Analyse de journaux, vous ne limitez pas votre accès à l'Explorateur de journaux. Vous pouvez continuer à résoudre les problèmes et à afficher des entrées de journal individuelles dans ces buckets à l'aide de l'explorateur de journaux.

Pour découvrir comment mettre à niveau un bucket de journaux afin d'utiliser l'Analyse de journaux, consultez les documents suivants:

Avant de commencer

  • Assurez-vous que vous disposez d'un bucket de journaux mis à niveau pour utiliser l'Analyse de journaux. La page Stockage des journaux répertorie vos buckets de journaux et leurs informations de configuration.

    Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Stockage des journaux :

    Accéder à la page Stockage des journaux

  • Pour obtenir les autorisations nécessaires pour charger la page Analyse de journaux, exécuter des requêtes et afficher les journaux, demandez à votre administrateur de vous attribuer les rôles IAM suivants sur votre projet:

    Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

    Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

    Les autorisations dont vous avez besoin pour afficher les entrées de journal et exécuter des requêtes sur la page Analyse de journaux sont identiques à celles dont vous avez besoin pour afficher les journaux sur la page Explorateur de journaux. Pour en savoir plus sur les rôles supplémentaires dont vous avez besoin pour interroger des vues dans des buckets définis par l'utilisateur ou pour interroger la vue _AllLogs du bucket de journaux _Default, consultez la page Rôles Cloud Logging.

  • Pour obtenir les autorisations nécessaires pour afficher les ensembles de données BigQuery associés pour les buckets de journaux, demandez à votre administrateur de vous attribuer le rôle IAM Accesseur de liens de journaux (roles/logging.linkViewer) sur votre projet.

  • Pour obtenir les autorisations nécessaires pour afficher vos données dans BigQuery, demandez à votre administrateur de vous attribuer les rôles IAM suivants sur votre projet:

Interroger une vue de journal

Lorsque vous tentez de résoudre un problème, vous pouvez compter les entrées de journal avec un champ correspondant à un modèle ou calculer la latence moyenne d'une requête HTTP. Vous pouvez effectuer ces actions en exécutant une requête SQL sur une vue de journal.

Pour émettre une requête SQL vers une vue, procédez comme suit:

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Analyse de journaux :

    Accéder à l'Analyse de journaux

  2. Dans la liste Vues de journaux, recherchez la vue souhaitée, puis sélectionnez Requête. Le volet Requête contient une requête par défaut, qui inclut le nom de la table interrogée.

    Vous pouvez également saisir une requête dans le volet Requête ou modifier une requête affichée.

    Pour définir la période de votre requête, utilisez le sélecteur de période ou ajoutez une clause WHERE qui spécifie le champ timestamp. Nous vous recommandons d'utiliser le sélecteur de période pour spécifier la période.

    Si vous spécifiez un horodatage dans votre requête, cet horodatage remplace la période sélectionnée dans le sélecteur de période, qui est alors désactivé. Pour utiliser le sélecteur de période, supprimez les expressions d'horodatage de la clause WHERE de votre requête.

  3. Dans la barre d'outils, cliquez sur Exécuter la requête.

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

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

Afficher le schéma d'une vue

Le schéma d'une vue de journal définit sa structure et le type de données de chaque champ. Ces informations sont importantes pour vous, car elles déterminent la manière dont vous construisez 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 tel que 100 ou s'il est stocké en tant que 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 répertorie pas les champs disponibles pour cette colonne. Par exemple, une entrée de journal peut contenir un champ nommé json_payload. Lorsqu'un bucket de journaux est mis à niveau pour utiliser l'Analyse de journaux, ce champ est mappé à 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, procédez comme suit:

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Analyse de journaux :

    Accéder à l'Analyse de journaux

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

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

Enregistrer une requête

Toutes les requêtes que vous exécutez sont automatiquement enregistrées pendant 30 jours et accessibles en sélectionnant l'onglet Récent de la page Analyse de journaux. Vous pouvez rechercher, afficher, exécuter et partager les requêtes répertoriées dans l'onglet Récentes.

Si vous souhaitez qu'une requête reste disponible pour une utilisation ultérieure, annotez-la avec des informations qui vous sont utiles ou laissez vos collègues afficher et exécuter votre requête, puis enregistrez la requête. Vous pouvez rechercher et trier vos requêtes enregistrées par nom, description et libellé de visibilité. Vous pouvez également modifier et supprimer ces requêtes. Les requêtes que vous enregistrez sont conservées jusqu'à ce que vous les supprimiez.

Vous pouvez enregistrer jusqu'à 10 000 requêtes par projet Google Cloud.

Console

Pour enregistrer une requête, procédez comme suit:

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Analyse de journaux :

    Accéder à l'Analyse de journaux

  2. Remplissez le volet Requête avec une requête.

    Vous pouvez remplir le volet Requête en saisissant une nouvelle requête, en en sélectionnant une dans l'onglet Récent ou en sélectionnant une requête dans l'onglet Enregistrées.

    Lorsque la requête du volet Requête est valide, l'option Enregistrer est activée.

  3. Cliquez sur Enregistrer, puis renseignez les champs Nom et Description. Les valeurs que vous définissez pour ces champs s'affichent dans l'onglet Saved (Enregistrés).

  4. Facultatif: Pour autoriser tous les utilisateurs ayant accès à la page Analyse de journaux pour la vue du projet Google Cloud et exécuter votre requête enregistrée, activez l'option Partager avec le projet.

    Par défaut, cette option est désactivée et la visibilité est limitée à vous.

  5. Cliquez sur Enregistrer la requête.

  6. Facultatif: Pour afficher, trier et exécuter les requêtes enregistrées que vous pouvez consulter, sélectionnez l'onglet Saved (Enregistrées).

    Vous pouvez trier et filtrer vos requêtes enregistrées par nom, description et libellé de visibilité. Vous pouvez également filtrer les résultats en fonction du contenu de la requête.

Vous pouvez modifier et supprimer les requêtes que vous avez créées à l'aide des options de l'onglet Saved (Enregistrées) :

  • Pour modifier une requête, cliquez sur Plus d'options, puis sélectionnez Modifier. Vous pouvez modifier les valeurs des champs Nom et Description, mais la requête elle-même ne peut pas être modifiée.

  • Pour supprimer une requête enregistrée, cliquez sur Plus d'options, puis sélectionnez Supprimer.

API

Pour enregistrer une requête à l'aide de l'API Logging, utilisez la méthode savedQueries.create. Pour en savoir plus sur cette méthode, ses paramètres et les données de réponse, consultez la page de référence de savedQueries.create.

Vous pouvez exécuter la méthode savedQueries.create à l'aide du widget Explorateur d'API sur la page de référence de la méthode. Pour les requêtes d'Analyse de journaux, vous devez spécifier le champ opsAnalyticsQuery. L'exemple suivant illustre un exemple de corps de requête, qui contient une instance de SavedQuery:

{
  "parent": "projects/my-project/locations/global"
  "saved_query":
  {
     "ops_analytics_query":
     {
        "sql_query_text" :
           "SELECT
           timestamp, log_name, severity, json_payload, resource, labels
           FROM
           `TABLE`
           WHERE
           timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
           ORDER BY timestamp ASC
           LIMIT 100"
     }
     "visibility": "PRIVATE"
  }
}

Partager une requête

Console

Lorsque vous résolvez un problème ou que vous constatez des résultats anormaux, vous pouvez partager une requête et ses résultats avec un collègue. Lorsque vous consultez les résultats d'une requête sur la page Analyse de journaux, vous pouvez copier une URL qui, lorsqu'elle est ouverte, affiche la requête que vous avez exécutée et ses résultats.

Pour partager une requête et les résultats avec un collègue, procédez comme suit:

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Analyse de journaux :

    Accéder à l'Analyse de journaux

  2. Dans le volet Requête, saisissez une requête, puis cliquez sur Exécuter la requête.

    Vous pouvez remplir le volet Requête en saisissant une nouvelle requête, en en sélectionnant une dans l'onglet Récent ou en sélectionnant une requête dans l'onglet Enregistrées.

  3. Cliquez sur Partager le lien.

  4. Envoyez le lien à votre collègue.

    Lorsque votre collègue ouvre le lien, la page Analyse de journaux s'affiche. Cette page affiche la requête que vous avez exécutée et ses résultats.

    Pour ouvrir l'URL, le rôle Identity and Access Management de votre collègue sur le projet Google Cloud doit inclure les autorisations requises pour afficher les pages Logging.

API

Pour créer une requête partagée à l'aide de l'API Logging, utilisez la méthode savedQueries.Create et spécifiez la valeur SHARED dans le champ visibility.

Afficher et exécuter des requêtes récentes ou enregistrées

Pour afficher ou réexécuter une requête, sélectionnez l'onglet Récent sur la page Analyse de journaux et recherchez la requête:

  • Pour exécuter la requête, cliquez sur Run (Exécuter).
  • Pour afficher la requête, utilisez les options du menu Plus d'options.

Pour afficher, modifier ou exécuter une requête enregistrée, sélectionnez l'onglet Saved (Enregistrée) sur la page Log Analytics (Analyse de journaux), puis recherchez la requête:

  • Pour exécuter la requête, cliquez sur Run (Exécuter).
  • Pour modifier, afficher ou supprimer la requête, utilisez les options du menu Plus d'options.

Interroger des journaux à l'aide de BigQuery

Si vous avez mis à niveau un bucket de journaux pour utiliser l'Analyse de journaux, vous pouvez également afficher vos données dans BigQuery en créant un ensemble de données BigQuery associé. Avec cette configuration, vous pouvez utiliser BigQuery pour joindre vos données de journaux, accessibles via l'ensemble de données associé, à d'autres données d'entreprise. Pour en savoir plus sur la création d'un ensemble de données associé, consultez la page Accorder à un bucket de journaux l'accès à la vue BigQuery.

Pour interroger un ensemble de données associé, procédez comme suit:

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Analyse de journaux :

    Accéder à l'Analyse de journaux

  2. Dans la liste Vues de journaux, recherchez la vue souhaitée, puis sélectionnez Requête. Le volet Requête contient une requête par défaut.

    Vous pouvez également saisir une requête dans le volet Requête ou modifier une requête affichée.

  3. Dans la barre d'outils, cliquez sur Exécuter dans BigQuery.

    La page BigQuery Studio s'ouvre. L'instruction FROM de la requête est modifiée de manière à spécifier le chemin d'accès à la vue sur l'ensemble de données associé à l'aide de la syntaxe de chemin d'accès de la table BigQuery.

    Vous pouvez également modifier la requête affichée.

  4. Cliquez sur Exécuter la requête.

Étapes suivantes