Distribuire l'agente di Application Insights di monitoraggio di Azure in macchine virtuali di Azure e set di scalabilità di macchine virtuali di AzureDeploy the Azure Monitor Application Insights Agent on Azure virtual machines and Azure virtual machine scale sets

L'abilitazione del monitoraggio sulle applicazioni Web basate su .NET in esecuzione su macchine virtuali di Azure e sui set di scalabilità di macchine virtuali di Azure è ora più semplice che mai.Enabling monitoring on your .NET based web applications running on Azure virtual machines and Azure virtual machine scale sets is now easier than ever. Ottenere tutti i vantaggi derivanti dall'utilizzo di Application Insights senza modificare il codice.Get all the benefits of using Application Insights without modifying your code.

Questo articolo illustra come abilitare il monitoraggio Application Insights usando l'agente Application Insights e fornisce indicazioni preliminari per l'automazione del processo per le distribuzioni su larga scala.This article walks you through enabling Application Insights monitoring using the Application Insights Agent and provides preliminary guidance for automating the process for large-scale deployments.

Importante

L'agente applicazione Azure Insights per .NET è attualmente disponibile in anteprima pubblica.Azure Application Insights Agent for .NET is currently in public preview. Questa versione di anteprima viene fornita senza un contratto di servizio e non è consigliata per i carichi di lavoro di produzione.This preview version is provided without a service-level agreement, and we don't recommend it for production workloads. Alcune funzionalità potrebbero non essere supportate e alcune potrebbero avere funzionalità vincolate.Some features might not be supported, and some might have constrained capabilities. Per altre informazioni, vedere Condizioni supplementari per l'utilizzo delle anteprime di Microsoft Azure.For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Abilitare Application InsightsEnable Application Insights

Esistono due modi per abilitare il monitoraggio delle applicazioni per le macchine virtuali di Azure e i set di scalabilità di macchine virtuali di Azure ospitate:There are two ways to enable application monitoring for Azure virtual machines and Azure virtual machine scale sets hosted applications:

  • Senza codice tramite agente Application InsightsCodeless via Application Insights Agent

    • Questo metodo è il più semplice da abilitare e non è necessaria alcuna configurazione avanzata.This method is the easiest to enable, and no advanced configuration is required. Viene spesso definito monitoraggio "Runtime".It is often referred to as "runtime" monitoring.

    • Per le macchine virtuali di Azure e i set di scalabilità di macchine virtuali di Azure, è consigliabile abilitare almeno questo livello di monitoraggio.For Azure virtual machines and Azure virtual machine scale sets we recommend at a minimum enabling this level of monitoring. In seguito, in base allo scenario specifico, è possibile valutare se la strumentazione manuale è necessaria.After that, based on your specific scenario, you can evaluate whether manual instrumentation is needed.

    • L'agente di Application Insights raccoglie automaticamente gli stessi segnali di dipendenza predefiniti come .NET SDK.The Application Insights Agent auto-collects the same dependency signals out-of-the-box as the .NET SDK. Per altre informazioni, vedere raccolta automatica delle dipendenze .See Dependency auto-collection to learn more.

      Nota

      Attualmente sono supportate solo le applicazioni .NET ospitate in IIS.Currently only .Net IIS-hosted applications are supported. Usare un SDK per instrumentare applicazioni ASP.NET Core, Java e node. js ospitate in macchine virtuali di Azure e set di scalabilità di macchine virtuali.Use an SDK to instrument ASP.NET Core, Java, and Node.js applications hosted on an Azure virtual machines and virtual machine scale sets.

  • Basato sul codice tramite SDKCode-based via SDK

Nota

Se vengono rilevati sia il monitoraggio basato su agente che la strumentazione manuale basata su SDK, verranno rispettate solo le impostazioni di strumentazione manuale.If both agent based monitoring and manual SDK based instrumentation is detected only the manual instrumentation settings will be honored. Ciò consente di impedire l'invio di dati duplicati.This is to prevent duplicate data from being sent. Per ulteriori informazioni, vedere la sezione relativa alla risoluzione dei problemi di seguito.To learn more about this check out the troubleshooting section below.

Gestire Application Insights agente per le applicazioni .NET in macchine virtuali di Azure con PowerShellManage Application Insights Agent for .NET applications on Azure virtual machines using PowerShell

Nota

Prima di installare l'agente di Application Insights, è necessaria una stringa di connessione.Before installing the Application Insights Agent, you'll need a connection string. Creare una nuova risorsa Application Insights o copiare la stringa di connessione da una risorsa di Application Insights esistente.Create a new Application Insights Resource or copy the connection string from an existing application insights resource.

Nota

Non hai familiarità con PowerShell?New to powershell? Vedere la Guida introduttiva.Check out the Get Started Guide.

Installare o aggiornare l'agente di Application Insights come estensione per le macchine virtuali di AzureInstall or update the Application Insights Agent as an extension for Azure virtual machines

$publicCfgJsonString = '
{
  "redfieldConfiguration": {
    "instrumentationKeyMap": {
      "filters": [
        {
          "appFilter": ".*",
          "machineFilter": ".*",
          "virtualPathFilter": ".*",
          "instrumentationSettings" : {
            "connectionString": "InstrumentationKey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
          }
        }
      ]
    }
  }
}
';
$privateCfgJsonString = '{}';

Set-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Location "<myVmLocation>" -Name "ApplicationMonitoring" -Publisher "Microsoft.Azure.Diagnostics" -Type "ApplicationMonitoringWindows" -Version "2.8" -SettingString $publicCfgJsonString -ProtectedSettingString $privateCfgJsonString

Nota

È possibile installare o aggiornare l'agente di Application Insights come estensione in più macchine virtuali su larga scala usando un ciclo di PowerShell.You may install or update the Application Insights Agent as an extension across multiple Virtual Machines at-scale using a Powershell loop.

