Aktivieren von Profiler für ASP.NET Core-Web-Anwendungen, die unter Linux gehostet werden

Mithilfe von Application Insights Profiler für .NET können Sie nachverfolgen, wie viel Zeit in jeder Methode Ihrer Live-ASP.NET Core-Web-Apps verbracht wird, die in Linux in Azure App Service gehostet werden. Dieser Artikel konzentriert sich auf Web-Anwendungen, die unter Linux gehostet werden. Sie können auch mit Linux-, Windows- und Mac-Entwicklungsumgebungen experimentieren.

In diesem Artikel führen Sie folgende Schritte aus:

  • eine ASP.NET Core-Webanwendung einrichten und bereitstellen, die auf Linux gehostet wird.
  • einen Application Insights Profiler zur der ASP.NET Core-Webanwendung hinzufügen.

Voraussetzungen

Lokales Einrichten des Projekts

  1. Öffnen Sie ein Eingabeaufforderungsfenster auf Ihrem Computer.

  2. Erstellen Sie eine ASP.NET Core-MVC-Webanwendung:

    dotnet new mvc -n LinuxProfilerTest
    
  3. Ändern Sie das Arbeitsverzeichnis in den Stammordner des Projekts.

  4. Fügen Sie das NuGet-Paket hinzu, um die Profiler-Ablaufverfolgungen zu erfassen:

    dotnet add package Microsoft.ApplicationInsights.Profiler.AspNetCore
    
  5. Aktivieren Sie in Ihrem bevorzugten Code-Editor Application Insights und .NET Profiler in Program.cs. Fügen Sie ggf. benutzerdefinierte Profiler-Einstellungen hinzu.

    Für WebAPI:

    // Add services to the container.
    builder.Services.AddApplicationInsightsTelemetry();
    builder.Services.AddServiceProfiler();
    

    Für Worker:

    IHost host = Host.CreateDefaultBuilder(args)
        .ConfigureServices(services =>
        {
            services.AddApplicationInsightsTelemetryWorkerService();
            services.AddServiceProfiler();
    
            // Assuming Worker is your background service class.
            services.AddHostedService<Worker>();
        })
        .Build();
    
    await host.RunAsync();
    
  6. Speichern Sie die Änderungen, und committen Sie sie an das lokale Repository:

    git init
    git add .
    git commit -m "first commit"
    

Erstellen der Linux-Web-App zum Hosten Ihres Projekts

  1. Erstellen Sie in Azure-Portal mithilfe von App Service für Linux eine Web-Anwendungs-Umgebung.

    Screenshot, der das Erstellen der Linux-Web-Anwendung anzeigt.

  2. Wechseln Sie zu Ihrer neuen Web-App-Ressource und wählen Sie Bereitstellungscenter>FTPS-Anmeldeinformationen aus, um die Bereitstellungsanmeldeinformationen zu erstellen. Notieren Sie sich Ihre Anmeldeinformation zur späteren Verwendung.

    Screenshot, der das Erstellen der Anmeldeinformationen für die Bereitstellung anzeigt.

  3. Wählen Sie Speichern aus.

  4. Wählen Sie die Registerkarte Einstellungen aus.

  5. Wählen Sie in der Drop-down-Liste Lokales Git aus, um ein lokales Git-Repository in der Web-Anwendung einzurichten.

    Screenshot der Anzeige von Bereitstellungsoptionen in einem Drop-down-Menü.

  6. Wählen Sie Speichern aus, um ein Git-Repository mit einer Git Clone-URI zu erstellen.

    Screenshot, der das Einrichten des lokalen Git-Repositorys anzeigt.

    Weitere Bereitstellungsoptionen finden Sie unter App Service-Dokumentation.

Bereitstellen des Projekts

  1. Navigieren Sie im Eingabeaufforderungsfenster zum Stammordner für Ihr Projekt. Fügen Sie ein Git-Remote-Repository hinzu, sodass es auf das Repository auf App Service weist:

    git remote add azure https://<username>@<app_name>.scm.azurewebsites.net:443/<app_name>.git
    
    • Verwenden Sie den username (Benutzernamen) , den Sie verwendet haben, um die Anmeldeinformationen für die Bereitstellung zu erstellen.
    • Verwenden Sie den app-name (App-Namen) , den Sie verwendet haben, um die Web-App mithilfe von App Service unter Linux zu erstellen.
  2. Stellen Sie das Projekt durch Pushen der Änderungen in Azure bereit:

    git push azure main
    

    Die Ausgabe sollte etwa folgendem Beispiel entsprechen:

    Counting objects: 9, done.
    Delta compression using up to 8 threads.
    Compressing objects: 100% (8/8), done.
    Writing objects: 100% (9/9), 1.78 KiB | 911.00 KiB/s, done.
    Total 9 (delta 3), reused 0 (delta 0)
    remote: Updating branch 'main'.
    remote: Updating submodules.
    remote: Preparing deployment for commit id 'd7369a99d7'.
    remote: Generating deployment script.
    remote: Running deployment command...
    remote: Handling ASP.NET Core Web Application deployment.
    remote: ......
    remote:   Restoring packages for /home/site/repository/EventPipeExampleLinux.csproj...
    remote: .
    remote:   Installing Newtonsoft.Json 10.0.3.
    remote:   Installing Microsoft.ApplicationInsights.Profiler.Core 1.1.0-LKG
    ...
    

Hinzufügen von Application Insights zum Überwachen Ihrer Web-Apps

Sie haben drei Optionen zum Hinzufügen von Application Insights zu Ihrer Web-Anwendung:

  • Mithilfe des Bereichs Application Insights im Azure-Portal.
  • Mithilfe des Bereichs Konfiguration im Azure-Portal.
  • Durch manuelles Hinzufügen zu Ihren Web-App-Einstellungen.
  1. Wählen Sie in Ihrer Web-Anwendung im Azure-Portal die Option Application Insights im linken Bereich aus.

  2. Wählen Sie Application Insights aktivieren aus.

    Screenshot, der das Einschalten von Application Insights anzeigt.

  3. Wählen Sie unter Application Insights die Option Aktivieren aus.

    Screenshot, der das Aktivieren von Application Insights anzeigt.

  4. Erstellen Sie unter Link zu einer Application Insights-Ressourceentweder eine neue Ressource oder wählen Sie eine vorhandene Ressource aus. Für dieses Beispiel erstellen wir eine neue Ressource.

    Screenshot, der das Verknüpfen von Application Insights mit einer neuen oder bestehenden Ressource anzeigt.

  5. Wählen Sie Anwenden>Ja zum Anwenden und Bestätigen aus.

Nächste Schritte