Afficher les journaux et les erreurs dans un tableau de bord personnalisé

L'ajout de widgets de journaux et d'erreurs à un tableau de bord personnalisé dans Cloud Monitoring vous permet de mettre en corrélation les entrées de journal et les erreurs d'application avec vos métriques de performances. Vous pouvez utiliser le widget du panneau des journaux pour inspecter des entrées de journal individuelles, le widget du panneau de rapport d'erreurs pour suivre les groupes d'erreurs récents et un widget de graphique d'analyse de l'observabilité pour visualiser les tendances des requêtes SQL.

Explorateur de journaux et widget du panneau des journaux

L'explorateur de journaux est la méthode standard pour examiner les journaux. L'ajout d'un widget de panneau de journaux à un tableau de bord ne modifie pas la façon dont vous utilisez l'explorateur de journaux. Comme les widgets du panneau des journaux peuvent être ajoutés à des tableaux de bord personnalisés, ils permettent d'afficher vos entrées de journal dans le même contexte que vos métriques.

L'explorateur de journaux et le widget du panneau des journaux sont compatibles avec le même langage de requête, et n'affichent que les entrées de journal que vous êtes autorisé à consulter. Vos rôles Identity and Access Management (IAM) sur les ressources qui stockent les entrées de journal déterminent si vous pouvez afficher les entrées de journal stockées.

L'explorateur de journaux et le widget du panneau des journaux sont tous deux préconfigurés pour rechercher des entrées de journal dans les ressources listées dans le champ d'application des journaux par défaut. Si ce champ d'application n'est pas accessible, ils recherchent les entrées de journal provenant du projet sélectionné. Lorsqu'un projet est sélectionné, les résultats de recherche incluent les entrées de journal acheminées vers le projet par un récepteur dans un autre projet, puis stockées dans un bucket de journaux. Vous pouvez configurer les ressources dans lesquelles rechercher des entrées de journal. Par exemple, vous pouvez rechercher des entrées de journal par vue de journal.

Les widgets du panneau "Journaux" affichent une entrée de journal par ligne, avec des colonnes pour la gravité, le code temporel et un résumé de l'entrée de journal. Pour afficher la représentation au format JSON d'une entrée de journal, cliquez sur le bouton Afficher les détails du journal. La structure de chaque récapitulatif d'entrée varie en fonction du type de journal. Par exemple, l'image suivante montre deux entrées de journal :

Image de deux entrées de journal dans le widget du panneau des journaux.

Dans l'image précédente, la première entrée de journal affiche des informations sur une demande de service. Le résumé affiche des informations sur le service, une adresse e-mail et une version au format chaîne de la structure JSON de l'entrée. La deuxième entrée affiche les résultats d'une requête et ne montre qu'une phrase résumant l'action qui s'est produite.

Pour obtenir des informations générales sur Cloud Logging, consultez les ressources suivantes :

Avant de commencer

Pour obtenir les autorisations nécessaires pour ajouter un widget de panneau de journaux à un tableau de bord personnalisé à l'aide de la console Google Cloud et le configurer pour afficher les entrées de journaux dans des projets ou des vues de journaux, demandez à votre administrateur de vous accorder les rôles IAM suivants :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

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

Afficher les entrées de journal dans un tableau de bord

Cette section explique comment ajouter et configurer un widget de panneau de journaux à l'aide de la console Google Cloud . Pour en savoir plus sur l'utilisation de l'API Cloud Monitoring, consultez la section Tableau de bord avec un widget LogsPanel.

Vous pouvez ajouter jusqu'à 100 widgets à un tableau de bord.

