Requêtes de journaux de base

Ce guide vous explique comment interroger les entrées de journal par libellé ou élément de texte dans l'interface de requête de base de la visionneuse de journaux.

Pour connaître les options d'interrogation de journaux plus avancées, consultez la section Requêtes de journaux avancées.

Pour exporter des entrées de journal, consultez la page concernant l'exportation des journaux. Pour lire des entrées de journal à l'aide de l'API, utilisez la méthode entries.list. Pour lire des entrées de journal à l'aide du SDK, consultez la section Lire des entrées de journal.

Premiers pas avec les requêtes de base

  1. Accédez à la page Stackdriver Logging > Journaux (Visionneuse de journaux) dans Cloud Console :

    Accéder à la page Visionneuse de journaux

  2. Sélectionnez un projet Google Cloud existant en haut de la page ou créez-en un.

  3. À l'aide du menu déroulant , sélectionnez la ressource dont vous souhaitez afficher les journaux.

La capture d'écran suivante présente l'interface des requêtes de journaux de base. Quatre entrées de journal d'une application App Engine sont affichées. Nous avons développé la deuxième entrée en cliquant sur la flèche de développement .

Interface utilisateur affichant les options de requêtes de journaux de base.

L'interface de requête de base contient les principaux composants suivants (indiqués par des chiffres rouges dans la capture d'écran ci-dessus), qui se retrouvent pour certains dans l'interface de requête avancée :

  1. Les onglets de fenêtre vous permettent de choisir les journaux (visionneuse de journaux), les métriques (consultez la section Métriques basées sur les journaux), les exportations (consultez la section Exportation de journaux) et l'ingestion de journaux (consultez la section Exclusions de journaux).
  2. La zone de requête de recherche de l'interface de requête de journaux de base vous permet d'interroger les entrées de journal par libellé ou par élément de texte. L'interface de requête de base s'affiche, et le menu déroulant  vous permet de basculer vers l'interface de requête avancée ou d'obtenir un lien vers votre requête. Dans l'interface utilisateur, les requêtes de journaux sont associées à la mention "filtres", car elles vous permettent de sélectionner un ensemble spécifique d'entrées de journal.
  3. Les menus de sélection de base permettent de choisir les ressources, les journaux et les niveaux de gravité à afficher :

    • Resources : ressources disponibles dans votre projet actuel.
    • Logs : types de journaux disponibles pour les ressources actuelles de votre projet.
    • Log severity : niveaux de gravité des journaux.
  4. Les menus déroulants du sélecteur de période permettent d'interroger les journaux en fonction de dates et d'heures spécifiques.

  5. Le sélecteur de flux, situé en haut de la page, permet de contrôler si les nouvelles entrées de journal s'affichent au fur et à mesure qu'elles arrivent.

  6. La table d'entrées de journal contient les entrées de journal disponibles en fonction des requêtes actuellement choisies et des champs personnalisés.

  7. La flèche de développement  située devant chaque entrée de journal permet d'examiner l'ensemble du contenu d'une entrée. Pour plus d'informations, consultez la section développer les entrées de journal sur cette page.

  8. Le menu Options d'affichage présente d'autres options d'affichage.

  9. Le menu Télécharger les journaux vous permet de télécharger un ensemble d'entrées de journal.

  10. L'option Plus  affichée avec chaque entrée de journal vous permet d'épingler l'entrée de journal, d'afficher l'entrée de journal dans son contexte de ressource et de copier une URL pour l'entrée de journal dans le presse-papiers.

Enfin, la visionneuse de journaux utilise la position du curseur pour mettre en évidence l'entrée de journal associée et pour afficher un symbole de punaise (📌) à côté de l'icône Plus .

Recherches simples

Dans l'interface de requête de base, saisissez votre texte dans la zone de requête de recherche, puis appuyez sur ENTRÉE. La recherche renvoie toutes les entrées de journal contenant vos termes de recherche n'importe où, dans n'importe quel champ (sauf timestamp) et dans n'importe quelle casse. Le mot text: que la visionneuse de journaux ajoute devant vos termes de recherche indique que la recherche porte sur tous les champs.

