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.
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:
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.
En cliquant ensuite sur ,Azure génère une requête dans le langage Kusto :
À 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
par
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 :
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.
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 ».
Aller ensuite dans « Editeur avancé » et copier-coller la requête obtenue dans Azure :
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.
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 :
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.
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.
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.