Vous l’aurez sans doute compris en voyant le titre de l’article, nous allons parler d’Azure Application Insights. Qu’est-ce que c’est ? Pour faire bref : un outil de télémétrie dans Azure pour surveiller en direct vos applications. Mais encore ? Pour des explications plus en détails, suivez le guide. On commencera par une présentation générale de l’outil, puis seront détaillées les fonctionnalités principales (publiées dans des articles séparés).
Présentation générale
Application Insights, officiellement Visual Studio Application Insights car s’adressant aux développeurs, est un service proposé par Microsoft sur la plateforme Azure. Avec Application Insights, vous allez pouvoir ajouter très facilement à vos applications de la télémétrie, c’est-à-dire des informations remontées automatiquement dans l’outil en ligne. Quand je parle de vos applications, il s’agit de toutes vos applications, qu’elle que soit la techno, qu’elle que soit la plateforme sur laquelle elle tourne. Je détaillerai ce point un peu plus loin.
Les informations que vous allez pouvoir recueillir sur le portail Azure dans votre compte Application Insights sont de plusieurs natures. Vous pouvez récupérer des statistiques d’utilisation, comme les pages vues d’un site internet, des logs de votre appli, des évènements personnalisés, les erreurs et exceptions rencontrées par l’utilisateur, des compteurs de performances, et d’autres encore.
Toutes ces informations sont envoyées sur le portail Azure, sur le tableau de bord Application Insights indiqué dans la configuration (nous verrons aussi cette partie de configuration plus tard). Et c’est là qu’Application Insights prend un tout autre intérêt que de “bêtes” fichiers de logs. Sur le portail, vous avez accès à toutes les informations, dans de jolis graphiques, que vous pouvez filtrer, trier, modifier à l’envie.
Toutes les informations étant contextualisées, il est possible de les analyser plus finement, comme par exemple filtrer par session utilisateur, type de navigateur web, pays d’origine, etc.
Disponibilité d’Application Insights
Comme je l’ai indiqué précédemment, Application Insights est disponible pour beaucoup de langages de programmation, de plateformes techniques et de frameworks. Voici une liste des disponibilités actuelles d’App Insights :
Langages
- C#, VB, C++, Java, JavaScript, Objective-C, PHP, Python, Ruby
Plateformes et frameworks
- Angular, ASP.NET, Android, Azure web apps et VMs, Microsoft Dynamics Online, Docker, iOS,
- J2EE, Node. JS, OSX, Spring, Windows Store, applications Windows desktop, services, et worker roles, Xamarin
Frameworks de Logs
- Log4Net, NLog, System. Diagnostics. Trace, Java, Log4J, Logback, Semantic Logging (SLAB)
CMS
- Concrete, Drupal, Joomla, Orchard, SharePoint, WordPress
Analyse de données et Export
- Alooma, Power Logging BI, Stream Analytics
La liste est longue (elle est disponible ici) et devrait encore s’allonger. Il est en effet possible de créer votre propre SDK pour une plateforme/un langage qui ne serait pas encore disponible. Pour cela, un dépôt GitHub existe là.
Tarification
La bonne nouvelle côté tarif est la disponibilité d’un niveau de service gratuit ! Certes, ce niveau comporte des limitations, surtout sur la quantité de données que vous pourrez envoyer chaque mois. Mais cela reste tout à fait utilisable pour des tests, pendant la phase de développement ou sur une application avec un faible trafic. La quantité de données est limitée par application, donc vous pouvez tout à fait utiliser Application Insights gratuitement avec des dizaines d’applications différentes.
Pour le moment, App Insights est encore en version Preview, ce qui implique une remise sur les tarifs.
Voici la grille tarifaire en vigueur actuellement (disponible sur le site Azure).
Il est possible d’essayer gratuitement le niveau Premium pendant un mois, à n’importe quel moment. Cela peut vous être utile pour évaluer la quantité de données que génère votre application.
Fonctionnalités
Les fonctionnalités d’Application Insights étant nombreuses, je détaillerai celles-ci dans plusieurs articles, dont vous retrouverez les liens ci-dessous (cette liste sera mise à jour) :
- Suivi de l’utilisation
- Evènements personnalisés et métriques
- Détection des erreurs
- Suivi automatique
- Analyse des dépendances
- Export de la télémétrie