Einrichten der „.NET “-Trace-Funktion auf Linux oder Alpine Linux

Sie können die „.NET “-Protokollierung auf Linux einrichten, indem Sie Instana AutoTrace verwenden oder die Umgebungsvariablen manuell konfigurieren. Unter .NET Core sensor 1.0.56 und höher, .NET unterstützt Tracer die automatische Host-Trace-Erfassung auf Linux -Systemen, mit Ausnahme von Containern.

Weitere Informationen zur Funktionsweise der Überwachung von „.NET “ finden Sie unter „So funktioniert die Überwachung von ‚.NET ‘“.

Ausführen von „.NET “-Anwendungen auf „ Linux “

Wenn Sie noch keine Erfahrung mit der Bereitstellung von „.NET “-Anwendungen auf „ Linux “ haben, befolgen Sie diese Schritte, um Ihre Anwendung einzurichten und auszuführen.

Schritt 1: Installieren Sie das „.NET “-SDK

Je nach Ihren Anforderungen können Sie das „.NET “-SDK in einer der folgenden Umgebungen installieren:

  • WSL ( Windows -Subsystem für Linux ): Für Entwicklung und Fehlerbehebung
  • Linux Maschine: Für Produktionsumgebungen

Um das „.NET “ SDK unter 8.0 auf Ubuntu 22.04 zu installieren, führen Sie den folgenden Befehl aus:

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

Schritt 2: Starten Sie die Anwendung „.NET “

Sie können Ihre „.NET “-Anwendung auf eine der folgenden Arten ausführen:

  • Direkter Lauf:

    dotnet run --project /home/username/Applications/WebAPI.Linux/WebAPI.Linux.csproj
  • Führen Sie mit Kestrel den Befehl „ Go “ zum Publish Ordner aus und starten Sie die DLL:

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

.NET -Tracing aktivieren

Aktivieren Sie die „.NET “-Protokollierung auf Linux mit einer der folgenden Methoden:

Methode 1: Automatische Nachverfolgung aktivieren

Mit Instana AutoTrace, Instana erkennt und instrumentiert automatisch Ihre .NET -Anwendung. Sie müssen keinen Code ändern.

Führen Sie die folgenden Schritte aus, um „ Instana “ unter AutoTrace, zu aktivieren:

  1. Starten Sie den Agenten, nachdem Sie den Host-Agenten installiert haben.
  2. Starten Sie Ihre „.NET “-Anwendung.

Beim Start des Erkennungsvorgangs aktiviert der Sensor automatisch die Nachverfolgung. Sie müssen das Paket „ NuGet “ nicht manuell einbinden und die Anwendung kompilieren.

Im Rahmen des Erkundungsprozesses wird die instana_dotnet_global_env.sh Datei erstellt. Diese Datei enthält die Umgebungsvariablen, die für die Ablaufverfolgung von „.NET Core “ erforderlich sind.

Um zu überprüfen, ob die Nachverfolgung funktioniert, melden Sie sich bei Ihrem „ Instana “-Dashboard an. Man kann sehen, wie sich Spuren abzeichnen.

Methode 2: manuelles Aktivieren der Ablaufverfolgung

Verwenden Sie diese Methode, wenn Sie die automatische Erkennung nicht nutzen möchten oder wenn Sie mehr Kontrolle über die Konfiguration benötigen. Bei diesem Ansatz werden „ NuGet “-Pakete zu Ihrer Anwendung hinzugefügt.

Anwendungen auf Linux aufspüren (mit Ausnahme von Alpine Linux )

Um die manuelle Ablaufverfolgung in einer auf Linux ausgeführten „.NET Core “-Anwendung zu aktivieren, führen Sie die folgenden Schritte aus:

  1. Nachdem Sie den Host-Agenten installiert haben, installieren Sie die folgenden Pakete in Ihrer Anwendung:

    Wenn die Pakete über NuGet.org bereitgestellt werden, können Sie sie installieren, ohne die Anwendung neu kompilieren zu müssen. Verwenden Sie eine der folgenden Methoden:

    • nuget.exe Verfügbar: Stellen Sie die Pakete wieder her, nuget.exe ohne das zu instrumentierende Projekt zu kompilieren.
    • nuget.exe Nicht verfügbar: Laden Sie die Pakete direkt herunter, entpacken Sie sie und richten Sie die Umgebungsvariablen so ein, dass sie auf die entpackten Dateien verweisen, wie im folgenden Schritt beschrieben.
    Hinweis: Wählen Sie das für Ihre Systemarchitektur geeignete Rewriter-Paket aus. Sie können das Instana.Tracing.Core.Rewriter.Linux Paket zu Ihrem Projekt hinzufügen oder es vor der Veröffentlichung einbinden.
  2. Legen Sie die folgenden Umgebungsvariablen in der Web.config Datei Ihrer Anwendung fest, bevor Sie den Prozess starten:

    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

    Ersetzen Sie [path-to-your-app] durch den tatsächlichen Pfad zu Ihrem Anwendungsverzeichnis.

  3. Wenn Ihre Anwendung in einem Container ausgeführt wird, definieren Sie die Umgebungsvariablen des Agenten so, dass der „.NET -Tracer“ weiß, wo er den Agenten finden kann, und Spans zur Laufzeit sendet:

    INSTANA_AGENT_HOST=[address_where_the_agents_listens_and_is_reachable_from_inside_the_container]
    INSTANA_AGENT_PORT=42699

    Verwenden Sie einen anderen Port, falls dieser anders konfiguriert ist.

Verfolgen von Anwendungen, die auf Alpine Linux laufen

Um die Ablaufverfolgung für Anwendungen zu aktivieren, die auf Alpine Linux ausgeführt werden, führen Sie die folgenden Schritte aus:

  1. Nachdem Sie den Host-Agenten installiert haben, installieren Sie die folgenden Pakete in Ihrer Anwendung:

    Hinweis:
    • Wenn die Pakete unter NuGet.org verfügbar sind, können Sie sie – sofern vorhanden – über die nuget.exe Datei herunterladen, ohne das Projekt kompilieren zu müssen. Alternativ können Sie diese Pakete manuell herunterladen, entpacken und anschließend die Umgebungsvariablen so einstellen, dass sie auf die entpackten Dateien verweisen, wie im folgenden Schritt beschrieben.
    • Wählen Sie das für Ihre Systemarchitektur geeignete Rewriter-Paket aus. Sie können das Instana.Tracing.Core.Rewriter.Windows Paket zu Ihrem Projekt hinzufügen oder es vor der Veröffentlichung einbinden.
  2. Legen Sie die folgenden Umgebungsvariablen fest, bevor Sie Ihren Prozess starten:

    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. Wenn Ihre Anwendung in einem Container ausgeführt wird, definieren Sie die Umgebungsvariablen des Agenten:

    INSTANA_AGENT_HOST=[address_where_the_agents_listens_and_is_reachable_from_inside_the_container]
    INSTANA_AGENT_PORT=42699