Disinstalla l'estensione dell'agente Application Insights dalla macchina virtuale di AzureUninstall Application Insights Agent extension from Azure virtual machine

Remove-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name "ApplicationMonitoring"

Stato dell'estensione agente Application Insights query per la macchina virtuale di AzureQuery Application Insights Agent extension status for Azure virtual machine

Get-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name ApplicationMonitoring -Status

Ottiene l'elenco delle estensioni installate per la macchina virtuale di AzureGet list of installed extensions for Azure virtual machine

Get-AzResource -ResourceId "/subscriptions/<mySubscriptionId>/resourceGroups/<myVmResourceGroup>/providers/Microsoft.Compute/virtualMachines/<myVmName>/extensions"

# Name              : ApplicationMonitoring
# ResourceGroupName : <myVmResourceGroup>
# ResourceType      : Microsoft.Compute/virtualMachines/extensions
# Location          : southcentralus
# ResourceId        : /subscriptions/<mySubscriptionId>/resourceGroups/<myVmResourceGroup>/providers/Microsoft.Compute/virtualMachines/<myVmName>/extensions/ApplicationMonitoring

È anche possibile visualizzare le estensioni installate nel pannello della macchina virtuale di Azure nel portale.You may also view installed extensions in the Azure virtual machine blade in the Portal.

Nota

Verificare l'installazione facendo clic su Live Metrics Stream all'interno della risorsa Application Insights associata alla stringa di connessione usata per distribuire l'estensione agente Application Insights.Verify installation by clicking on Live Metrics Stream within the Application Insights Resource associated with the connection string you used to deploy the Application Insights Agent Extension. Se si inviano dati da più macchine virtuali, selezionare le macchine virtuali di Azure di destinazione in nome server.If you are sending data from multiple Virtual Machines, select the target Azure virtual machines under Server Name. Il flusso dei dati potrebbe richiedere fino a un minuto.It may take up to a minute for data to begin flowing.

Gestire Application Insights agente per le applicazioni .NET nei set di scalabilità di macchine virtuali di Azure con PowerShellManage Application Insights Agent for .NET applications on Azure virtual machine scale sets using powershell

Installare o aggiornare l'agente di Application Insights come estensione per il set di scalabilità di macchine virtuali di AzureInstall or update the Application Insights Agent as an extension for Azure virtual machine scale set

$publicCfgHashtable =
@{
  "redfieldConfiguration"= @{
    "instrumentationKeyMap"= @{
      "filters"= @(
        @{
          "appFilter"= ".*";
          "machineFilter"= ".*";
          "virtualPathFilter": ".*",
          "instrumentationSettings" : {
            "connectionString": "InstrumentationKey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # Application Insights connection string, create new Application Insights resource if you don't have one. https://ms.portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents
          }
        }
      )
    }
  }
};
$privateCfgHashtable = @{};

$vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myVmssName>"

Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "ApplicationMonitoring" -Publisher "Microsoft.Azure.Diagnostics" -Type "ApplicationMonitoringWindows" -TypeHandlerVersion "2.8" -Setting $publicCfgHashtable -ProtectedSetting $privateCfgHashtable

Update-AzVmss -ResourceGroupName $vmss.ResourceGroupName -Name $vmss.Name -VirtualMachineScaleSet $vmss

# Note: depending on your update policy, you might need to run Update-AzVmssInstance for each instance

Disinstallare l'estensione di monitoraggio dell'applicazione dai set di scalabilità di macchine virtuali di AzureUninstall application monitoring extension from Azure virtual machine scale sets

$vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myVmssName>"

Remove-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "ApplicationMonitoring"

Update-AzVmss -ResourceGroupName $vmss.ResourceGroupName -Name $vmss.Name -VirtualMachineScaleSet $vmss

# Note: depending on your update policy, you might need to run Update-AzVmssInstance for each instance

Eseguire query sullo stato dell'estensione di monitoraggio applicazioni per i set di scalabilità di macchine virtualiQuery application monitoring extension status for Azure virtual machine scale sets

# Not supported by extensions framework

Ottiene l'elenco delle estensioni installate per i set di scalabilità di macchine virtuali di AzureGet list of installed extensions for Azure virtual machine scale sets

Get-AzResource -ResourceId /subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.Compute/virtualMachineScaleSets/<myVmssName>/extensions

# Name              : ApplicationMonitoringWindows
# ResourceGroupName : <myResourceGroup>
# ResourceType      : Microsoft.Compute/virtualMachineScaleSets/extensions
# Location          :
# ResourceId        : /subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.Compute/virtualMachineScaleSets/<myVmssName>/extensions/ApplicationMonitoringWindows

Risoluzione dei problemiTroubleshooting

Suggerimenti per la risoluzione dei problemi relativi all'estensione Application Insights Monitoring Agent per le applicazioni .NET in esecuzione in macchine virtuali di Azure e set di scalabilità di macchine virtuali.Find troubleshooting tips for Application Insights Monitoring Agent Extension for .NET applications running on Azure virtual machines and virtual machine scale sets.

Nota

Le applicazioni .NET Core, Java e node. js sono supportate solo in macchine virtuali di Azure e set di scalabilità di macchine virtuali di Azure tramite strumentazione manuale basata su SDK e pertanto i passaggi seguenti non si applicano a questi scenari..NET Core, Java, and Node.js applications are only supported on Azure virtual machines and Azure virtual machine scale sets via manual SDK based instrumentation and therefore the steps below do not apply to these scenarios.

L'output dell'esecuzione dell'estensione viene registrato nei file presenti nelle directory seguenti:Extension execution output is logged to files found in the following directories:

C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows\<version>\

Passaggi successiviNext steps