Vous trouverez ci-dessous quelques recherches courantes, ainsi que quelques exemples de recherches à l'utilisation particulière.

Exemples de recherches de base courantes

Unicorn (text:Unicorn)

Cette recherche renvoie toutes les entrées de journal contenant unicorn dans n'importe quel champ et dans n'importe quelle casse.

unicorn phoenix (text:unicorn text:phoenix)

Cette recherche renvoie toutes les entrées de journal contenant unicorn ou phoenix, dans le même champ ou dans des champs différents. Si vous souhaitez que les entrées de journal contiennent les deux termes, utilisez l'interface de requête avancée.

"unicorn phoenix" (text:"unicorn phoenix")

Cette recherche renvoie toutes les entrées de journal contenant unicorn et phoenix séparés par exactement un espace dans le même champ, quelle que soit leur casse. L'interface de requêtes de journaux de base ne permet pas de rechercher unicorn et phoenix n'importe où dans le même champ. Pour cela, vous devez utiliser l'interface de requête avancée.

-unicorn (-text:unicorn)

Cette recherche renvoie toutes les entrées de journal contenant unicorn dans n'importe quel champ et quelle que soit la casse, et les exclut de vos entrées affichées. L'interface de requêtes de journaux de base ne permet pas de rechercher -unicorn et -phoenix dans le même champ ou dans des champs différents. Pour cela, vous devez utiliser l'interface de requête avancée.

2345 (text:2345)

Cette recherche renvoie toutes les entrées de journal contenant la chaîne 2345. Les numéros dans les entrées de journal sont généralement représentés par des chaînes. Cela correspond donc, par exemple, à 123456.

Recherches à l'utilisation particulière

uni* (text:uni*)
Il ne s'agit pas d'une recherche utilisant un caractère générique. Cette recherche renvoie toutes les entrées de journal contenant la chaîne de quatre caractères "uni*". Les recherches d'expression régulière ne sont pas compatibles avec la visionneuse de journaux, et ni l'interface de requête de base ni l'interface de requête avancée n'utilisent de caractères génériques spéciaux tels que * ou ?.
2017-02-05 (text:2017-02-05)
Cette recherche ne permet pas de renvoyer les horodatages d'entrées de journal. Elle renvoie toutes les entrées de journal contenant la chaîne 2017-02-05 dans n'importe quel champ, excepté timestamp. Si des entrées de journal contiennent des chaînes de date dans leur charge utile ou dans d'autres champs, elles peuvent faire l'objet d'une recherche. Vous pouvez également utiliser le menu Avancer dans le temps. L'interface de requêtes de journaux avancée vous permet d'effectuer des recherches spécifiant une plage d'horodatages.
200..299 (text:200..299)
Cette recherche ne renverra pas les entrées de journal contenant par exemple la valeur 250. La fonctionnalité de recherche de l'interface de requête de base affiche les entrées de journal contenant la chaîne de huit caractères "200..299". Cette notation de plage n'est autorisée que dans les recherches portant exclusivement sur les champs entiers. Consultez la section Rechercher des champs spécifiques sur cette page.
unicorn NOT phoenix (text:unicorn text:NOT text:phoenix)
unicorn OR phoenix (text:unicorn text:OR text:phoenix)
Il ne s'agit pas de recherches de texte booléennes, car l'inclusion d'opérateurs booléens (AND, OR, NOT ou AND NOT) n'est pas permise dans les recherches de texte de l'interface de requêtes de base. Si vous incluez plusieurs termes de recherche de texte, les termes sont implicitement reliés par ou. Au lieu de l'opérateur booléen NOT, vous pouvez utiliser l'opérateur - (moins). Pour plus d'informations, consultez la section Exemples courants de recherche de base sur cette page.

Rechercher dans des champs spécifiques

