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 l'analyse de journaux et que vous savez comment utiliser la page Analyse de journaux pour interroger vos données de journaux. Si vous ne connaissez pas ces thèmes, consultez Interroger et analyser les journaux.

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

Différences entre les requêtes enregistrées et les vues analytiques

Une requête enregistrée est une requête que vous exécutez à l'aide de la page Analyse de journaux, puis que vous enregistrez en tant que requête. L'action d'enregistrement vous permet de réexécuter cette requête à votre convenance. Lorsque vous enregistrez la requête, vous pouvez la rendre privée ou la rendre visible par les autres utilisateurs disposant des autorisations nécessaires pour utiliser l'analyse de journaux. Vous ne pouvez pas écrire de requête SQL dans laquelle la clause FROM spécifie une requête enregistrée.

Une vue Analytics contient une requête que vous pouvez exécuter à votre convenance. Pour créer une vue analytique, vous devez écrire une requête SQL sur une vue de journaux, puis enregistrer le résultat en tant que vue. Contrairement aux requêtes enregistrées, vous ne pouvez pas rendre une vue Analytics privée. Vous pouvez interroger une vue Analytics. Cette fonctionnalité vous permet de transformer vos données de journaux au format LogEntry en un autre format plus adapté à vos besoins. Ensuite, au lieu d'écrire vos requêtes sur une vue de journaux, vous interrogez la vue "Analytics".

Vous pouvez enregistrer les requêtes qui interrogent une vue de journaux ou une vue d'analyse.

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 Log Analytics 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 une entité principale à une vue de journaux spécifique en ajoutant une condition IAM à l'attribution du rôle "Accesseur de 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 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 d'analyse, demandez à votre administrateur de vous attribuer le rôle IAM Utilisateur Observability Analytics (roles/observability.analyticsUser) sur votre projet.

Enregistrer une requête

Toutes les requêtes que vous exécutez sont automatiquement enregistrées pendant 30 jours. Vous pouvez y accéder en sélectionnant l'onglet Récentes sur la page Analyse de journaux. 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, ajoutez-y des informations utiles ou autorisez vos coéquipiers à l'afficher et à l'exécuter, puis enregistrez-la. 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 10 000 requêtes par projet Google Cloud .

Console

Pour enregistrer 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. 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 Récentes ou en sélectionnant une requête dans l'onglet Enregistrées.

    Votre requête peut inclure n'importe quelle vue valide, plusieurs vues et des vues Analytics.

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

  3. Cliquez sur Enregistrer, sélectionnez Enregistrer la requête, puis remplissez les champs Nom et Description. Les valeurs que vous définissez pour ces champs sont affichées dans l'onglet Enregistré.

  4. Facultatif : Pour permettre à toutes les personnes ayant accès à la page Analyse de journaux du projet Google Cloud de consulter et d'exécuter votre requête enregistrée, activez l'option Partager avec le projet.

    Par défaut, ce bouton est désactivé 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 sont visibles pour vous, sélectionnez l'onglet 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 par 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, mais pas la requête elle-même.

  • 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 APIs 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 toutes les personnes ayant accès à votre projetGoogle Cloud . Toutefois, les rôles IAM du compte principal déterminent si la requête peut être exécutée et les données qu'elle renvoie.

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 membre de votre équipe. Lorsque vous consultez les résultats d'une requête sur la page Analyse de journaux, vous pouvez copier une URL qui, une fois 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 membre de votre équipe :

  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, saisissez une 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 Récentes ou en sélectionnant une requête dans l'onglet Enregistrées.

  3. Cliquez sur Partager le lien.

  4. Envoyez le lien à votre coéquipier.

    Lorsque votre coéquipier 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 que votre coéquipier puisse ouvrir l'URL, son rôle IAM dans le projet Google Cloud doit inclure les autorisations requises pour afficher la page Analyse de journaux.

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 de 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 Récentes sur la page Analyse de journaux, 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ée sur la page Analyse de journaux, 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.

Étapes suivantes