Partager via


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

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

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

Pour en savoir plus sur la collecte de données à l’aide d’OpenTelemetry, consultez les concepts de base de la collecte de données ou la FAQ OpenTelemetry.

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 Utiliser 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 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 à partir de l’API Classique Application Insights, consultez notre documentation de migration.

Installer la bibliothèque de client

Installez le 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 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 la 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.

Capture d’écran montrant la vue d’ensemble 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 via une variable - d’environnementrecommandé

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

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Défini via le fichier de configuration - Uniquement pour Java

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

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

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

  • Définir par le biais du code - ASP.NET Core, Node.jset Python uniquement

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

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 que les données circulent

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 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.

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.

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