Pour ajouter un widget de panneau de journaux au tableau de bord à l'aide de la console, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page  Tableaux de bord :

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils de la console Google Cloud , sélectionnez votre projet Google Cloud . Pour les configurations App Hub, sélectionnez le projet hôte ou le projet de gestion App Hub.
  3. Sélectionnez un tableau de bord ou cliquez sur Créer un tableau de bord.
  4. Dans la barre d'outils, cliquez sur  Ajouter un widget.
  5. Dans la boîte de dialogue Ajouter un widget, sélectionnez  Journaux.
  6. Facultatif : Pour modifier le titre, saisissez le nouveau titre dans le champ Titre du widget.
  7. Configurez les ressources dans lesquelles rechercher des entrées de journal :

    • Pour effectuer une recherche par projet, définissez l'entrée Étendue par sur Projet, puis développez l'entrée Projets et remplissez la boîte de dialogue.

      Le menu Projets répertorie tous les projets Google Cloud du champ d'application des métriques actuel. Si une entrée du menu inclut le texte "Vous ne disposez pas des autorisations nécessaires au niveau du projet pour afficher les journaux de ce projet", cela signifie que vous ne disposez pas des autorisations requises pour afficher les entrées de journal disponibles dans ce projet Google Cloud .

      Les entrées de journal affichées incluent celles qui proviennent de votre projetGoogle Cloud et celles qui sont acheminées vers votre projetGoogle Cloud par un récepteur d'un autre projet.

    • Pour rechercher des entrées de journal par vues de journaux sur les buckets de journaux, définissez l'entrée Étendue par sur Stockage, puis développez l'entrée Vues de stockage et remplissez la boîte de dialogue.

      Le menu Vues de stockage liste les vues de journaux sur les buckets de journaux dans le projet Google Cloud que vous avez sélectionné.

      Pour sélectionner des vues de journaux sur des buckets de journaux dans d'autres projets Google Cloud , cliquez sur Importer un projet dans le menu, sélectionnez un projet, puis sélectionnez une ou plusieurs vues de journaux. Vous ne pouvez importer que les projets inclus dans le champ d'application des métriques actuel.

    • Pour rechercher les ressources incluses dans un champ d'application des journaux, qui peut inclure des projets et des vues de journaux, définissez l'entrée Champ d'application par sur Champ d'application des journaux, puis développez l'entrée Champs d'application des journaux et sélectionnez un champ d'application des journaux.

  8. Facultatif : Pour limiter les journaux affichés par le widget du panneau des journaux, saisissez une requête dans le champ Éditeur de requête, puis cliquez sur Exécuter la requête si vous avez désactivé l'exécution automatique des requêtes. Pour une brève introduction aux requêtes, consultez Exemples de requêtes.

    Une requête peut comporter 2 000 caractères au maximum.

  9. Facultatif : mettez à jour la requête ou la configuration du widget pour qu'elle dépende de variables. Lorsque vous modifiez la valeur de la variable, le widget est également mis à jour. Pour en savoir plus sur la syntaxe et d'autres informations, consultez Ajouter des variables à votre requête.

  10. Pour appliquer vos modifications au tableau de bord, cliquez sur Appliquer dans la barre d'outils. Pour supprimer vos modifications, cliquez sur Annuler.

  11. Pour enregistrer le tableau de bord modifié, cliquez sur Enregistrer dans la barre d'outils.

    Le widget du panneau des journaux affiche un tableau des entrées de journal. Vous pouvez également utiliser la barre de filtres du widget pour modifier temporairement les entrées de journal qu'il affiche. Pour en savoir plus, consultez la section Filtrer les entrées de journal.

Exemples de requêtes

Pour renseigner le champ Éditeur de requête, vous pouvez saisir du texte dans le champ ou effectuer des sélections dans les menus. Le champ Éditeur de requête utilise le même langage de requête que l'explorateur de journaux. Pour obtenir des informations de dépannage, consultez la section Problèmes de syntaxe.

Les menus Gravité et Nom du journal vous permettent de sélectionner plusieurs options. Voici un exemple d'instruction de requête correspondant à plusieurs niveaux de gravité :

severity=(WARNING OR ERROR OR CRITICAL OR ALERT OR EMERGENCY)

Le menu Ressource vous permet de filtrer par ressource. Vous pouvez sélectionner un type de ressource, tel que Ressource auditée, ou parcourir les menus pour sélectionner une méthode spécifique.

Par exemple, pour ajouter une requête pour Ressource auditée, procédez comme suit :

  1. Développez le menu Ressource.
  2. Recherchez et sélectionnez Ressource auditée.
  3. Cliquez sur Appliquer.

    Ces étapes ajoutent la clause suivante au champ Éditeur de requête :

    resource.type="audited_resource"
    

De même, pour ajouter une requête pour les journaux d'audit Cloud Run Functions, procédez comme suit :

  1. Développez le menu Ressource.
  2. Recherchez et sélectionnez Ressource auditée.
  3. Dans le menu des services, sélectionnez Cloud Functions.
  4. Cliquez sur Appliquer.

    Ces étapes ajoutent la clause suivante au champ Éditeur de requête :

    resource.type="audited_resource" resource.labels.service="cloudfunctions.googleapis.com"
    

Ajouter des variables à votre requête

Vous pouvez utiliser des variables dans votre requête ou dans d'autres champs du widget du panneau "Journaux". Lorsque vous modifiez la valeur de la variable, les données affichées par le widget changent également.

