Créer et enregistrer des requêtes à l'aide du langage de requête Logging

Ce document explique comment récupérer et analyser les journaux lorsque vous utilisez le l'explorateur de journaux en rédigeant des requêtes dans le champ de l'éditeur de requête des sélections dans les menus de filtre à l'aide des options incluses dans les entrées de journal. La les requêtes que vous créez sont écrites Langage de requête Logging

Vous pouvez également enregistrer vos requêtes sur la page de l'explorateur de journaux ou à l'aide de la méthode d'API Logging savedQueries.create.

Avant de commencer

  • Pour obtenir les autorisations nécessaires pour lire les données de journaux afin de créer des requêtes, utilisez des requêtes enregistrées privées. ou pour répertorier et obtenir des requêtes partagées, demandez à votre administrateur de vous accorder le Lecteur de journaux (roles/logging.viewer) sur votre projet.

    Ce rôle prédéfini contient les autorisations requises pour lire les données de journaux afin de créer des requêtes, utiliser des requêtes enregistrées privées ou pour répertorier et obtenir des requêtes partagées. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

    Autorisations requises

    Les autorisations suivantes sont requises pour lire les données des journaux afin de créer des requêtes, d'utiliser des requêtes enregistrées privées, ou pour répertorier et obtenir des requêtes partagées:

    • Utiliser des requêtes enregistrées privées: logging.queries.usePrivate
    • Lister et obtenir des requêtes partagées:
      • logging.queries.listShared
      • logging.queries.getShared
  • Pour obtenir les autorisations nécessaires pour créer, mettre à jour et supprimer des requêtes partagées, demandez à votre administrateur de vous accorder le Administrateur Logging (roles/logging.admin) sur votre projet.

    Ce rôle prédéfini contient les autorisations requises pour créer, mettre à jour et supprimer des requêtes partagées. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

    Autorisations requises

    Les autorisations suivantes sont requises pour créer, mettre à jour et supprimer des requêtes partagées :

    • logging.queries.share
    • logging.queries.updateShared
    • logging.queries.deleteShared

Pour en savoir plus sur les autorisations IAM nécessaires, consultez la page Autorisations pour la console Google Cloud.

Créer des requêtes

Pour créer des requêtes à l'aide de la console Google Cloud, procédez comme suit:

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

    Accéder à l'explorateur 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. Sélectionnez le projet Google Cloud ou un autre pour laquelle vous souhaitez afficher les journaux.

  3. Utilisez le volet Requête pour créer votre requête.

    Le volet Requête propose plusieurs façons de créer et d'exécuter des expressions de requête:

    • Recherchez du texte dans tous les champs de journal.
    • Sélectionnez des options dans les menus de filtre.
    • Rédigez ou modifiez des requêtes à l'aide de l'éditeur de requête.
    • Afficher, modifier ou exécuter les requêtes dans les onglets Récents, Enregistrés et Suggestions et Bibliothèque.

Rechercher du texte dans les champs de journal

Pour rechercher du texte dans tous les champs de journal et trouver toutes les entrées de journal correspondantes, entrez vos termes de recherche dans le champ de recherche:

Le champ de recherche de l'explorateur de journaux dans le volet de requête.

Vous pouvez rechercher des mots et des expressions, et vos termes de recherche peuvent inclure Opérateurs booléens et expressions régulières:

  • Pour effectuer une recherche sensible à la casse, vous devez utiliser une fonction expression régulière.

  • Pour effectuer une recherche non sensible à la casse le long des limites de jetons, saisissez le terme de recherche termes sans guillemets obliques ni guillemets doubles.

    Par exemple, pour rechercher les entrées de journal contenant le mot hello et le mot world, saisissez hello world. Cette commande, qui est convertie en SEARCH("hello world"), qui correspond aux entrées de journal contenant les jetons hello et world, dans n'importe quel ordre. Comme la recherche n'est pas sensible à la casse, la recherche correspond également à une entrée de journal contenant les jetons Hello et World La recherche ne correspond pas au jeton worlds.

  • Pour effectuer une recherche non sensible à la casse d'une expression le long des limites de jetons, procédez comme suit : entourez la phrase d’accents graves.

    Par exemple, pour rechercher l'expression hello world, saisissez `hello world`. Cette commande, qui est convertie en SEARCH("`hello world`"), correspond aux entrées de journal contenant le jeton hello world. La recherche ne correspond pas au jeton hello worlds.

  • Pour effectuer une recherche non sensible à la casse sur une sous-chaîne, entourez le texte de guillemets doubles. Par exemple, "hello world" correspond à Hello World et Hello world La même requête correspond également à hello worlds, car le la recherche ne s'effectue pas le long des limites de jetons.

