Azure Monitor Logs (anciennement Log Analytics) est une brique fondamentale du service Azure Monitor. Azure Monitor Logs permet le stockage et l’analyse de traces émises par différents composants. De plus, nativement, les ressources Azure que vous pouvez utiliser dans vos souscriptions Azure sont capables d’injecter des informations dans la base de Logs.
A la différence des métriques, les logs Azure Monitor peuvent être des informations de différents types (date, chaîne de caractères…) . Elles sont organisées sous forme d’enregistrements (plusieurs colonnes). Il est intéressant de noter que la base de Logs peut être enrichie par des traces spécifiques à vos besoins (par exemple en utilisant les API de collecte de logs, comme le montre le diagramme précédent). C’est là l’objet de mon article : comment injecter des informations dans Logs Analytics via mes Logic Apps.
Vous devez disposer d’un workspace Log Anlaytics pour gérer vos Logs. Pour créer votre workspace, ajoutez simplement une nouvelle ressource de type « Log Analytics » depuis le portail Azure.
Vous devez ensuite spécifier :
Vous pouvez désormais ajouter des traces dans le service Azure Monitor Logs.
Pour que la Logic App soit capable d’émettre des traces il faut la lier à un workspace Log analytics. Cela peut se faire à la création de la Logic App comme le montre la capture ci-dessous
Ou encore depuis l’onglet Logs de la Logic App si la liaison n’a pas été ajoutée au moment de la création de la Logic App.
La liaison à un workspace active automatiquement l’émission d’un grand nombre de traces :
Cependant, celles-ci sont relativement techniques, et il est parfois intéressant d’enregistrer des informations avec une connotation métier (ex : un numéro de commande qui pourra être utilisé pour rechercher les instances liées à cette commande).
A partir de n’importe quelle action d’une Logic App, il est possible de configurer les informations à insérer dans la base Log Analytics. Pour réaliser ce paramétrage, il suffit d’utiliser les 3 petits points en haut à droite de l’action et de cliquer sur « Settings ».
Dans l’exemple ci-dessous j’ai tracké deux propriétés. L’une d’elle, « Subject », dont le contenu est dynamique, correspond au sujet d’un email que j’ai reçu dans ma Logic App.
Pour rechercher des informations dans la base Log analytics, il faut utiliser le langage Kusto (https://docs.microsoft.com/fr-fr/azure/kusto/query/). C’est un langage de requête qui est assez simple à prendre en main et qui est relativement proche de SQL.
Dans l’exemple ci-dessous je recherche le runID de l’exécution de la Logic App dans lequel j’ai reçu un email dont le Subject était « log ».
Gardez à l’esprit que :