Enregistrer et partager des requêtes SQL

Ce document explique comment enregistrer et partager les requêtes que vous créez dans Log Analytics.

Ce document suppose que vous connaissez Log Analytics et que vous savez utiliser la page Log Analytics pour interroger vos données de journal. Si vous ne connaissez pas ces sujets, consultez Interroger et analyser les journaux.

Pour savoir comment représenter graphiquement les résultats de vos requêtes et les enregistrer dans un tableau de bord personnalisé, consultez Représenter graphiquement les résultats des requêtes SQL.

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 terminez 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.

Enregistrer une requête

Toutes les requêtes que vous exécutez sont automatiquement enregistrées pendant 30 jours et sont accessibles en sélectionnant l'onglet Récents sur la page Log Analytics. Vous pouvez rechercher, afficher, exécuter et partager les requêtes listées dans l'onglet Récentes.

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

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

Console

Pour enregistrer une requête, 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. Renseignez le volet Requête avec une requête.

    Vous pouvez renseigner le volet Requête en saisissant une nouvelle requête, en sélectionnant une requête dans l'onglet Recent (Récents) ou en sélectionnant une requête dans l'onglet Saved (Enregistrées).

    Lorsque la requête dans le 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 sont affichées dans l'onglet Enregistré.

  4. Facultatif: Pour autoriser tous les utilisateurs ayant accès à la page Log Analytics du projet Google Cloud à afficher 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 qui vous sont visibles, sélectionnez l'onglet Enregistrements.

    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 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. Toutefois, 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 API Explorer sur la page de référence de la méthode. Pour les requêtes Log Analytics, 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_NAME_OF_LOG_VIEW`
           WHERE
           timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
           ORDER BY timestamp ASC
           LIMIT 100"
     }
     "visibility": "PRIVATE"
  }
}

Partager une requête

Vous pouvez partager une requête enregistrée avec tous les utilisateurs ayant accès à votre projet Google Cloud. Toutefois, les rôles IAM du principal déterminent si la requête peut être exécutée et les données qu'elle renvoie.

Console

Lorsque vous dépannez 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 ses résultats avec un collègue, 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. Saisissez une requête dans le volet Requête, puis cliquez sur Exécuter la requête.

    Vous pouvez renseigner le volet Requête en saisissant une nouvelle requête, en sélectionnant une requête dans l'onglet Recent (Récents) ou en sélectionnant une requête dans l'onglet Saved (Enregistrées).

  3. Cliquez sur Partager le lien.

  4. Envoyez le lien à votre coéquipier.

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

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

API

Vous pouvez utiliser l'API Logging pour créer une requête partagée à l'aide de la méthode savedQueries.Create et en spécifiant la valeur SHARED dans le champ visibility. Pour en savoir plus, consultez la page de référence sur savedQueries.create.

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 Recent (Récents) sur la page Log Analytics, puis recherchez la requête:

  • Pour exécuter la requête, cliquez sur 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 Enregistrées sur la page Log Analytics, puis recherchez la requête:

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

Étape suivante