Logic Apps et Log Analytics sont des ressources mises à disposition dans Azure.
Logic Apps permet d’automatiser des flux entre différentes applications et services.
Log Analytics collecte l’ensemble des données de journaux d’Azure (logs) et permet de requêter et donc d’analyser ces dernières. Le langage utilisé est Kusto Query Language (KQL).
Logic Apps sera donc ici notre ordonnanceur et fera appel à Log Analytics.
Paramétrage du Logic Apps

Étape 1 : création de la Logic Apps
Créer une nouvelle ressource "Logic Apps" en remplissant les différentes informations :

Étape 2 : déclencheur du rapport
Afin d’apporter les correctifs nécessaires aux flux s’incidentant de façon régulière, il peut être intéressant de retrouver ces performances une fois par semaine. Le premier composant de ce Logic Apps sera donc le composant Recurrence.
Étape 3 : récupération des performances
Pour cela, nous utilisons le composant Run Query and visualize results en complétant les informations abonnement, groupe de ressources et nom de la ressource Log Analytics. Le type de ressource doit être "Log Analytics Workspace".

Au niveau de la requête, différents éléments sont à renseigner :
- ‘ADFPipelineRun’ correspond au nom de la table collectant les logs dans Log Analytics
- Les conditions where, on filtre sur :
- Status : afin de ne pas prendre en compte les potentiels flux en cours d’exécution ou annulés par exemples
- PipelineName : nous sélectionnons ici les flux sur lesquels nous souhaitons faire l’analyse
- TimeGenerated : Plage de temps sur laquelle l’analyse est réalisée, ici les 7 derniers jours
- Summarize permet d’agréger les données en regroupant chacun des indicateurs par flux (PipelineName)
- Project permet de sélectionner les colonnes à afficher
- Distinct permet de dédoublonner les lignes
- Sort by permet de trier les résultats
- Le paramètre Render contient le rendu souhaité (graphique, table, etc.)
Étape 4 : envoi des résultats par mail
Enfin, grâce au composant ‘Send an email’, les résultats seront envoyés automatiquement aux destinataires renseignés dans le premier paramètre.

Ce contenu dynamique permettra d’envoyer la table dans le corps du mail : base64ToString(body('Run_query_and_visualize_results')?['body'])
Vous souhaitez aller plus loin ? Vous avez des questions ? Contactez Next Decision, nos experts sont là pour vous accompagner dans vos projets !
