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
- Installieren Sie das aktuelle .NET Core SDK.
- Installieren Sie Git nach den Anweisungen unter Getting Started – Installing Git (Erste Schritte – Installieren von Git).
- Sehen Sie sich die folgenden Beispiele als Kontext an:
Lokales Einrichten des Projekts
Öffnen Sie ein Eingabeaufforderungsfenster auf Ihrem Computer.
Erstellen Sie eine ASP.NET Core-MVC-Webanwendung:
dotnet new mvc -n LinuxProfilerTest
Ändern Sie das Arbeitsverzeichnis in den Stammordner des Projekts.
Fügen Sie das NuGet-Paket hinzu, um die Profiler-Ablaufverfolgungen zu erfassen:
dotnet add package Microsoft.ApplicationInsights.Profiler.AspNetCore
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();
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
Erstellen Sie in Azure-Portal mithilfe von App Service für Linux eine Web-Anwendungs-Umgebung.
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.
Wählen Sie Speichern aus.
Wählen Sie die Registerkarte Einstellungen aus.
Wählen Sie in der Drop-down-Liste Lokales Git aus, um ein lokales Git-Repository in der Web-Anwendung einzurichten.
Wählen Sie Speichern aus, um ein Git-Repository mit einer Git Clone-URI zu erstellen.
Weitere Bereitstellungsoptionen finden Sie unter App Service-Dokumentation.
Bereitstellen des Projekts
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.
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 Umgebungsvariablen im Azure-Portal.
- Durch manuelles Hinzufügen zu Ihren Web-App-Einstellungen.
Wählen Sie in Ihrer Web-Anwendung im Azure-Portal die Option Application Insights im linken Bereich aus.
Wählen Sie Application Insights aktivieren aus.
Wählen Sie unter Application Insights die Option Aktivieren aus.
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.
Wählen Sie Anwenden>Ja zum Anwenden und Bestätigen aus.