Abilitare Profiler per le app Web ASP.NET Core ospitate in Linux

Usando Application Insights Profiler per .NET, è possibile tenere traccia della quantità di tempo impiegato in ogni metodo delle app Web live ASP.NET Core ospitate in Linux nel servizio app Azure. Questo articolo è incentrato sulle app Web ospitate in Linux. È anche possibile sperimentare usando ambienti di sviluppo Linux, Windows e Mac.

In questo articolo si apprenderà come:

  • Configurare e distribuire un'applicazione Web ASP.NET Core ospitata in Linux.
  • Aggiungere Application Insights Profiler all'applicazione Web ASP.NET Core.

Prerequisiti

Configurare il progetto in locale

  1. Aprire una finestra del prompt dei comandi nel computer.

  2. Creare un'applicazione Web ASP.NET Core MVC:

    dotnet new mvc -n LinuxProfilerTest
    
  3. Modificare la directory di lavoro scegliendo la cartella radice per il progetto.

  4. Aggiungere il pacchetto NuGet per raccogliere le tracce del profiler:

    dotnet add package Microsoft.ApplicationInsights.Profiler.AspNetCore
    
  5. Nell'editor di codice preferito abilitare Application Insights e .NET Profiler in Program.cs. Aggiungere impostazioni personalizzate del Profiler, se applicabile.

    Per WebAPI:

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

    Per 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. Salvare le modifiche ed eseguirne il commit nel repository locale:

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

Creare l'app Web Linux per ospitare il progetto

  1. Nel portale di Azure creare un ambiente app Web usando il Servizio app in Linux.

    Screenshot che mostra la creazione dell'app Web Linux.

  2. Andare alla nuova risorsa dell'app Web e selezionare Centro distribuzione>Credenziali FTPS per creare le credenziali di distribuzione. Prendere nota delle credenziali da usare in un secondo momento.

    Screenshot che mostra la creazione delle credenziali di distribuzione.

  3. Seleziona Salva.

  4. Seleziona la scheda Impostazioni.

  5. Nell'elenco a discesa selezionare Git locale per configurare un repository Git locale nell'app Web.

    Screenshot che mostra le opzioni di distribuzione in un elenco a discesa.

  6. Selezionare Salva per creare un repository Git con un URI clone Git.

    Screenshot che mostra la configurazione del repository Git locale.

    Per altre opzioni di distribuzione, vedere la documentazione del Servizio app.

Distribuire il progetto

  1. Nella finestra del prompt dei comandi passare alla cartella radice del progetto. Aggiungere un repository Git remoto in modo che punti al repository nel servizio app:

    git remote add azure https://<username>@<app_name>.scm.azurewebsites.net:443/<app_name>.git
    
    • Usare il nome utente usato per creare le credenziali di distribuzione.
    • Usare il nome app usato per creare l'app Web con il servizio app in Linux.
  2. Distribuire il progetto eseguendo il push delle modifiche in Azure:

    git push azure main
    

    L'output dovrebbe essere simile all'esempio seguente:

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

Aggiungere Application Insights per monitorare le app Web

Sono disponibili tre opzioni per aggiungere Application Insights all'app Web:

  • Usando il riquadro Application Insights nel portale di Azure.
  • Usando il riquadro Configurazione nel portale di Azure.
  • Aggiungendo manualmente alle impostazioni dell'app Web.
  1. Nell'app Web nel portale di Azure selezionare Application Insights nel riquadro sinistro.

  2. Selezionare Attiva Application Insights.

    Screenshot che mostra l'attivazione di Application Insights.

  3. In Application Insights selezionare Abilita.

    Screenshot che mostra l'abilitazione di Application Insights.

  4. In Collegamento a una risorsa di Application Insights creare una nuova risorsa o selezionare una risorsa esistente. Per questo esempio, creiamo una nuova risorsa.

    Screenshot che mostra il collegamento di Application Insights a una risorsa nuova o esistente.

  5. Selezionare Applica> per applicare e confermare.

Passaggi successivi