Pour voir vos termes de recherche dans l'expression de requête, activez l'option Afficher la requête.

Après avoir saisi vos termes de recherche, cliquez sur Run query (Exécuter la requête) ou appuyez sur la touche Entrée. Les résultats de la requête sont affichés dans le volet Résultats de la requête.

Opérateurs booléens

Les entrées de votre champ de recherche sont converties en expressions booléennes spécifiant sous-ensemble de toutes les entrées de journal de la ressource Google Cloud sélectionnée.

Le champ de recherche prend en charge l'utilisation des opérateurs booléens AND, OR et NOT Lorsque vous utilisez des opérateurs booléens dans vos expressions de recherche, notez les points suivants :

  • Vous ne pouvez pas utiliser de parenthèses pour imbriquer des règles. Parenthèses dans la recherche sont analysées en tant que termes de recherche.
  • Vous devez mettre les opérateurs booléens en majuscules. and en minuscules, or, et not sont analysés en tant que termes de recherche, et non en tant qu'opérateurs.

Si vous n'incluez aucun opérateur, tous les termes et expressions de recherche sont reliés par AND Vous pouvez omettre l'opérateur AND entre les termes de recherche.

Les opérateurs AND et OR sont opérateurs de court-circuit. Vous pouvez combiner des règles AND et OR dans la même expression. Par exemple, lorsque les deux opérateurs sont mélangés, l'expression a AND b OR c AND d se transforme en l'expression de langage de requête Logging suivante :

"a"
"b" OR "c"
"d"

L'opérateur NOT possède la priorité la plus élevée, suivi de OR et AND.

L'opérateur NOT effectue une négation du terme suivant. Par exemple, NOT error renvoie les entrées de journal qui ne contiennent pas error. Vous pouvez également remplacer l'opérateur NOT avec l'opérateur - (moins). Par exemple, les deux requêtes suivantes sont identiques :

"response" AND "successful" AND NOT "error"
"response successful" -"error"

Cette logique fonctionne également avec une expression, si l'opérateur - (moins) se trouve en dehors de guillemets. Par exemple, les deux requêtes suivantes sont identiques:

-"response successful"
NOT "response successful"

Créer des requêtes à l'aide des menus de filtrage

Vous pouvez utiliser les menus de filtre du volet Requête pour ajouter une ressource, un nom de journal et journaliser les paramètres de gravité dans le champ de l'éditeur de requête. Ces options correspondent aux champs LogEntry de tous les journaux de Journalisation.

Les options des menus Ressource et Nom du journal sont issues de la classe les entrées de journal stockées par Cloud Logging.

Menus de filtrage de l'éditeur de requête

  • Ressource: permet de spécifier les paramètres resource.type et resource.labels associé. Vous pouvez sélectionner un seul type de ressource en utilisant ce menu de filtrage, et zéro, un ou plusieurs libellés de ressources à appliquer à vos requête. Les paramètres de ressource sont joints par l'opérateur logique AND.
  • Log name (Nom de journal) : permet de spécifier le logName. Vous pouvez sélectionner plusieurs noms de journaux à appliquer à votre requête. Lorsque vous sélectionnez plusieurs journaux l'opérateur logique OR est utilisé.
  • Severity(Gravité) : permet de spécifier le niveau de gravité. Vous pouvez sélectionner plusieurs niveaux de gravité à ajouter en même temps à appliquer à votre requête. Lorsque vous sélectionnez plusieurs niveaux de gravité, l'opérateur logique OR est utilisé.

Pour utiliser l'un des menus de filtre, procédez comme suit :

  1. Développez le menu sur n'importe quelle page des menus de filtre du volet Requête.

  2. Affinez les paramètres de filtre.

  3. Cliquez sur Appliquer. Les paramètres s'affichent dans le champ de l'éditeur de requête.

    Pour voir vos termes de recherche dans l'expression de requête, activez l'option Afficher la requête.

  4. Après avoir examiné la requête, cliquez sur Run query (Exécuter la requête). Les résultats de la requête s'affichent dans le volet Résultats de la requête.

