Utiliser Power BI pour avoir de la visibilité sur ses API Azure

Quentin DESCHENES
Publié par Quentin DESCHENES
Catégorie : Azure / Azure Monitor
14/10/2022

Cet article a pour vocation de vous montrer comment il est possible de façonner des rapports Power BI pour superviser vos API Azure à partir des informations collectées dans Azure Application Insights.

Azure Application Insights fournit un grand nombre d’informations sur l’utilisation des API. On peut ainsi retrouver pour chaque appel toutes les données techniques que l’on souhaite. Mais dès lors que l’on multiplie le nombre d’API et/ou que les API sont de plus en plus utilisées, la navigation devient d’autant plus fastidieuse.

Grâce aux rapports Power BI, il est facile d’avoir une vue synthétique de l’état des API en temps réel et, pourquoi pas, de faciliter le diagnostic dans Azure Application Insights en cas de problème.

 

Extraire une requête utilisable dans Power BI à partir d’Application Insights

 

Écrire la requête dans Azure Application Insights

La première étape consiste à se rendre dans Azure Application Insights afin de créer la requête qui sera la source de notre rapport Power BI:

 

Accès à App Insight

App insight pannel

 

Ensuite, grâce aux filtres et options d’Application Insights, il faut sélectionner les données que l’on souhaite extraire pour notre rapport Power BI. Dans notre cas, nous souhaitons récupérer l’ensemble des requêtes envoyées à nos trois API Leads, Distributors et Models dans un délais de 30 jours à partir de la date du jour. Pour ce faire, voici la configuration que nous avons appliquée.

 

Azure App Insight filtre de requête

 

En cliquant ensuite sur View in logs logo,Azure génère une requête dans le langage Kusto :

 

Requete Kusto App insight

 

À ce stade, il est possible de personnaliser la requête afin de répondre plus précisément à nos besoins. Ainsi, nous souhaitons récupérer l’ensemble des requêtes envoyées à nos API. Nous enlevons donc la partie « take 100 » dans la requête. De plus, nous souhaitons récupérer les requêtes faites à moins de 30 jours à partir de la date du jour et non pas entre deux dates précises comme c’est le cas par défaut. Nous remplaçons donc

Requete Kusto 1

par

Requete Kusto 2

Ce dernier point a son importance pour la dernières étape qui consiste à rafraîchir de manière automatique les données.

Nous obtenons ainsi la requête suivante :

Requete Kusto 3

 

Extraire la requête au format Power BI (M query)

 

Pour extraire la requête obtenue dans le paragraphe précédent, il faut aller dans Export > Export to Power BI (M query).

Vous obtiendrez alors un fichier texte contenant la fameuse requête au bon format.

 

Exporter la requete Kusto

 

Créer un rapport Power BI

 

Pour la suite des opérations, rendez-vous dans Power BI Desktop. Il faut créer un nouveau rapport en choisissant comme source de données « Requête vide ».

 

PowerBI Desktop layout

 

Aller ensuite dans « Editeur avancé » et copier-coller la requête obtenue dans Azure :

 

Importer la requete dans PowerBI

 

Dès lors, nous avons à disposition dans notre Power Bi toutes les informations que nous avions dans Azure Application insights. Il est alors possible de façonner son ou ses rapports selon les besoins du projet. Dans mon cas, je filtre sur trois données différentes que sont les API name, les codes HTTP de retour et les dates. En fonction de ces trois filtres, l’ensemble des rapports se mettent à jour. Grâce au graphique central, je suis capable de savoir en un coup d’œil si j’ai beaucoup d’erreurs ou non.

Enfin, en cliquant par exemple sur les erreurs 500 de mon API Leads, je vois les détails techniques dans la table de droite où figure entre autre l’id des requêtes. Je peux ainsi retrouver très rapidement la requête en question dans Azure et faciliter mon diagnostic.

 

Rapport final dans PowerBI

 

Automatiser la mise à jour des données

 

Enfin, comme je disais en introduction, il est possible de faire en sorte de rafraîchir ces données de manière automatique dans Power Bi. Il est au préalable nécessaire de publier son rapport en ligne dans le service Power BI. De cette manière, le rapport affichera les données relatives à vos APIs 30 jours avant la date du jour. Pour cette ultime étape, rendez-vous dans Power BI en ligne. Allez ensuite dans votre espace de travail. Vous devriez retrouver le rapport ainsi que le jeu de données sur lequel est basé le rapport.

Au niveau du jeu de données, cliquez sur l’icône suivante :

 

Logo mise a jour des données

 

Dans la partie « Actualisation planifiée », il est alors possible de définir les heures auxquelles vous souhaitez que vos données se rafraîchissent.

 

Panel mise à jour des données

 

Il est ensuite facile de voir la date et l’heure de la dernière mise à jour du jeu de données ainsi que la prochaine mise à jour prévue.

 

Mise à jour auto du jeu de données

 

Conclusion

 

Grâce à ce procédé, on voit qu’il est relativement simple de créer et de personnaliser un rapport Power BI dynamique basé sur des données issues d’Azure. Cela a, pour nous, plusieurs avantages. Cela nous permet par exemple de suivre l’évolution en consommation des services que nous développons pour nos clients. Il est aussi possible de se servir de ces rapports pour monitorer les interfaces en plus des solutions proposées par Azure. Et enfin, selon moi, une des utilisations les plus importantes est que nous pouvons partager des données chiffrées et pertinentes à nos clients avec une mises en forme facilitant la compréhension et l’analyse.