Włączanie profilera dla aplikacji internetowych ASP.NET Core hostowanych w systemie Linux

Korzystając z profilera, możesz śledzić ilość czasu spędzonego w każdej metodzie na żywo ASP.NET Core aplikacji internetowych hostowanych w systemie Linux na Azure App Service. Ten artykuł koncentruje się na aplikacjach internetowych hostowanych w systemie Linux. Możesz również eksperymentować przy użyciu środowisk deweloperskich Linux, Windows i Mac.

W tym artykule opisano następujące zagadnienia:

  • Konfigurowanie i wdrażanie aplikacji internetowej ASP.NET Core hostowanej w systemie Linux.
  • Dodaj profiler usługi Application Insights do aplikacji internetowej ASP.NET Core.

Wymagania wstępne

Konfigurowanie projektu lokalnie

  1. Otwórz okno wiersza polecenia na maszynie.

  2. Utwórz aplikację internetową MVC ASP.NET Core:

    dotnet new mvc -n LinuxProfilerTest
    
  3. Zmień katalog roboczy na folder główny projektu.

  4. Dodaj pakiet NuGet, aby zbierać ślady profilera:

    dotnet add package Microsoft.ApplicationInsights.Profiler.AspNetCore
    
  5. W preferowanym edytorze kodu włącz usługi Application Insights i Profiler w programie Program.cs. Dodaj niestandardowe ustawienia profilera, jeśli ma to zastosowanie.

    Dla WebAPI:

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

    Dla 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. Zapisz i zatwierdź zmiany w repozytorium lokalnym:

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

Tworzenie aplikacji internetowej systemu Linux do hostowania projektu

  1. W Azure Portal utwórz środowisko aplikacji internetowej przy użyciu App Service dla systemu Linux.

    Zrzut ekranu przedstawiający tworzenie aplikacji internetowej systemu Linux.

  2. Przejdź do nowego zasobu aplikacji internetowej i wybierzpozycję Poświadczenia FTPScentrum> wdrażania, aby utworzyć poświadczenia wdrożenia. Zanotuj swoje poświadczenia do późniejszego użycia.

    Zrzut ekranu przedstawiający tworzenie poświadczeń wdrożenia.

  3. Wybierz pozycję Zapisz.

  4. Wybierz kartę Ustawienia.

  5. Z listy rozwijanej wybierz pozycję Lokalne narzędzie Git , aby skonfigurować lokalne repozytorium Git w aplikacji internetowej.

    Zrzut ekranu przedstawiający wyświetlanie opcji wdrażania na liście rozwijanej.

  6. Wybierz pozycję Zapisz , aby utworzyć repozytorium Git przy użyciu identyfikatora URI klonowania Git.

    Zrzut ekranu przedstawiający konfigurowanie lokalnego repozytorium Git.

    Aby uzyskać więcej opcji wdrażania, zobacz dokumentację App Service.

Wdrażanie projektu

  1. W oknie wiersza polecenia przejdź do folderu głównego projektu. Dodaj repozytorium zdalne Git, aby wskazać repozytorium w App Service:

    git remote add azure https://<username>@<app_name>.scm.azurewebsites.net:443/<app_name>.git
    
    • Użyj nazwy użytkownika użytej do utworzenia poświadczeń wdrożenia.
    • Użyj nazwy aplikacji użytej do utworzenia aplikacji internetowej przy użyciu App Service dla systemu Linux.
  2. Wdróż projekt, wypychając zmiany na platformę Azure:

    git push azure main
    

    Powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:

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

Dodawanie usługi Application Insights w celu monitorowania aplikacji internetowej

Dostępne są trzy opcje dodawania usługi Application Insights do aplikacji internetowej:

  • Korzystając z okienka usługi Application Insights w Azure Portal.
  • Korzystając z okienka Konfiguracja w Azure Portal.
  • Przez ręczne dodanie do ustawień aplikacji internetowej.
  1. W aplikacji internetowej w Azure Portal wybierz pozycję Application Insights w okienku po lewej stronie.

  2. Wybierz pozycję Włącz usługę Application Insights.

    Zrzut ekranu przedstawiający włączanie usługi Application Insights.

  3. W obszarze Application Insights wybierz pozycję Włącz.

    Zrzut ekranu przedstawiający włączanie usługi Application Insights.

  4. W obszarze Połącz z zasobem usługi Application Insights utwórz nowy zasób lub wybierz istniejący zasób. W tym przykładzie utworzymy nowy zasób.

    Zrzut ekranu przedstawiający łączenie usługi Application Insights z nowym lub istniejącym zasobem.

  5. Wybierz pozycję Zastosuj>tak , aby zastosować i potwierdzić.

Następne kroki