Dela via


Application Insights för virtuella Azure-datorer och VM-skalningsuppsättningar

Det är nu enklare än någonsin att aktivera övervakning för dina ASP.NET- och ASP.NET Core IIS-värdbaserade program som körs på Azure Virtual Machines eller Azure Virtual Machine Scale Sets . Få alla fördelar med att använda Application Insights utan att ändra koden.

Den här artikeln beskriver hur du aktiverar Application Insights-övervakning med hjälp av Application Insights-agenten. Det ger också preliminär vägledning för att automatisera processen för storskaliga distributioner.

Aktivera Application Insights

Automatisk instrumentering är lätt att aktivera. Avancerad konfiguration krävs inte.

En fullständig lista över scenarier med automatisk instrumentering som stöds finns i Miljöer, språk och resursprovidrar som stöds.

Kommentar

Automatisk instrumentering är tillgängligt för ASP.NET, ASP.NET Core IIS-värdbaserade program och Java. Använd en SDK för att instrumentera Node.js- och Python-program som finns på virtuella Azure-datorer och vm-skalningsuppsättningar.

Application Insights-agenten samlar automatiskt in samma beroendesignaler direkt som SDK:t. Mer information finns i Autocollection för beroende.

Innan du installerar Application Insights Agent-tillägget behöver du en anslutningssträng. Skapa en ny Application Insights-resurs eller kopiera anslutningssträng från en befintlig Application Insights-resurs.

Aktivera övervakning för virtuella datorer

Du kan använda Azure Portal eller PowerShell för att aktivera övervakning för virtuella datorer.

Azure Portal

  1. I Azure Portal går du till din Application Insights-resurs. Kopiera anslutningssträng till Urklipp.

    Skärmbild som visar anslutningssträng.

  2. Gå till den virtuella datorn. Under avsnittet Inställningar på menyn till vänster väljer du Tillägg + program>Lägg till.

    Skärmbild som visar fönstret Tillägg + program med knappen Lägg till.

  3. Välj Application Insights Agent>Nästa.

    Skärmbild som visar fönstret Installera ett tillägg med knappen Nästa.

  4. Klistra in anslutningssträng du kopierade i steg 1 och välj Granska + skapa.

    Skärmbild som visar fliken Skapa med knappen Granska + skapa.

PowerShell

Kommentar

Är du nybörjare på PowerShell? Kolla in Kom igång guide.

Installera eller uppdatera Application Insights-agenten som ett tillägg för virtuella Azure-datorer:

# define variables to match your environment before running
$ResourceGroup = "<myVmResourceGroup>"
$VMName = "<myVmName>"
$Location = "<myVmLocation>"
$ConnectionString = "<myAppInsightsResourceConnectionString>"

$publicCfgJsonString = @"
{
    "redfieldConfiguration": {
        "instrumentationKeyMap": {
        "filters": [
            {
            "appFilter": ".*",
            "machineFilter": ".*",
            "virtualPathFilter": ".*",
            "instrumentationSettings" : {
                "connectionString": "$ConnectionString"
            }
            }
        ]
        }
    }
    }
"@

$privateCfgJsonString = '{}'
	
Set-AzVMExtension -ResourceGroupName $ResourceGroup -VMName $VMName -Location $Location -Name "ApplicationMonitoringWindows" -Publisher "Microsoft.Azure.Diagnostics" -Type "ApplicationMonitoringWindows" -Version "2.8" -SettingString $publicCfgJsonString -ProtectedSettingString $privateCfgJsonString

Kommentar

Om du vill ha mer komplicerade distributioner i stor skala kan du använda en PowerShell-loop för att installera eller uppdatera Application Insights Agent-tillägget på flera virtuella datorer.

Fråga Application Insights Agent-tilläggets status för virtuella Azure-datorer:

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

Hämta en lista över installerade tillägg för virtuella Azure-datorer:

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

Avinstallera Application Insights Agent-tillägget från virtuella Azure-datorer:

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

Kommentar

Verifiera installationen genom att välja Live Metrics Stream i Application Insights-resursen som är associerad med anslutningssträng du använde för att distribuera Application Insights Agent-tillägget. Om du skickar data från flera virtuella datorer väljer du de virtuella Azure-måldatorerna under Servernamn. Det kan ta upp till en minut innan data börjar flöda.

Aktivera övervakning för VM-skalningsuppsättningar

Du kan använda Azure Portal eller PowerShell för att aktivera övervakning för vm-skalningsuppsättningar.

Azure Portal

Följ de föregående stegen för virtuella datorer, men gå till vm-skalningsuppsättningar i stället för den virtuella datorn.

PowerShell

Installera eller uppdatera Application Insights-agenten som ett tillägg för VM-skalningsuppsättningar:

# Set resource group, vmss name, and connection string to reflect your environment
$ResourceGroup = "<myVmResourceGroup>"
$VMSSName = "<myVmName>"
$ConnectionString = "<myAppInsightsResourceConnectionString>"
$publicCfgHashtable =
@{
  "redfieldConfiguration"= @{
    "instrumentationKeyMap"= @{
      "filters"= @(
        @{
          "appFilter"= ".*";
          "machineFilter"= ".*";
          "virtualPathFilter"= ".*";
          "instrumentationSettings" = @{
            "connectionString"= "$ConnectionString"
          }
        }
      )
    }
  }
};
$privateCfgHashtable = @{};
$vmss = Get-AzVmss -ResourceGroupName $ResourceGroup -VMScaleSetName $VMSSName
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "ApplicationMonitoringWindows" -Publisher "Microsoft.Azure.Diagnostics" -Type "ApplicationMonitoringWindows" -TypeHandlerVersion "2.8" -Setting $publicCfgHashtable -ProtectedSetting $privateCfgHashtable
Update-AzVmss -ResourceGroupName $vmss.ResourceGroupName -Name $vmss
# Note: Depending on your update policy, you might need to run Update-AzVmssInstance for each instance

Hämta en lista över installerade tillägg för VM-skalningsuppsättningar:

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

Avinstallera tillägget för programövervakning från VM-skalningsuppsättningar:

# set resource group and vmss name to reflect your environment
$vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myVmssName>"
Remove-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "ApplicationMonitoringWindows"
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

Felsökning

Hitta felsökningstips för Application Insights Monitoring Agent-tillägget för .NET-program som körs på virtuella Azure-datorer och vm-skalningsuppsättningar.

Om du har problem med att distribuera tillägget kan du granska körningsutdata som loggas till filer som finns i följande kataloger:

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

Om ditt tillägg har distribuerats men du inte kan se telemetri kan det vara något av följande problem som beskrivs i agentfelsökning:

  • Motstridiga DLL:er i en apps bin-katalog
  • Konflikt med delad IIS-konfiguration

Testa anslutningen mellan programvärden och inmatningstjänsten

Application Insights SDK:er och agenter skickar telemetri för att matas in som REST-anrop till våra inmatningsslutpunkter. Du kan testa anslutningen från webbservern eller programvärddatorn till slutpunkterna för inmatningstjänsten med hjälp av råa REST-klienter från PowerShell- eller curl-kommandon. Se Felsöka programtelemetri som saknas i Azure Monitor Application Insights.

Viktig information

2.8.44

  • Application Insights .NET/.NET Core SDK har uppdaterats till 2.20.1 – rött fält.
  • Aktiverad SQL-frågesamling.
  • Stöd för Microsoft Entra-autentisering har aktiverats.

2.8.42

Application Insights .NET/.NET Core SDK har uppdaterats till 2.18.1 – rött fält.

2.8.41

Funktionen ASP.NET Core autoinstrumentation har lagts till.

Nästa steg