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 Application Insights. La distribution Azure Monitor OpenTelemetry :

  • fournit une distribution OpenTelemetry qui inclut la prise en charge de fonctionnalités propres à Azure Monitor ;
  • permet une télémétrie automatique en incluant les bibliothèques d’instrumentation OpenTelemetry pour collecter les traces, métriques, journaux et exceptions ;
  • autorise la collecte de données de télémétrie personnalisées ;
  • prend en charge les métriques temps réel pour surveiller et collecter davantage de données de télémétrie à partir d’applications de production web en direct.

Pour plus d’informations sur les avantages de l’utilisation de la distribution Azure Monitor OpenTelemetry, consultez Pourquoi utiliser la distribution Azure Monitor OpenTelemetry ?.

Si vous souhaitez en savoir plus sur la collecte de données avec OpenTelemetry, consultez les principes de base de la collecte de données ou les questions fréquentes (FAQ) sur OpenTelemetry.

Statut de publication d’OpenTelemetry

Les offres OpenTelemetry sont disponibles pour les applications .NET, Node.js, Python et Java. Pour connaître l’état de la publication fonctionnalité par fonctionnalité, consultez la FAQ.

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 propres au langage de votre choix.

Remarque

.NET couvre plusieurs scénarios, notamment ASP.NET classique, les applications de console, Windows Forms (WinForms) et bien plus encore.

Prérequis

Conseil

Si vous effectuez une migration depuis l’API Classique Application Insights, consultez notre documentation sur la migration.

Installer la bibliothèque de client

Installez le package NuGet Azure.Monitor.OpenTelemetry.AspNetCore le plus récent :

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 la chaîne de connexion à partir de votre ressource Application Insights

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

Conseil

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

Pour copier la chaîne de connexion :

  1. Accédez au panneau 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.

Capture d’écran montrant l’aperçu d’Application Insights et la chaîne de connexion.

Coller la chaîne de connexion dans votre environnement

Pour coller votre chaîne de connexion, sélectionnez l’une des options suivantes :

Important

Nous vous recommandons de définir la chaîne de connexion au moyen de code uniquement dans les environnements de développement et de test locaux.

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

  • Définir au moyen d’une variable d’environnement - recommandé

    Dans la commande suivante, remplacez <Your connection string> par votre chaîne de connexion.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Définir au moyen d’un fichier config - Java uniquement

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

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

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

  • Définir au moyen de code - ASP.NET Core, Node.js et Python uniquement

    Pour obtenir un exemple de définition d’une chaîne de connexion au moyen de code, consultez la configuration de la chaîne de connexion.

Remarque

Si vous définissez la chaîne de connexion à plusieurs emplacements, l’ordre de priorité des variables d’environnement est le suivant :

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

Confirmer le déplacement des données

Exécutez votre application, puis ouvrez Application Insights dans le Portail Azure. L’affichage des données peut prendre quelques minutes.

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

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

Important

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

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 en savoir plus, consultez Statsbeat dans Azure Application Insights.

Exemples d’applications

Les exemples d’applications Azure Monitor OpenTelemetry sont disponibles pour tous les langages pris en charge :

Étapes suivantes