1. Avant de commencer
Comme indiqué dans l'atelier de programmation Déboguer la maison connectée, nous publions des métriques et des journaux dans vos projets de maison connectée. Les métriques vous permettent de déterminer les problèmes rencontrés par votre action pour la maison connectée. Quant aux journaux, ils sont utiles pour analyser la situation en détail afin de résoudre ces problèmes.
Outre celles disponibles dans votre projet, vous pouvez générer vos propres métriques à l'aide des métriques basées sur les journaux de Google Cloud Platform. Ainsi, vous pouvez surveiller certaines tendances dans vos journaux et résoudre efficacement les problèmes de qualité.
Prérequis
- Disposer d'une intégration Compatible avec la maison connectée
- Terminer l'atelier de programmation Déboguer la maison connectée
Points abordés
- Rédiger des requêtes efficaces pour filtrer les journaux d'erreurs de la maison connectée
- Créer des métriques basées sur les journaux pour générer des métriques à partir de vos requêtes
- Créer des graphiques et des tableaux de bord à partir de métriques basées sur les journaux à des fins de surveillance
2. Utiliser les journaux
Comme nous l'avons brièvement expliqué dans l'atelier de programmation Déboguer la maison connectée, l'utilisation des journaux est essentielle à la réussite de votre projet. Google Cloud Platform propose d'excellents outils pour surveiller et analyser vos journaux. Pour accéder à tous les journaux disponibles pour votre projet, vous pouvez utiliser l'explorateur de journaux.
Accéder aux journaux
Pour accéder à vos journaux, la première étape consiste à vous connecter à Google Cloud Platform et à choisir votre projet. Accédez à l'explorateur de journaux à partir du menu latéral, en cliquant sur Opérations > Journaux > Explorateur de journaux. Une fois l'outil ouvert, la vue suivante doit s'afficher :
L'explorateur de journaux comprend deux sections principales : une section en haut de l'écran dans laquelle saisir vos requêtes (le générateur de requêtes) et une zone dans laquelle s'affichent les résultats correspondants (intitulée Résultats de la requête).
Par défaut, de nombreux composants de Google écrivent des journaux dans votre projet. Pour trouver et utiliser les journaux provenant de votre intégration pour la maison connectée, vous devez rédiger des requêtes personnalisées.
Rédiger des requêtes
Les journaux sont publiés dans les projets d'un type de ressource donné. Chaque type de ressource représente une plate-forme Google différente. Pour votre projet, les journaux provenant de la plate-forme pour la maison connectée sont disponibles dans le type de ressource assistant_action_project
.
En outre, un niveau de gravité est attribué à tous les journaux au moment de leur création. Pour les journaux de la maison connectée, nous utilisons le niveau ERROR
pour les journaux représentant les erreurs et les exceptions, et le niveau DEBUG
pour tout le reste.
Dans l'exemple suivant, nous allons rédiger une requête pour filtrer les journaux ne provenant que de notre plate-forme et représentant des erreurs, comme suit :
Une fois la requête rédigée, cliquez sur le bouton Exécuter la requête. Des erreurs liées à votre intégration pour la maison connectée doivent s'afficher :
Comme vous pouvez le constater, des erreurs se sont produites à plusieurs reprises au cours de la dernière heure. Chaque ligne représente un seul journal d'erreurs. Vous pouvez cliquer sur chacun des journaux et développer les champs imbriqués pour voir les informations qu'ils contiennent.
Utiliser l'histogramme
L'explorateur de journaux fournit une fonctionnalité d'histogramme utile pour afficher la distribution dans le temps des journaux correspondant à votre requête. Pour activer l'histogramme, cliquez sur MISE EN PAGE dans les boutons situés en haut à droite, puis cochez la case Histogramme pour activer la fonctionnalité.
Une fois la fonctionnalité activée, la distribution des journaux correspondant à votre requête s'affiche :
Comme vous pouvez le voir sur l'image ci-dessus, plusieurs petits groupes d'erreurs sont apparus au cours de l'heure précédente. Ils semblent former trois clusters autour de 13:45, 14:00 et 14:15. L'histogramme peut vous aider à détecter des tendances qui seraient difficiles à identifier si vous ne vous basiez que sur les valeurs d'horodatage.
Pour le moment, la requête que nous utilisons ne fait aucune différence entre les journaux et affiche toutes les erreurs provenant de l'intégration pour la maison connectée. Dans de nombreux cas, il peut être utile de différencier les erreurs, par exemple pour suivre les tendances d'erreurs provenant de certains types d'appareils ou de certaines caractéristiques. Pour ce faire, nous allons découvrir comment rédiger des requêtes avancées.
Requêtes avancées
Lorsque vous inspectez un journal des événements de la maison connectée, vous pouvez voir qu'il existe différents champs dans lesquels il est possible de recueillir des informations :
action
trait
:ciblez la caractéristique de l'appareil en fonction de l'utilisateur (par exemple, OnOff, StartStop et Luminosité).actionType
: état précis de la caractéristique (par exemple, On, Off, Pause, Stop et Resume).
device
deviceType
:ciblez le type d'appareil en fonction de l'utilisateur (éclairage, interrupteur, lave-linge, par exemple).
status
isSuccess
: indique si le résultat de l'action est considéré comme réussi (true/false).statusType
: code d'état du résultat de l'action (indique un code d'erreur en cas d'échec).externalDebugString
: chaîne de débogage de l'action (décrit l'erreur en détail).
Autres champs
Vous pouvez aussi obtenir des informations à partir d'autres champs :
requestId
: identifiant unique associé à la requête (généré par Google).executionType
: chemin d'accès utilisé par la requête (indique s'il s'agit d'un chemin cloud ou local).latencyMsec
: latence perçue de la requête sur les serveurs Google (en millisecondes).locale
: langue ou région d'origine de la requête (par exemple, en-US, fr-FR).
À l'aide du champ de caractéristique de la liste ci-dessus, nous allons modifier notre requête pour n'inclure que les erreurs provenant de la caractéristique OnOff :
resource.type="assistant_action_project" AND severity=ERROR AND jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"
Après avoir exécuté notre nouvelle requête, le système identifie les journaux et affiche le résultat correspondant :
Jusqu'à présent, nous avons effectué toutes nos requêtes manuellement. Il s'agit d'un excellent moyen de vérifier rapidement l'état des erreurs, mais il s'avère moins efficace pour surveiller l'évolution des tendances d'erreurs au fil du temps. Pour automatiser ce flux et collecter les données sur des périodes plus longues, nous allons créer des métriques basées sur les journaux.
3. Métriques basées sur les journaux
Vous pouvez utiliser des métriques basées sur les journaux pour comptabiliser le nombre de journaux correspondant à vos requêtes au fil du temps. Cela vous permettra d'afficher des tendances dans vos journaux et de fournir de bons insights concernant les problèmes sous-jacents.
Créer une métrique basée sur les journaux
Pour créer une métrique basée sur les journaux, accédez à Opérations > Journaux > Métriques basées sur les journaux. La liste des métriques basées sur les journaux déjà disponibles dans votre projet s'affiche. Lorsque vous cliquez sur le bouton CRÉER UNE MÉTRIQUE, l'écran de création de métriques basées sur les journaux s'affiche :
Il existe deux types de métriques principaux: une métrique de compteur qui compte le nombre de journaux correspondant à votre requête. Une métrique de distribution assure le suivi de la distribution sous-jacente et permet des opérations statistiques telles que la moyenne, la médiane et le 95e centile.
Si vous faites défiler la page vers le bas, vous verrez une section de filtre dans laquelle vous pouvez saisir votre requête.
Nous allons coller la requête de la section précédente dans la zone de texte Créer un filtre.
resource.type="assistant_action_project" AND severity=ERROR AND jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"
Vous pouvez également cliquer sur le bouton PRÉVISUALISER LES JOURNAUX pour avoir un aperçu rapide des journaux précédents correspondant à votre filtre. Une fois que vous avez terminé, vous pouvez cliquer sur le bouton CRÉER UNE MÉTRIQUE et passer à la section suivante.
Afficher les données de métriques basées sur les journaux
Maintenant que nous avons créé notre métrique basée sur les journaux, elle sera disponible dans la section Métriques définies par l'utilisateur de la page des métriques basées sur les journaux.
Dans le menu correspondant à la métrique basée sur les journaux (menu à trois points), sélectionnez Afficher dans l'explorateur de métriques pour afficher les données collectées dans la métrique basée sur les journaux :
Une fois qu'une nouvelle erreur s'est produite, elle est capturée par notre métrique basée sur les journaux et affichée dans la fenêtre du graphique de l'explorateur de métriques.
Surveillance via des tableaux de bord personnalisés
Une fois que notre nouvelle métrique basée sur les journaux fonctionne comme prévu, il est temps d'enregistrer ce graphique dans un tableau de bord personnalisé. Pour ce faire, cliquez sur le bouton Enregistrer le graphique en haut à droite de l'explorateur de métriques. Une invite s'affiche pour vous permettre de nommer le graphique et de sélectionner le tableau de bord dans lequel vous souhaitez l'enregistrer :
Une fois le graphique enregistré, vous pouvez facilement y accéder depuis le tableau de bord. Pour accéder à la liste des tableaux de bord disponibles dans votre projet, accédez à Opérations > Surveillance > Tableaux de bord.
Nous avons enregistré notre graphique dans un tableau de bord intitulé "Atelier de programmation". Ouvrez-le pour afficher la vue suivante :
Le graphique représentant la métrique basée sur les journaux s'affiche ici, avec les nouvelles données collectées. Les journaux de la maison connectée sont publiés dans votre projet en temps réel. Lorsqu'un nouveau journal sera disponible, il sera immédiatement comptabilisé dans votre métrique basée sur les journaux.
4. Félicitations
Félicitations ! Vous avez découvert comment transformer vos requêtes en métriques basées sur les journaux. Vous avez également appris à les enregistrer dans des tableaux de bord personnalisés pour la surveillance.
Étapes suivantes
En complément de cet atelier de programmation, faites ces exercices et découvrez d'autres ressources :
- Consultez le guide Créer des métriques de distribution pour créer des métriques basées sur les journaux sur des champs numériques, comme la latence.
- Consultez l'exemple de bibliothèque de requêtes fourni par Google Cloud pour découvrir certains des filtres complexes que vous pouvez utiliser pour les métriques basées sur les journaux.