Vous pouvez restreindre une recherche à un champ spécifique en ajoutant le nom du champ suivi du signe deux-points devant les termes de recherche. Le nom du champ remplace text: dans les recherches portant sur l'ensemble des champs. Lorsque vous effectuez une saisie dans la zone de requête de recherche, la liste des champs correspondants s'affiche :

Champ de requête de recherche contenant les champs correspondants.

Dans les exemples suivants, status: est un champ de nombre entier correspondant au code d'état HTTP et path: correspond au chemin HTTP de la requête :

path:query
Affiche les entrées de journal dont le chemin HTTP contient query dans n'importe quelle casse; par exemple, /query ou /App/Query/17.
path:*
Cette recherche renvoie les entrées de journal contenant un champ path. Elle utilise l'astérisque (*) de manière particulière. Ce caractère n'est généralement pas traité comme un caractère spécial.
status:200
Cette recherche permet d'afficher les entrées de journal dont le code d'état correspond (exactement) à la valeur 200. Elle ne correspond pas, par exemple, à un état 2000. Puisque l'on sait que le champ status est un champ de nombre entier, la comparaison est numérique.
status:abc
Cette recherche est incorrecte, car le champ status doit contenir un nombre entier.
status:400..499
Cette recherche renvoie les entrées de journal dont le code d'état HTTP est compris entre 400 et 499. Les plages ne peuvent être utilisées que pour les champs devant contenir des nombres entiers. Si vous utilisez une plage pour d'autres champs, celle-ci est interprétée comme une chaîne unique contenant des caractères ..
path:query unicorn
Cette recherche renvoie les entrées de journal dont les champs path contiennent query et celles contenant unicorn dans n'importe quel champ. Comme le terme unicorn n'est pas précédé d'un nom de champ, la recherche est la même que si vous saisissiez text:unicorn. Lorsque vous incluez des termes de recherche portant sur des champs différents, ou portant à la fois sur des champs et sur text:, ces termes sont implicitement reliés par l'opérateur et.
path:query path:status
Cette recherche renvoie les entrées de journal dont le champ path contient query ou status. Lorsque vous incluez plusieurs termes de recherche pour le même champ, les termes sont implicitement reliés par l'opérateur ou.
path:query status:200 path:status status:500..502
Cette recherche renvoie les entrées de journal dont les chemins d'accès contiennent query ou status, et dont les valeurs du champ status sont 200, 500, 501, ou 502. En d'autres termes, l'opérateur ou associe plus étroitement les termes de recherche que l'opérateur et, et l'ordre de ces termes n'a pas d'importance.

Dépannage

Si vous ne savez pas pourquoi votre recherche ne fonctionne pas dans l'interface de requêtes de journaux de base, passez brièvement à l'interface de requête avancée :

  1. Sélectionnez Convertir en filtre avancé à l'aide du menu déroulant  dans la zone de requête de recherche.

  2. Examinez la zone de requête de recherche pour vérifier s'il s'agit de celle que vous souhaitiez utiliser.

  3. Revenez à l'interface de requête de base à l'aide du bouton Retour du navigateur. Cela vous ramène à vos sélections précédentes dans l'interface de requête de base.

  4. Si vous avez identifié des requêtes non intentionnelles à l'étape 2, vous pouvez les modifier ou les effacer à partir de la zone de requête de recherche, du menu de sélection de base ou du menu de sélection de période.

D'autres raisons peuvent justifier un affichage incomplet des entrées de journal attendues :

  • Vous ne pouvez pas afficher les entrées de journal antérieures à la durée de conservation de Stackdriver Logging. Reportez-vous à la section Durée de conservation des journaux pour la période de conservation des journaux en vigueur.

  • Pendant les périodes de charges importantes, des retards peuvent être observés lors de l'envoi de journaux à Stackdriver Logging, ou lors de leur réception et de leur affichage.

  • La visionneuse de journaux n'affiche pas les entrées de journal présentant des horodatages futurs tant que cette date n'est pas passée. Cette situation inhabituelle est probablement causée par un décalage au niveau de l'application envoyant les journaux.