Profilare le app Web in esecuzione in una macchina virtuale di Azure o un set di scalabilità di macchine virtuali usando Application Insights ProfilerProfile web apps running on an Azure virtual machine or a virtual machine scale set by using Application Insights Profiler

Nota

Questo articolo è stato aggiornato per usare il nuovo modulo Az di Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. È comunque possibile usare il modulo AzureRM, che continuerà a ricevere correzioni di bug almeno fino a dicembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Per altre informazioni sul nuovo modulo Az e sulla compatibilità di AzureRM, vedere Introduzione del nuovo modulo Az di Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Per istruzioni sull'installazione del modulo Az, vedere Installare Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

È anche possibile distribuire Azure Application Insights Profiler in questi servizi:You can also deploy Azure Application Insights Profiler on these services:

Distribuire Profiler in una macchina virtuale o un set di scalabilità di macchine virtualiDeploy Profiler on a virtual machine or a virtual machine scale set

Questo articolo illustra come eseguire Application Insights Profiler nella macchina virtuale di Azure o nel set di scalabilità di macchine virtuali di Azure.This article shows you how to get Application Insights Profiler running on your Azure virtual machine (VM) or Azure virtual machine scale set. Profiler viene installato con l'estensione Diagnostica di Azure per le macchine virtuali.Profiler is installed with the Azure Diagnostics extension for VMs. Configurare l'estensione per l'esecuzione di Profiler e compilare Application Insights SDK nell'applicazione.Configure the extension to run Profiler, and build the Application Insights SDK into your application.

  1. Aggiungere il Application Insights SDK all' applicazione ASP.NET.Add the Application Insights SDK to your ASP.NET application.

    Per visualizzare i profili per le richieste, è necessario inviare i dati di telemetria delle richieste ad Application Insights.To view profiles for your requests, you must send request telemetry to Application Insights.

  2. Installare l'estensione Diagnostica di Azure nella macchina virtuale.Install Azure Diagnostics extension on your VM. Per gli esempi di modello di Resource Manager, vedere:For full Resource Manager template examples, see:

    • Macchina virtualeVirtual machine

    • Set di scalabilità di macchine virtualiVirtual machine scale set

      La parte principale è ApplicationInsightsProfilerSink in WadCfg.The key part is the ApplicationInsightsProfilerSink in the WadCfg. Per consentire a Diagnostica di Azure di abilitare Profiler per l'invio di dati alla chiave di strumentazione, aggiungere un altro sink in questa sezione.To have Azure Diagnostics enable Profiler to send data to your iKey, add another sink to this section.

      "SinksConfig": {
        "Sink": [
          {
            "name": "ApplicationInsightsSink",
            "ApplicationInsights": "85f73556-b1ba-46de-9534-606e08c6120f"
          },
          {
            "name": "MyApplicationInsightsProfilerSink",
            "ApplicationInsightsProfiler": "85f73556-b1ba-46de-9534-606e08c6120f"
          }
        ]
      },
      
  3. Distribuire la definizione di distribuzione dell'ambiente modificata.Deploy the modified environment deployment definition.

    Per applicare le modifiche, in genere è necessaria una distribuzione completa del modello o una pubblicazione basata su servizi cloud tramite i cmdlet di PowerShell o Visual Studio.Applying the modifications usually involves a full template deployment or a cloud service-based publish through PowerShell cmdlets or Visual Studio.

    I comandi di PowerShell seguenti rappresentano un approccio alternativo per le macchine virtuali esistenti che toccano solo l'estensione Diagnostica di Azure.The following PowerShell commands are an alternate approach for existing virtual machines that touch only the Azure Diagnostics extension. Aggiungere il ProfilerSink indicato in precedenza alla configurazione restituita dal comando Get-AzVMDiagnosticsExtension.Add the previously mentioned ProfilerSink to the config that's returned by the Get-AzVMDiagnosticsExtension command. Passare quindi la configurazione aggiornata al comando set-AzVMDiagnosticsExtension.Then pass the updated config to the Set-AzVMDiagnosticsExtension command.

    $ConfigFilePath = [IO.Path]::GetTempFileName()
    # After you export the currently deployed Diagnostics config to a file, edit it to include the ApplicationInsightsProfiler sink.
    (Get-AzVMDiagnosticsExtension -ResourceGroupName "MyRG" -VMName "MyVM").PublicSettings | Out-File -Verbose $ConfigFilePath
    # Set-AzVMDiagnosticsExtension might require the -StorageAccountName argument
    # If your original diagnostics configuration had the storageAccountName property in the protectedSettings section (which is not downloadable), be sure to pass the same original value you had in this cmdlet call.
    Set-AzVMDiagnosticsExtension -ResourceGroupName "MyRG" -VMName "MyVM" -DiagnosticsConfigurationPath $ConfigFilePath
    
  4. Se l'applicazione interessata è in esecuzione tramite IIS, abilitare la funzionalità di Windows IIS Http Tracing.If the intended application is running through IIS, enable the IIS Http Tracing Windows feature.

    a.a. Stabilire l'accesso remoto all'ambiente e quindi usare la finestra Aggiungi funzionalità Windows.Establish remote access to the environment, and then use the Add Windows features window. In alternativa, eseguire il comando seguente in PowerShell (come amministratore):Or run the following command in PowerShell (as administrator):

    Enable-WindowsOptionalFeature -FeatureName IIS-HttpTracing -Online -All
    

    b.b. Se non si riesce a stabilire l'accesso remoto, è possibile usare l'interfaccia della riga di comando di Azure per eseguire il comando seguente:If establishing remote access is a problem, you can use the Azure CLI to run the following command:

    az vm run-command invoke -g MyResourceGroupName -n MyVirtualMachineName --command-id RunPowerShellScript --scripts "Enable-WindowsOptionalFeature -FeatureName IIS-HttpTracing -Online -All"
    
  5. Distribuire l'applicazione.Deploy your application.

