Principes de base de la collecte de données d’Azure Monitor Application Insights
Avant de pouvoir superviser votre application, elle doit être instrumentée.
Dans les sections suivantes, nous abordons certaines notions de base de la collecte de données d’Azure Monitor Application Insights.
Options d’instrumentation
À un niveau de base, « l’instrumentation » consiste simplement à permettre à une application de capturer la télémétrie.
Il existe deux méthodes pour instrumenter votre application :
- Instrumentation automatique (auto-instrumentation)
- Instrumentation manuelle
L’auto-instrumentation permet de collecter des données de télémétrie via une configuration sans toucher au code de l’application. Bien qu’il s’agisse d’une méthode plus pratique, elle a tendance à être moins configurable. Elle n’est pas non plus disponible dans toutes les langues. Consultez Langages et environnements pris en charge par l’auto-instrumentation. Lorsque l’auto-instrumentation est disponible, il s’agit du moyen le plus simple d’activer Azure Monitor Application Insights.
L’instrumentation manuelle consiste à coder sur Application Insights ou l’API OpenTelemetry. Dans le contexte d’un utilisateur, cela fait généralement référence à l’installation d’un kit SDK spécifique au langage dans une application. Cela signifie que vous devez gérer vous-mêmes les mises à jour vers la dernière version du package. Vous pouvez utiliser cette option si vous devez effectuer des appels de dépendance ou des appels d’API personnalisés qui ne sont pas capturés par défaut avec l’instrumentation automatique. Il existe deux options pour l’instrumentation manuelle :
Bien que nous voyions OpenTelemetry comme notre orientation future, nous n’avons pas l’intention d’arrêter la collecte de données à partir d’anciens kits SDK. Nous avons encore un chemin à parcourir avant que nos distributions Azure OpenTelemetry atteignent la parité des fonctionnalités avec nos SDK Application Insights. Dans de nombreux cas, les clients continuent à choisir d’utiliser les SDK Application Insights pendant un certain temps.
Important
« Manuelle » ne signifie pas que vous devez écrire du code complexe pour définir les étendues des traces distribuées, bien que cela reste une option. Les bibliothèques d’instrumentation empaquetées dans nos distributions vous permettent de capturer sans effort des signaux de télémétrie dans des infrastructures et des bibliothèques courantes. Nous travaillons activement à instrumenter les kits SDK de service Azure les plus populaires à l’aide d’OpenTelemetry afin que ces signaux soient disponibles pour les clients qui utilisent la distribution OpenTelemetry d’Azure Monitor.
Types de télémétrie
La télémétrie, c’est-à-dire les données collectées pour observer votre application, peut être divisée en trois types ou « piliers » :
- Suivi distribué
- Mesures
- Journaux d’activité
Une histoire complète d’observabilité comprend les trois piliers, et Application Insights décompose ces piliers en tables en fonction de notre modèle de données. Nos SDK Application Insights ou distributions OpenTelemetry Azure Monitor incluent tout ce dont vous avez besoin pour alimenter l’Analyse des performances des applications sur Azure. L’installation du package même est gratuite et vous payez uniquement les données que vous ingérez dans Azure Monitor.
Les sources suivantes fournissent des explications relatives aux trois piliers :
- Site web de la communauté OpenTelemetry
- Spécifications OpenTelemetry
- Distributed Systems Observability par Cindy Sridharan
Routage de télémétrie
Il existe deux façons d’envoyer vos données à Azure Monitor (ou tout autre fournisseur) :
- Via un exportateur direct
- Via un agent
Un exportateur direct envoie la télémétrie in-process (à partir du code de l’application) directement au point de terminaison d’ingestion Azure Monitor. Le principal avantage de cette approche réside dans la simplicité de l’intégration.
Les SDK Application Insights et les distributions OpenTelemetry Azure Monitor actuellement disponibles s’appuient sur un exportateur direct.
Remarque
Pour connaître la position d’Azure Monitor sur OpenTelemetry-Collector, consultez la FAQ OpenTelemetry.
Conseil
Si vous envisagez d’utiliser OpenTelemetry-Collector pour l’échantillonnage ou le traitement des données supplémentaires, vous pouvez peut-être obtenir ces mêmes fonctionnalités intégrées à Azure Monitor. Les clients qui ont migré vers Application Insights basé sur l’espace de travail peuvent tirer parti des transformations au moment de l’ingestion. Pour l’activer, suivez les détails du tutoriel en ignorant l’étape qui montre comment configurer un paramètre de diagnostic, car cela est déjà configuré avec Application Insights centré sur l’espace de travail. Si vous filtrez moins de 50 % du volume global, ce n’est pas un coût supplémentaire. Après 50 %, il y a un coût, mais beaucoup moindre que les frais standard par Go.
OpenTelemetry
Microsoft est ravi d’adopter OpenTelemetry comme l’avenir de l’instrumentation de télémétrie. Comme vous, nos clients, nous avez demandé une instrumentation indépendante des fournisseurs, nous sommes heureux de nous associer à la communauté OpenTelemetry pour créer des API et des Kit de développement logiciel (SDK) cohérents pour tous les langages.
Microsoft a collaboré avec les parties prenantes de deux projets de télémétrie open source populaires, OpenCensus et OpenTracing. Ensemble, nous avons contribué à la création d’un seul projet, OpenTelemetry. OpenTelemetry inclut les contributions de tous les principaux fournisseurs de solutions cloud et de gestion des performances des applications (APM). Il s’inscrit dans le cadre de la Cloud Native Computing Foundation (CNCF). Microsoft est un membre Platinum de la CNCF.
Pour plus d’informations sur la terminologie, consultez le glossaire dans les spécifications d’OpenTelemetry.
Certains termes hérités dans Application Insights prêtent à confusion en raison de la convergence du secteur par rapport à OpenTelemetry. Le tableau suivant met en évidence ces différences. Les termes OpenTelemetry remplacent les termes d’Application Insights.
Application Insights | OpenTelemetry |
---|---|
Autocollectors | Bibliothèques d’instrumentation |
Canal | Exportateur |
Sans code/basé sur un agent | Auto-instrumentation |
Traces | Journaux d’activité |
Demandes | Étendues de serveur |
Les dépendances | Autres types d’étendues (client, interne, etc.) |
ID d’opération | ID de trace |
ID ou ID parent de l’opération | ID d’étendue |
Forum aux questions
Où puis-je trouver la liste des versions du kit de développement logiciel (SDK) d’Application Insights ainsi que leurs noms ?
Une liste des versions et noms du kit de développement logiciel (SDK) est hébergée sur GitHub. Pour plus d’informations, consultez Version du kit de développement logiciel (SDK).
Étapes suivantes
Sélectionnez votre approche d’activation :
- Auto-instrumentation
- SDK Application Insights
- Distributions OpenTelemetry Azure Monitor
Pour plus d’informations, consultez les FAQ sur Azure Monitor Application Insights et OpenTelemetry.