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

Usando Profiler, è possibile tenere traccia della quantità di tempo impiegato in ogni metodo delle app Web ASP.NET Core attive ospitate in Linux in Servizio app di 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 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. Nella portale di Azure creare un ambiente app Web usando Servizio app in Linux.

    Screenshot che mostra la creazione dell'app Web Linux.

  2. Passare alla nuova risorsa dell'app Web e selezionareCredenziali FTPS del Centro> distribuzione 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. Selezionare Salva.

  4. Selezionare la scheda Settings (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 di 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 l'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 Collega a una risorsa di Application Insights creare una nuova risorsa o selezionare una risorsa esistente. Per questo esempio viene creata 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