Imposta sink Profiler con Azure Resource ExplorerSet Profiler Sink using Azure Resource Explorer

Non è ancora possibile impostare il sink Application Insights Profiler dal portale.We don't yet have a way to set the Application Insights Profiler sink from the portal. Invece di usare PowerShell come descritto in precedenza, è possibile usare Azure Resource Explorer per impostare il sink.Instead of using powershell like described above, you can use Azure Resource Explorer to set the sink. Si noti tuttavia che se si distribuisce di nuovo la macchina virtuale, il sink andrà perso.But note, if you deploy the VM again, the sink will be lost. È necessario aggiornare la configurazione usata quando si distribuisce la macchina virtuale per mantenere questa impostazione.You'll need to update the config you use when deploying the VM to preserve this setting.

  1. Verificare che l'estensione Windows Diagnostica di Azure sia installata visualizzando le estensioni installate per la macchina virtuale.Check that the Windows Azure Diagnostics extension is installed by viewing the extensions installed for your virtual machine.

    Controllare se l'estensione WAD è installata

  2. Trovare l'estensione diagnostica VM per la VM.Find the VM Diagnostics extension for your VM. Passare a https://resources.azure.com.Go to https://resources.azure.com. Espandere il gruppo di risorse Microsoft. Compute virtualMachines, il nome della macchina virtuale e le estensioni.Expand your resource group, Microsoft.Compute virtualMachines, virtual machine name, and extensions.

    Passare alla configurazione di WAD in Azure Resource Explorer

  3. Aggiungere il sink Application Insights Profiler al nodo SinksConfig in WadCfg.Add the Application Insights Profiler sink to the SinksConfig node under WadCfg. Se non si dispone già di una sezione SinksConfig, potrebbe essere necessario aggiungerne una.If you don't already have a SinksConfig section, you may need to add one. Assicurarsi di specificare il Application Insights corretto iKey nelle impostazioni.Be sure to specify the proper Application Insights iKey in your settings. È necessario impostare la modalità esploratori su lettura/scrittura nell'angolo superiore destro e premere il pulsante blu "modifica".You'll need to switch the explorers mode to Read/Write in the upper right corner and Press the blue 'Edit' button.

    Aggiungi Application Insights Profiler sink

  4. Al termine della modifica della configurazione, premere ' Put '.When you're done editing the config, press 'Put'. Se il put ha esito positivo, al centro dello schermo verrà visualizzato un segno di spunta verde.If the put is successful, a green check will appear in the middle of the screen.

    Inviare una richiesta PUT per applicare le modifiche

È possibile eseguire Profiler nei server locali?Can Profiler run on on-premises servers?

Non è previsto il supporto di Application Insights Profiler per i server locali.We have no plan to support Application Insights Profiler for on-premises servers.

Passaggi successiviNext steps