Activer Azure Monitor OpenTelemetry pour les applications .NET, Node.js, Python et Java

Cet article explique comment activer et configurer la collecte de données basée sur OpenTelemetry dans Azure Monitor Application Insights à l’aide de la distribution OpenTelemetry Azure Monitor. OpenTelemetry est la norme open source d’observabilité de la CNCF ; la distribution Azure Monitor OpenTelemetry est la distribution de Microsoft de cette norme, optimisée pour Azure Monitor. La distribution :

  • Fournit une distribution OpenTelemetry qui inclut la prise en charge des fonctionnalités spécifiques à Azure Monitor.
  • Active la collecte automatique de données de télémétrie en incluant les bibliothèques d’instrumentation OpenTelemetry pour collecter des traces, des métriques, des journaux et des exceptions.
  • Permet de collecter des données de télémétrie personnalisées .
  • Prend en charge les métriques en direct pour surveiller et collecter les données de télémétrie à partir d’applications web actives en production.

Pour plus d’informations sur les avantages de l’utilisation de la distribution OpenTelemetry Azure Monitor, consultez Why dois-je utiliser la distribution OpenTelemetry Azure Monitor.

Pour en savoir plus sur la collecte de données à l’aide d’OpenTelemetry, consultez la vue d’ensemble d’Application Insights ou la FAQ OpenTelemetry.

Suivez les étapes décrites dans cet article pour installer la distribution, la connecter à votre ressource Application Insights et vérifier que les données de télémétrie circulent vers Azure Monitor.

Conseil

Pour obtenir une vue d’ensemble conceptuelle des options OpenTelemetry dans Azure Monitor ( ingestion OTLP native, distribution Microsoft d’OpenTelemetry et expériences d’observabilité de bout en bout), consultez OpenTelemetry avec Azure Monitor.

Statut de publication d’OpenTelemetry

Les offres OpenTelemetry sont disponibles pour les applications .NET, Node.js, Python et Java. Pour connaître le statut de chaque fonctionnalité, consultez la FAQ.

Remarque

Pour Azure Function Apps, consultez Use OpenTelemetry avec Azure Functions.

Activer OpenTelemetry avec Application Insights

Suivez les étapes de cette section pour instrumenter votre application avec OpenTelemetry. Sélectionnez un onglet pour obtenir des instructions spécifiques à la langue.

Le tableau suivant récapitule les packages et les commandes d’installation pour chaque langue prise en charge :

Language Package Commande d'installation
ASP.NET Core Azure.Monitor.OpenTelemetry.AspNetCore dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore
.NET Azure.Monitor.OpenTelemetry.Exporter dotnet add package Azure.Monitor.OpenTelemetry.Exporter
Java applicationinsights-agent-3.7.8.jar Download à partir de GitHub
Node.js @azure/monitor-opentelemetry npm install @azure/monitor-opentelemetry
Python azure-monitor-opentelemetry pip install azure-monitor-opentelemetry

Remarque

.NET couvre plusieurs scénarios, notamment les ASP.NET classiques, les applications console, les Windows Forms (WinForms), etc.

Prérequis

  • application ASP.NET Core à l’aide d’une version officiellement prise en charge de .NET

Conseil

Si vous effectuez une migration à partir de kits SDK Application Insights plus anciens, consultez notre documentation de migration.

Installer la bibliothèque de client

Installez le dernier package Azure.Monitor.OpenTelemetry.AspNetCoreNuGet :

dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore

Modifier votre application

Importez l’espace de noms Azure.Monitor.OpenTelemetry.AspNetCore, ajoutez OpenTelemetry et configurez-le pour utiliser Azure Monitor dans votre classe program.cs :

// Import the Azure.Monitor.OpenTelemetry.AspNetCore namespace.
using Azure.Monitor.OpenTelemetry.AspNetCore;

var builder = WebApplication.CreateBuilder(args);

// Add OpenTelemetry and configure it to use Azure Monitor.
builder.Services.AddOpenTelemetry().UseAzureMonitor();