Pour ajouter une variable à votre requête :

  1. Créez une variable. Dans la console Google Cloud , vous pouvez utiliser l'option Paramètres d'un tableau de bord pour créer, modifier et afficher des variables. Vous pouvez également utiliser l'API Cloud Monitoring.

  2. Pour appliquer une variable à votre requête, utilisez l'une des formes suivantes :

    • Pour les variables basées sur des libellés, utilisez ${label_based_variable.value}.
    • Pour les variables basées sur la valeur, utilisez ${value_based_variable}.

    Par exemple, supposons que vous créez la variable value_only_severity_variable (valeur uniquement) et que vous la configurez pour qu'elle ait l'une des trois valeurs suivantes : ERROR, INFO et NOTICE. Vous ajoutez également l'instruction suivante à votre requête :

    severity =~ "${value_only_severity_variable}"
    

    Voici un exemple de formulaire affiché :

    severity =~ "^(ERROR|INFO|NOTICE)$"
    

    Pour en savoir plus sur les variables et sur la façon de les appliquer au widget du panneau des journaux ou à d'autres widgets, consultez Mettre à jour la requête d'un widget.

Pour savoir comment utiliser une variable pour afficher ou masquer un widget, consultez Définir la visibilité d'un widget.

Filtrer les entrées de journal

Vous pouvez modifier les entrées de journal affichées par un widget de panneau de journaux en modifiant les valeurs des champs ou menus suivants :

  • Sélecteur de période du tableau de bord : par défaut, le widget du panneau des journaux ne récupère que les entrées de journal écrites dans l'intervalle spécifié par ce champ. Si vous souhaitez un intervalle différent, appliquez un filtre qui inclut une clause timestamp. Le widget du panneau des journaux n'est pas compatible avec le remplacement de la période.

  • Champ Filtre du widget du panneau des journaux : le filtre que vous spécifiez est appliqué une fois la requête terminée. La valeur de ce champ n'est conservée que pour la session en cours.

  • Menu Gravité du widget du panneau des journaux : le filtre par niveau de gravité est appliqué une fois la requête terminée. La valeur de ce champ n'est conservée que pour la session en cours.

  • Requête sur le widget du panneau "Journaux" : le widget du panneau "Journaux" n'affiche que les entrées de journaux correspondant à la requête. Si vous ne spécifiez pas de requête, tous les journaux de l'intervalle de temps sélectionné s'affichent. Si vous spécifiez une requête, le widget du panneau des journaux affiche une icône Afficher la requête, qui affiche la requête actuelle sous forme d'info-bulle.

    Pour modifier la requête, modifiez le widget du panneau des journaux.

  • Google Cloud  : pour modifier ce paramètre, modifiez le widget du panneau des journaux.

  • Filtres du tableau de bord : lorsqu'il existe des filtres de tableau de bord, le paramètre de filtre est appliqué à la requête du widget du panneau des journaux. Par exemple, si vous ajoutez le filtre de tableau de bord cluster_name: mycluster, la requête est mise à jour pour inclure resource.labels."cluster_name"="mycluster". Pour en savoir plus sur les filtres de tableau de bord, consultez Ajouter des filtres temporaires et Ajouter des filtres permanents.

Le reste de cette section fournit des informations supplémentaires sur le filtrage des entrées de journal.

Exemple : filtrer les entrées de journal par date

Pour afficher les journaux les plus récents dans un widget de panneau de journaux, utilisez les champs temporels de la barre d'outils du tableau de bord. Par exemple, vous pouvez définir le sélecteur de période de la barre d'outils sur 1H. Si vous ne sélectionnez pas de période personnalisée, le widget affiche toujours les journaux les plus récents, même s'ils sont plus anciens que la période sélectionnée.

Lorsque vous examinez une alerte, vous pouvez limiter les entrées de journal à celles qui se trouvent dans un intervalle de temps spécifique. Pour configurer les entrées de journal de sorte qu'elles n'affichent que les journaux d'un intervalle de temps fixe, effectuez l'une des opérations suivantes, ou les deux :

  • Sélectionnez une période à l'aide du sélecteur de période.
  • Saisissez une clause timestamp dans le champ Éditeur de requête du volet de configuration, puis sélectionnez Appliquer le filtre.

Lorsque vous spécifiez un intervalle de temps, le widget du panneau des journaux n'est pas actualisé automatiquement.

Exemple : filtrer les entrées de journal par niveau de gravité

