Включение Profiler для ASP.NET Core веб-приложений, размещенных в Linux

С помощью Profiler можно отслеживать, сколько времени затрачивается на каждый метод ASP.NET Core веб-приложений, размещенных в Linux на Служба приложений Azure. В этой статье рассматриваются веб-приложения, размещенные в Linux. Вы также можете экспериментировать с помощью сред разработки Linux, Windows и Mac.

Работая с этой статьей, вы выполните следующие задачи:

  • настройка и развертывание веб-приложения ASP.NET Core, размещенного в Linux;
  • добавление Application Insights Profiler в веб-приложение ASP.NET Core.

Предварительные требования

Локальная настройка проекта

  1. Откройте окно командной строки на компьютере.

  2. Создайте веб-приложение MVC для ASP.NET Core.

    dotnet new mvc -n LinuxProfilerTest
    
  3. Измените рабочую папку на корневую папку для проекта.

  4. Добавьте пакет NuGet для сбора трассировок профилировщика.

    dotnet add package Microsoft.ApplicationInsights.Profiler.AspNetCore
    
  5. В предпочитаемом редакторе кода включите Application Insights и Profiler в Program.cs. Добавьте настраиваемые параметры профилировщика, если это применимо.

    Для WebAPI:

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

    Для 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. Сохраните и зафиксируйте внесенные изменения в локальном репозитории.

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

Создание веб-приложения в Linux для размещения проекта

  1. В портал Azure создайте среду веб-приложения с помощью Служба приложений в Linux.

    Снимок экрана: создание веб-приложения Linux.

  2. Перейдите к новому ресурсу веб-приложения и выберите Центр развертывания>Учетные данные FTPS, чтобы создать учетные данные развертывания. Запишите свои учетные данные для последующего использования.

    Снимок экрана: создание учетных данных развертывания.

  3. Щелкните Сохранить.

  4. Перейдите на вкладку Параметры.

  5. В раскрывающемся списке выберите Локальный Git , чтобы настроить локальный репозиторий Git в веб-приложении.

    Снимок экрана: просмотр параметров развертывания в раскрывающемся списке.

  6. Выберите Сохранить , чтобы создать репозиторий Git с URI клона Git.

    Снимок экрана: настройка локального репозитория Git.

    Дополнительные варианты развертывания см. в документации по Служба приложений.

Развертывание проекта

  1. В окне командной строки перейдите к корневой папке проекта. Добавьте удаленный репозиторий Git, чтобы он указывал на репозиторий в службе приложений.

    git remote add azure https://<username>@<app_name>.scm.azurewebsites.net:443/<app_name>.git
    
    • Укажите вместо username имя пользователя, указанное на этапе создания учетных данных для развертывания.
    • Укажите вместо app_name имя приложения, указанное на этапе создания веб-приложения с помощью службы приложений в Linux.
  2. Разверните проект, применив изменения в Azure с помощью команды push:

    git push azure main
    

    Выходные данные должны соответствовать следующему примеру.

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

Добавление Application Insights для мониторинга веб-приложения

Добавить Application Insights в веб-приложение можно тремя способами:

  • С помощью панели Application Insights в портал Azure.
  • С помощью панели Конфигурация в портал Azure.
  • Путем добавления вручную в параметры веб-приложения.
  1. В веб-приложении на портал Azure выберите Application Insights в области слева.

  2. Выберите Включить Application Insights.

    Снимок экрана: включение Application Insights.

  3. В разделе Application Insights щелкните Включить.

    Снимок экрана: включение Application Insights.

  4. В разделе Связь с ресурсом Application Insights создайте новый ресурс или выберите существующий. В этом примере мы создадим новый ресурс.

    Снимок экрана: связывание Application Insights с новым или существующим ресурсом.

  5. Выберите Применить>да , чтобы применить и подтвердить.

Дальнейшие действия