Pour certains types de ressources Compute Engine, tels que gce_instance et gce_network, vous voyez le nom de la ressource avec l'ID de ressource comme sous-texte. Pour Par exemple, pour le type de ressource gce_instance, vous voyez le nom de la VM à côté de l'ID de la VM. Les noms de ressources vous aident à identifier sur lequel vous pouvez créer des requêtes.

Afficher les journaux par période

Il existe deux façons d'afficher les journaux écrits au cours d'une période spécifique:

  1. Utilisez le sélecteur de période.
  2. Incluez une expression de code temporel dans le champ de l'éditeur de requête.

Utiliser le sélecteur de période

La période par défaut est d'une heure, mais vous pouvez choisir parmi des options prédéfinies, définir des heures de début et de fin personnalisées, ou centrer la période sur un à l'aide du sélecteur de période. Par exemple, si vous souhaitez afficher les données de la semaine précédente, sélectionnez 1 semaine dans le sélecteur de période.

Vous pouvez également définir vos préférences de fuseau horaire à l'aide du sélecteur de période.

Inclure une expression de code temporel dans le champ de l'éditeur de requête

Pour ajouter une expression de code temporel directement dans le champ de l'éditeur de requête, utilisez la Langage de requête Logging

Si le champ de l'éditeur de requêtes contient une expression avec un code temporel, le sélecteur de période est désactivé et la requête utilise l'expression de code temporel comme restriction de période. Si une requête n'utilise pas d'expression d'horodatage, la requête utilise le sélecteur de période comme restriction.

Rédiger des requêtes avancées à l'aide du langage de requête Logging

Vous pouvez utiliser le langage de requête Logging pour créer des requêtes plus avancées dans le champ de l'éditeur de requête de l'explorateur de journaux:

  1. Si vous ne voyez pas le champ de l'éditeur de requête dans le volet Requête, activez Afficher la requête

  2. Saisissez vos expressions de requête directement dans le champ de l'éditeur de requête.

    Si vous avez ajouté des termes de recherche dans le champ de recherche ou sélectionné dans les menus de filtrage, ils apparaissent également dans le query-editor et sont évaluées comme faisant partie de votre expression de requête.

  3. Après avoir examiné votre requête, cliquez sur Exécuter la requête.

    Les journaux correspondant à votre requête sont répertoriés sous la section Résultats de la requête volet. La Histogramme et Champs de journal les volets s'ajustent également en fonction de l'expression de requête.

Pour obtenir des exemples de requêtes courantes que vous pouvez utiliser, consultez la page Exemples de requêtes avec l'explorateur de journaux.

Utiliser des requêtes récentes

Lorsque vous exécutez une requête, elle est ajoutée à votre liste de requêtes récentes. qui contient les 10 000 dernières requêtes uniques effectuées sur une période de 30 jours.

Pour afficher vos requêtes récentes, sélectionnez l'onglet Recent (Récents) dans le volet Query (Requête). Dans l'onglet Récents, vous disposez des options suivantes:

  • Flux: pour exécuter la requête et diffuser les résultats en streaming, sélectionnez cette option. .
  • Exécuter: sélectionnez cette option pour exécuter la requête.
  • Autres options: Permet d'afficher l'expression de requête avec les options permettant d'exécuter la requête ou d'enregistrer l'ajouter à votre liste de requêtes enregistrées. Vous pouvez aussi directement sélectionner la requête pour obtenir ces options.

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

    1. Cliquez sur Enregistrer sous. La boîte de dialogue Enregistrer la requête s'ouvre.
    2. Remplissez les champs suivants :

      • Nom (obligatoire): indiquez le nom de votre requête. Les noms sont limités aux 64 caractères.
      • Description (facultatif) : fournissez une description vous permettant d'identifier l'objectif de la requête.
      • Inclure des champs de résumé (facultatif): activez l'option Inclure des champs de résumé. et saisissez les champs de résumé que vous souhaitez afficher.
      • Truncate summary fields (Tronquer les champs de résumé) (facultatif) : activez l'option Truncate summary fields, puis sélectionnez le nombre de caractères à tronquer et si la troncature doit être effectuée au début ou à la fin des champs.
    3. Cliquez sur Enregistrer la requête. La requête est maintenant disponible dans la liste des requêtes enregistrées.