Lorsque vous déboguez un échec, vous pouvez choisir de n'afficher que les messages d'erreur et de masquer toutes les autres entrées de journal. Pour configurer un widget de panneau de journaux afin d'afficher uniquement les entrées de journal qui répondent à des niveaux de gravité spécifiques, procédez comme suit :

  • Pour appliquer un filtre temporaire, sélectionnez une valeur dans le menu Gravité du widget du panneau des journaux. Ce menu spécifie un niveau de gravité minimal. Par exemple, la valeur "Warning" (Avertissement) entraîne la récupération des entrées de journal dont le niveau de gravité est "Error" (Erreur), mais les entrées de journal dont le niveau de gravité est "Notice" (Remarque) ne sont pas récupérées. Par défaut, la valeur de ce champ est définie sur Default, ce qui inclut toutes les entrées de journal.

    Le paramètre du menu Gravité est supprimé lorsque vous quittez le tableau de bord.

  • Pour appliquer un filtre permanent, saisissez une clause severity dans le champ Éditeur de requête du volet de configuration, puis sélectionnez Appliquer le filtre.

Exemple : filtrer les entrées de journal par chaîne ou expression

Filtrer les entrées de journal par chaîne ou expression spécifique vous permet de masquer celles qui ne vous intéressent pas. Par exemple, pour afficher les entrées de journal comprenant une adresse e-mail spécifique, vous pouvez appliquer un filtre basé sur cette adresse.

  • Pour appliquer un filtre temporaire et n'afficher que les entrées de journal contenant un mot ou une expression spécifique, utilisez le champ Filtre . Le test "contient" n'est pas sensible à la casse.

    Si vous ajoutez plusieurs filtres, seuls les journaux correspondant à tous les filtres sont affichés, car un AND implicite est inséré entre les filtres adjacents. Toutefois, vous pouvez insérer explicitement un opérateur OR :

    • Par exemple, lorsque vous ajoutez les filtres Get et Compute, les entrées de journal contenant les deux mots sont affichées.

    • Par exemple, lorsque vous ajoutez les filtres Get, OR et Compute, les entrées de journal contenant Get ou Compute sont affichées.

    La valeur du champ Filtre n'est pas persistante.

  • Pour appliquer un filtre permanent, modifiez la requête stockée dans le champ Éditeur de requête, puis sélectionnez Appliquer le filtre. Pour en savoir plus sur la syntaxe des requêtes, consultez la page Langage de requête Logging.

    Par exemple, pour n'afficher que les entrées de journal avec un champ MESSAGE dont la valeur contient la chaîne "lamp", ajoutez la clause jsonPayload.MESSAGE:"lamp" au champ éditeur de requête.

Afficher les entrées de journal dans l'explorateur de journaux

Les widgets du panneau "Journaux" affichent les champs clés des entrées de journal, mais pas l'entrée de journal complète. Pour examiner tous les champs d'une entrée de journal, procédez comme suit :

  1. Dans le widget du panneau des journaux, sélectionnez Afficher dans l'explorateur de journaux.
  2. Dans la boîte de dialogue, sélectionnez le projet Google Cloud dans lequel ouvrir l'explorateur de journaux.

    L'explorateur de journaux s'ouvre dans un nouvel onglet du navigateur, et les filtres que vous avez sélectionnés dans le widget du panneau des journaux sont automatiquement appliqués.

  3. Sélectionnez l'entrée de journal que vous souhaitez afficher.

Afficher les graphiques générés à partir d'une requête Analyse de l'observabilité

Cette section explique comment configurer et enregistrer un graphique généré à partir d'une requête d'analyse de l'observabilité dans un tableau de bord personnalisé. Analyse de l'observabilité vous permet de rechercher et d'agréger des journaux pour générer des insights utiles à l'aide de requêtes SQL.

