Configuration du suivi d'.NET s sur Linux ou Alpine Linux

Vous pouvez activer le suivi d'.NET s sur Linux en utilisant Instana AutoTrace ou en configurant manuellement les variables d'environnement. Sur les versions .NET Core du capteur 1.0.56 et les versions ultérieures, .NET Tracer prend en charge le traçage automatique de l'hôte sur les systèmes Linux, à l'exception des conteneurs.

Pour plus d'informations sur le fonctionnement de la surveillance d'.NET, consultez la section « Comment fonctionne la surveillance d'.NET ».

Exécution d'applications d'.NET s sur Linux

Si vous n'êtes pas familier avec le déploiement d'applications .NET sur Linux, suivez ces étapes pour configurer et exécuter votre application.

Étape 1 : Installer le SDK d'.NET

En fonction de vos besoins, vous pouvez installer le SDK d'.NET s dans l'un des environnements suivants :

  • WSL (Winds Windows s Subsystem for Linux ) : pour le développement et le débogage
  • Linux machine : pour les environnements de production

Pour installer le SDK d'.NET 8.0 sur Ubuntu 22.04, exécutez la commande suivante :

wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y dotnet-sdk-8.0

Étape 2 : Lancez l'application «.NET »

Vous pouvez exécuter votre application .NET en utilisant l'une des méthodes suivantes :

  • Lecture directe :

    dotnet run --project /home/username/Applications/WebAPI.Linux/WebAPI.Linux.csproj
  • Accédez au Publish dossier « Kestrel : Go » et exécutez le fichier DLL :

    cd /home/username/Publish/WebAPI.Linux
    dotnet WebAPI.Linux.dll

Activation du traçage d'.NET

Activez le suivi d'.NET s sur Linux en utilisant l'une des méthodes suivantes :

Méthode 1 : Activer le traçage automatique

Grâce à Instana, AutoTrace, et Instana, votre application .NET est automatiquement détectée et instrumentée. Vous n'avez pas besoin de modifier le code.

Pour activer Instana AutoTrace,, procédez comme suit :

  1. Une fois l'agent hôte installé, lancez-le.
  2. Lancez votre application «.NET ».

Lors du démarrage de la phase de découverte, le capteur active automatiquement la fonction de suivi. Vous n'avez pas besoin d'intégrer manuellement le paquet « NuGet » ni de compiler l'application.

Au cours de la procédure de recherche des pièces, le instana_dotnet_global_env.sh fichier est créé. Ce fichier contient les variables d'environnement nécessaires au traçage d'.NET Core.

Pour vérifier si le suivi fonctionne, connectez-vous à votre tableau de bord Instana. On peut voir des traces apparaître.

Méthode 2 : Activer le traçage manuellement

Utilisez cette méthode si vous ne souhaitez pas recourir au traçage automatique ou si vous avez besoin d'un plus grand contrôle sur la configuration. Cette approche consiste à ajouter des paquets d' NuGet s à votre application.

Suivi des applications exécutées sur Linux (à l'exception de Alpine Linux )

Pour activer le traçage manuellement dans une application d'.NET Core fonctionnant sur Linux, procédez comme suit :

  1. Une fois l'agent hôte installé, installez les paquets suivants dans votre application :

    Lorsque les paquets sont distribués via NuGet.org, vous pouvez les installer sans avoir à recompiler l'application. Utilisez l'une des méthodes suivantes :

    • nuget.exe Disponible : Restaurez les paquets à l'aide de nuget.exe sans compiler le projet à instrumenter.
    • nuget.exe indisponible : téléchargez directement les paquets, décompressez-les, puis configurez les variables d'environnement pour qu'elles pointent vers les fichiers décompressés, comme décrit à l'étape suivante.
    Remarque : choisissez le module de réécriture adapté à l'architecture de votre système. Vous pouvez ajouter le Instana.Tracing.Core.Rewriter.Linux paquet à votre projet ou l'ajouter avant la publication.
  2. Définissez les variables d'environnement suivantes dans le Web.config fichier de votre application avant de lancer votre processus :

    DOTNET_STARTUP_HOOKS=[path-to-your-app]/Instana.Tracing.Core.dll
    CORECLR_ENABLE_PROFILING=1
    CORECLR_PROFILER={cf0d821e-299b-5307-a3d8-b283c03916dd}
    CORECLR_PROFILER_PATH=[Path_to_your_app]/instana_tracing/CoreProfiler.so

    Remplacez [path-to-your-app] par le chemin d'accès réel vers le répertoire de votre application.

  3. Si votre application s'exécute dans un conteneur, définissez les variables d'environnement de l'agent afin que l'outil de traçage .NET sache où trouver l'agent et puisse envoyer des segments de traçage lors de l'exécution :

    INSTANA_AGENT_HOST=[address_where_the_agents_listens_and_is_reachable_from_inside_the_container]
    INSTANA_AGENT_PORT=42699

    Si la configuration est différente, utilisez un autre port.

Suivi des applications exécutées sur Alpine Linux

Pour activer le traçage des applications s'exécutant sur Alpine Linux, procédez comme suit :

  1. Une fois l'agent hôte installé, installez les paquets suivants dans votre application :

    Remarque :
    • Si les paquets sont disponibles sur NuGet.org, vous pouvez les télécharger à l'aide du nuget.exe fichier, s'il est disponible, sans avoir à compiler le projet. Vous pouvez également télécharger manuellement ces paquets, les décompresser, puis configurer les variables d'environnement pour qu'elles pointent vers les fichiers décompressés, comme décrit à l'étape suivante.
    • Choisissez le package de réécriture adapté à l'architecture de votre système. Vous pouvez ajouter le Instana.Tracing.Core.Rewriter.Windows paquet à votre projet ou l'ajouter avant la publication.
  2. Définissez les variables d'environnement suivantes avant de lancer votre processus :

    DOTNET_STARTUP_HOOKS=[path-to-your-app]/Instana.Tracing.Core.dll
    CORECLR_ENABLE_PROFILING=1
    CORECLR_PROFILER={cf0d821e-299b-5307-a3d8-b283c03916dd}
    CORECLR_PROFILER_PATH=[Path_to_your_app]/instana_tracing/CoreProfiler.so
  3. Si votre application s'exécute dans un conteneur, définissez les variables d'environnement de l'agent :

    INSTANA_AGENT_HOST=[address_where_the_agents_listens_and_is_reachable_from_inside_the_container]
    INSTANA_AGENT_PORT=42699