Vous pouvez également trier et filtrer vos requêtes récentes : le filtre correspond au texte dans votre expression de requête.

Enregistrer et partager des requêtes

Les requêtes enregistrées vous permettent de stocker des expressions de requête pour vous aider à explorer vos journaux de manière plus cohérente et efficace. Le volet Requête de l'explorateur de journaux comporte un onglet Enregistrées qui vous permet d'accéder à vos requêtes enregistrées. Vous pouvez également enregistrer vos requêtes à l'aide de la méthode de l'API Logging ; savedQueries.create

Vous pouvez enregistrer votre requête afin qu'elle soit privée et visible uniquement par vous, ou par vous-même. le partager avec d'autres membres du projet Google Cloud. Une fois que vous avez partagé une requête, vous n'en êtes plus le propriétaire. Tout membre du projet disposant des autorisations nécessaires peut y accéder.

Console

Pour enregistrer une expression de requête que vous avez créée dans le champ de l'éditeur de requête, exécutez la suivantes:

  1. Cliquez sur Enregistrer dans le volet Requête. La boîte de dialogue Enregistrer la requête s'ouvre. par votre expression de requête dans le champ de l'éditeur de requête.

  2. Remplissez les champs suivants :

    • Nom (obligatoire): indiquez le nom de votre requête. Les noms sont limités aux 64 caractères.
    • Description (facultatif) : fournissez une description vous permettant d'identifier l'objectif de la requête.
    • Inclure des champs de résumé personnalisés (facultatif) : activez l'option Inclure les champs de résumé, puis saisissez les champs de résumé que vous souhaitez afficher.
    • Tronquer les champs de résumé (facultatif): activer Tronquer les champs de résumé et sélectionner le nombre de caractères à et indique si la troncation se produit au début ou à la fin de la .
    • Partager avec le projet: vous pouvez éventuellement activer l'option Partager avec le projet pour partager votre requête avec d'autres membres du projet Google Cloud.
  3. Cliquez sur Enregistrer la requête. Vos requêtes enregistrées apparaissent dans un dans l'onglet Enregistrés.

Pour exécuter une requête enregistrée, cliquez sur Exécuter. Pour exécuter la requête et diffuser les résultats, cliquez sur Flux.

Pour modifier une requête enregistrée, sélectionnez Plus d'options, puis sélectionnez Modifier. Vous pouvez également sélectionner la requête, effectuer des modifications, puis enregistrer la requête modifiée.

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

Vous pouvez également trier et filtrer vos requêtes enregistrées : le filtre correspond au texte dans votre expression de requête.

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, et les données de réponse, consultez la page de référence savedQueries.create

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

{
  "parent": "projects/my-project/locations/global"
  "savedQueryId": "compute-query"
  {
    "displayName": "compute-admin-activity-query",
    "description": "Queries for Compute Engine Admin Activity logs.",

    "loggingQuery":
      {
        "filter": resource.type="gce_instance" AND log_id("cloudaudit.googleapis.com/activity"),
      },
    "visibility": "PRIVATE"
  }
}

Pour partager la requête avec d'autres membres du projet Google Cloud, spécifiez une valeur SHARED dans le champ visibility.

Afficher les requêtes enregistrées

Vous pouvez afficher les requêtes privées et celles partagées avec d'autres membres dans l'onglet Saved (Enregistrés) du projet Google Cloud:

Console

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

    Accéder à l'explorateur 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. Sélectionnez le projet Google Cloud ou un autre pour laquelle vous souhaitez afficher les journaux.

  3. Cliquez sur Enregistré.

Vous pouvez trier le tableau selon n'importe quel en-tête. La colonne Visibility indique si les requêtes sont partagées ou privées :

  • Partagées: requêtes partagées avec d'autres membres du projet Google Cloud.
  • Privé: requêtes que vous avez enregistrées et qui ne sont visibles que par vous.

API

Vous pouvez utiliser l'API Logging pour afficher les requêtes privées et partagées à l'aide de la méthode savedQueries.list.

Par exemple, le corps de requête suivant répertorie toutes les requêtes partagées de l'explorateur de journaux avec un ID d'emplacement générique :

{
  "parent": "name": projects/PROJECT_ID/locations/-
  "visibility": "SHARED"
  "filter": "explorer"
}