var app = builder.Build();

app.Run();

Copier le chaîne de connexion à partir de votre ressource Application Insights

Le chaîne de connexion est unique et spécifie où la distribution OpenTelemetry du Azure Monitor envoie les données de télémétrie qu'elle collecte.

Conseil

Si vous n’avez pas encore de ressource Application Insights, créez-en un suivant ce guide. Nous vous recommandons de créer une ressource plutôt que d’utiliser une ressource existante.

Pour copier le chaîne de connexion :

  1. Accédez au volet Vue d’ensemble de votre ressource Application Insights.
  2. Recherchez votre chaîne de connexion.
  3. Pointez sur la chaîne de connexion et sélectionnez l’icône Copier dans le Presse-papiers.

Screenshot qui montre la vue d’ensemble d’Application Insights et chaîne de connexion.

Collez la chaîne de connexion dans votre environnement

Pour coller votre chaîne de connexion, utilisez l’une des méthodes suivantes :

Méthode Langues prises en charge Recommandé pour
Variable d’environnement Tous Production
Fichier de configuration (applicationinsights.json) Java uniquement Production (Java)
Code ASP.NET Core, Node.js, Python Développement/test local uniquement

Important

Nous vous recommandons de définir le chaîne de connexion via du code uniquement dans les environnements de développement et de test locaux.

Pour la production, utilisez une variable d’environnement ou un fichier de configuration (Java uniquement).

  • Définissez la chaîne de connexion Application Insights comme variable d’environnement (recommandé pour la production)

    Remplacez <Your chaîne de connexion> dans la commande suivante par votre chaîne de connexion.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Set l’chaîne de connexion Application Insights dans un fichier de configuration - Java uniquement

    Créez un fichier de configuration nommé applicationinsights.json, puis placez-le dans le même répertoire que applicationinsights-agent-3.7.8.jar, avec le contenu suivant :

    {
      "connectionString": "<Your connection string>"
    }
    

    Remplacez <Your chaîne de connexion> dans le code JSON précédent par votre chaîne de connexion unique.

  • Définissez la chaîne de connexion Application Insights dans le code - ASP.NET Core, Node.js et Python uniquement

    Consultez chaîne de connexion configuration pour obtenir un exemple de définition de chaîne de connexion via du code.

Remarque

Si vous définissez la chaîne de connexion dans plusieurs emplacements, elle est résolue dans l'ordre de priorité suivant (le plus élevé au plus bas) :

  1. Code
  2. Variable d’environnement
  3. Fichier de configuration

Confirmer que les données circulent

Après avoir configuré la distribution OpenTelemetry Azure Monitor et défini la chaîne de connexion, exécutez votre application et ouvrez votre ressource Application Insights dans le portail Azure afin de vérifier que les traces, métriques et journaux apparaissent. L’affichage des données peut prendre quelques minutes.

Capture d’écran de l’onglet Vue d’ensemble d’Application Insights avec les demandes de serveur et le temps de réponse du serveur mis en surbrillance.

Application Insights est maintenant activé pour votre application. Les étapes suivantes sont facultatives et permettent une personnalisation supplémentaire.

Remarque

Dans le cadre de l’utilisation de l’instrumentation Application Insights, nous collectons et envoyons des données de diagnostic à Microsoft. Ces données nous permettent d’exécuter et d’améliorer Application Insights. Pour plus d’informations, consultez le FAQ Application Insights.

Important

Si vous avez deux services ou plus qui émettent des données de télémétrie vers la même ressource Application Insights, vous devez définir les noms de rôles cloud pour les représenter correctement sur la carte d’application.

Résolution des problèmes, commentaires et support

Conseil

Les sections suivantes sont disponibles dans tous les articles de distribution OpenTelemetry.

Résolution des problèmes

Commentaires sur OpenTelemetry

Pour fournir des commentaires :

Support

Sélectionnez un onglet correspondant à la langue de votre choix pour découvrir les options de support.

Étapes suivantes