En plus d'utiliser la page Analyse de l'observabilité pour configurer et enregistrer des graphiques dans un tableau de bord, vous pouvez enregistrer un graphique d'Analyse de l'observabilité directement dans Monitoring en procédant comme suit :

  1. Dans la console Google Cloud , accédez à la page  Tableaux de bord :

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils de la console Google Cloud , sélectionnez votre projet Google Cloud . Pour les configurations App Hub, sélectionnez le projet hôte ou le projet de gestion App Hub.
  3. Sélectionnez un tableau de bord ou cliquez sur Créer un tableau de bord.
  4. Dans la barre d'outils, cliquez sur  Ajouter un widget.
  5. Dans la boîte de dialogue Ajouter un widget, accédez à la section Données, puis sélectionnez Analyse de l'observabilité.
  6. Dans la boîte de dialogue Configurer le widget, configurez les données à afficher, puis cliquez sur Exécuter la requête.

    Pour sélectionner les données à afficher, vous pouvez créer une requête SQL ou sélectionner une requête enregistrée ou récente. Les vues de journaux et les vues d'analyse que vous pouvez interroger sont listées dans la section Vues et schéma. Cliquez sur une source de données pour afficher la liste des champs de cette source de données sous l'en-tête Schéma.

  7. (Facultatif) Dans l'onglet Résultats, personnalisez la configuration du graphique à l'aide du panneau Afficher.

    Dans le panneau Affichage, vous pouvez modifier le type de graphique et personnaliser les lignes et les colonnes représentées en modifiant la dimension, la mesure et la répartition :

    • Dimension : la dimension doit être une colonne de code temporel, numérique ou de chaîne. Par défaut, la dimension est définie sur la première colonne basée sur un code temporel dans le schéma. Si aucun code temporel n'est présent dans la requête, la première colonne de chaîne est sélectionnée comme dimension. Vous pouvez également personnaliser la dimension dans le panneau Affichage du graphique. Lorsqu'une colonne de code temporel est sélectionnée comme dimension, le graphique montre l'évolution des données au fil du temps. Lorsqu'une colonne de chaîne est sélectionnée comme dimension pour un graphique à barres, vous pouvez trier les données par ordre croissant ou décroissant, ce qui trie la dimension par ordre lexical. Vous pouvez également conserver l'ordre de tri par défaut, qui trie la dimension en fonction des valeurs de la mesure correspondante dans l'ordre décroissant.

    • Mesure : vous pouvez sélectionner plusieurs mesures dans le panneau Affichage du graphique. Lorsque vous sélectionnez une mesure, vous devez également sélectionner la fonction d'agrégation à effectuer sur ses valeurs groupées, par exemple count, sum, average et percentile-99. Par exemple, count-distinct renvoie le nombre de valeurs uniques dans une colonne donnée.

    • Répartition : pour diviser une seule série de données en plusieurs séries de données en fonction d'une autre colonne, ajoutez une répartition.

    Pour en savoir plus sur la personnalisation de la configuration du graphique, consultez Personnaliser la configuration du graphique.

  8. Pour enregistrer le tableau de bord modifié, cliquez sur Enregistrer dans la barre d'outils.

Les graphiques Analyse de l'observabilité peuvent également être modifiés après avoir été enregistrés dans un tableau de bord. Pour en savoir plus, consultez Modifier la configuration d'un widget.

Afficher les erreurs sur un tableau de bord

Cette section explique comment ajouter et configurer un panneau de signalement d'erreurs à l'aide de la console Google Cloud . Pour savoir comment ajouter un panneau Error Reporting à un tableau de bord à l'aide de l'API Cloud Monitoring, consultez Tableau de bord avec un widget ErrorReportingPanel.

Pour ajouter un panneau de rapport d'erreurs au tableau de bord à l'aide de la console, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page  Tableaux de bord :

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils de la console Google Cloud , sélectionnez votre projet Google Cloud . Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion.
  3. Sélectionnez un tableau de bord ou cliquez sur Créer un tableau de bord.
  4. Dans la barre d'outils, cliquez sur  Ajouter un widget.
  5. Dans la boîte de dialogue Ajouter un widget, accédez à la section Visualisation, puis sélectionnez Panneau Error Reporting.
  6. Développez Projets, puis sélectionnez un projet.
  7. Facultatif : Modifiez le titre.
  8. Facultatif : Pour limiter les ressources pour lesquelles les erreurs sont affichées, procédez comme suit :

    1. Développez Toutes les ressources, puis sélectionnez une ressource.
    2. Après avoir sélectionné une ressource, vous pouvez cliquer sur Appliquer ou utiliser les menus supplémentaires pour affiner les critères de filtre :

      • Pour afficher les erreurs des ressources App Engine, sélectionnez Services GAE, puis cliquez sur Appliquer.

      • Pour afficher les erreurs d'un service App Engine spécifique, sélectionnez Services GAE, sélectionnez le service, puis cliquez sur Appliquer.

  9. Pour appliquer vos modifications au tableau de bord, cliquez sur Appliquer dans la barre d'outils. Pour supprimer vos modifications, cliquez sur Annuler.

    L'exemple suivant montre un panneau de signalement d'erreur :

    Exemple de volet de configuration du panneau de signalement des erreurs.

  10. Pour enregistrer votre tableau de bord modifié, cliquez sur Enregistrer dans la barre d'outils.

Résoudre les problèmes

Étapes suivantes