Utiliser les requêtes suggérées

Logging génère des suggestions de requêtes basées sur le contexte de votre projet Google Cloud, comme les produits Google Cloud que vous utilisez. Les requêtes suggérées peuvent vous aider à identifier les problèmes et vous fournir des insights dans l'état général de vos systèmes. Par exemple, si vous détectez à l'aide de Google Kubernetes Engine, Logging peut suggérer une requête qui trouve tous les journaux d'erreurs de vos conteneurs.

Pour afficher et exécuter des requêtes suggérées, sélectionnez l'onglet Suggested (Suggestions) dans le volet Query (Requête). L'onglet Suggestions affiche une liste de requêtes, chacune avec descriptions et les options suivantes:

  • Flux: pour exécuter la requête et diffuser les résultats en streaming, sélectionnez cette option. .
  • Exécuter: sélectionnez cette option pour exécuter la requête.
  • Autres options: Permet d'afficher les détails de l'expression de requête ainsi que les options permettant d'exécuter la ou l'enregistrer. Vous pouvez aussi directement sélectionner la requête pour obtenir ces options.

    Pour examiner les détails d'une requête suggérée, effectuez l'une des opérations suivantes :

    • Sélectionnez la ligne de la requête.

    • Cliquez sur Plus. et sélectionnez Afficher. La boîte de dialogue Détails de la requête s'ouvre.

    Dans la boîte de dialogue Détails de la requête, la requête s'affiche, avec les options permettant de l'exécuter, de la lire en streaming ou de l'enregistrer sous :

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

      1. Cliquez sur Enregistrer sous.
      2. Renseignez les champs de la boîte de dialogue Enregistrer la requête.

      La requête modifiée s'affiche dans la liste Enregistrée, où vous pouvez choisir de exécuter la requête ultérieurement.

    • Pour exécuter la requête maintenant, cliquez sur Exécuter. La requête est exécutée et apparaît dans query-editor.

    • Pour exécuter la requête maintenant et diffuser les résultats en direct, cliquez sur Diffuser.

    • Pour fermer la boîte de dialogue et revenir à la liste des requêtes suggérées, cliquez sur Fermer.

Notez les comportements attendus suivants:

  • Les chargements de page successifs peuvent ne pas afficher les mêmes requêtes dans le même ordre.
  • Il est possible qu'aucune requête suggérée ne s'affiche.
  • Parfois, l'exécution d'une requête suggérée ne renvoie aucun journal.

Sélectionner des requêtes dans la bibliothèque

Logging fournit une bibliothèque de requêtes basées sur une utilisation courante et les produits Google Cloud. Ces requêtes peuvent vous aider à gérer de rechercher des journaux lors de sessions de dépannage urgentes et de les explorer. pour mieux comprendre quelles données Logging sont disponibles.

Pour afficher et exécuter les requêtes de la bibliothèque, procédez comme suit:

  1. Sélectionnez l'onglet Bibliothèque dans le volet Requête.

  2. La colonne Toutes les requêtes présente de nombreuses catégories requêtes et sous-ensembles de requêtes basés sur les produits Google Cloud. Pour affiner la sélection de requêtes, cliquez sur l'une des produits.

    Vous pouvez également utiliser le champ de recherche pour rechercher les requêtes disponibles en la catégorie, la description ou le contenu de l'expression de requête.

  3. Pour examiner une expression de requête, effectuez l'une des opérations suivantes:

    a. Cliquez sur la ligne de la requête.

    b. Cliquez sur  Plus, puis sélectionnez Afficher.

  4. Dans la boîte de dialogue Détails de la requête, la requête s'affiche, avec les options permettant de l'exécuter, de la lire en streaming ou de l'enregistrer sous :

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

      1. Cliquez sur Enregistrer sous.
      2. Renseignez les champs de la boîte de dialogue Enregistrer la requête.

      La requête modifiée s'affiche dans la liste Enregistrée, où vous pouvez choisir de exécuter la requête ultérieurement.

    • Pour exécuter la requête maintenant, cliquez sur Exécuter. La requête s'exécute et s'affiche dans le champ "query-editor".

    • Pour exécuter la requête maintenant et diffuser les résultats, cliquez sur Diffuser.

    • Pour fermer la boîte de dialogue et revenir à la liste des requêtes suggérées, cliquez sur Fermer.

Étape suivante