Application Insights voor Virtuele Azure-machines en virtuele-machineschaalsets

Het inschakelen van bewaking voor uw ASP.NET en ASP.NET Core IIS-gehoste toepassingen die worden uitgevoerd op Azure Virtual Machines of Azure Virtual Machine Scale Sets is nu eenvoudiger dan ooit. Profiteer van alle voordelen van het gebruik van Application Insights zonder uw code te wijzigen.

Dit artikel helpt u bij het inschakelen van Application Insights-bewaking met behulp van de Application Insights-agent. Het biedt ook voorlopige richtlijnen voor het automatiseren van het proces voor grootschalige implementaties.

Application Insights inschakelen

Autoinstrumentatie is eenvoudig in te schakelen. Geavanceerde configuratie is niet vereist.

Zie Ondersteunde omgevingen, talen en resourceproviders voor een volledige lijst met ondersteunde auto-instrumentatiescenario's.

Notitie

Autoinstrumentation is beschikbaar voor ASP.NET, ASP.NET Core IIS-toepassingen en Java. Gebruik een SDK om Node.js en Python-toepassingen te instrumenteren die worden gehost op virtuele Azure-machines en virtuele-machineschaalsets.

Met de Application Insights-agent worden dezelfde afhankelijkheidssignalen automatisch opgehaald als de SDK. Zie Autocollection voor afhankelijkheden voor meer informatie.

Voordat u de Application Insights Agent-extensie installeert, hebt u een verbindingsreeks nodig. Maak een nieuwe Application Insights-resource of kopieer de verbindingsreeks van een bestaande Application Insights-resource.

Bewaking voor virtuele machines inschakelen

U kunt Azure Portal of PowerShell gebruiken om bewaking voor VM's in te schakelen.

Azure Portal

  1. Ga in Azure Portal naar uw Application Insights-resource. Kopieer uw verbindingsreeks naar het klembord.

    Schermopname van de verbindingsreeks.

  2. Ga naar uw virtuele machine. Selecteer Onder de sectie Instellingen in het menu aan de linkerkant extensies en toepassingen>toevoegen.

    Schermopname van het deelvenster Extensies en toepassingen met de knop Toevoegen.

  3. Selecteer vervolgens Application Insights-agent>.

    Schermopname van het deelvenster Een extensie installeren met de knop Volgende.

  4. Plak de verbindingsreeks die u in stap 1 hebt gekopieerd en selecteer Beoordelen en maken.

    Schermopname van het tabblad Maken met de knop Beoordelen en maken.

Powershell

Notitie

Bent u nieuw voor PowerShell? Bekijk de handleiding Aan de slag.

De Application Insights-agent installeren of bijwerken als een extensie voor virtuele Azure-machines:

# 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

Notitie

Voor complexere implementaties op schaal kunt u een PowerShell-lus gebruiken om de Application Insights Agent-extensie op meerdere VM's te installeren of bij te werken.

Voer een query uit voor de extensiestatus van de Application Insights-agent voor virtuele Azure-machines:

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

Een lijst met geïnstalleerde extensies voor virtuele Azure-machines ophalen:

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

Verwijder de Application Insights Agent-extensie van virtuele Azure-machines:

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

Notitie

Controleer de installatie door Live Metrics Stream te selecteren in de Application Insights-resource die is gekoppeld aan de verbindingsreeks die u hebt gebruikt om de Application Insights Agent-extensie te implementeren. Als u gegevens van meerdere virtuele machines verzendt, selecteert u de doel-azure-VM's onder Servernaam. Het kan tot een minuut duren voordat gegevens worden gestroomd.

Bewaking voor virtuele-machineschaalsets inschakelen

U kunt Azure Portal of PowerShell gebruiken om bewaking voor virtuele-machineschaalsets in te schakelen.

Azure Portal

Volg de voorgaande stappen voor VM's, maar ga naar uw virtuele-machineschaalsets in plaats van uw VM.

Powershell

Application Insights-agent installeren of bijwerken als extensie voor virtuele-machineschaalsets:

# 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

Een lijst met geïnstalleerde extensies voor virtuele-machineschaalsets ophalen:

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

Verwijder de extensie voor toepassingsbewaking uit virtuele-machineschaalsets:

# 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

Probleemoplossing

Zoek tips voor probleemoplossing voor de Application Insights Monitoring Agent-extensie voor .NET-toepassingen die worden uitgevoerd op virtuele Azure-machines en virtuele-machineschaalsets.

Als u problemen ondervindt bij het implementeren van de extensie, controleert u de uitvoer van de uitvoering die is vastgelegd in bestanden in de volgende mappen:

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

Als uw extensie is geïmplementeerd, maar u geen telemetrie kunt zien, kan dit een van de volgende problemen zijn die worden behandeld in het oplossen van problemen met agents:

  • Conflicterende DLL's in de bin-map van een app
  • Conflict met gedeelde IIS-configuratie

Connectiviteit testen tussen uw toepassingshost en de opnameservice

Application Insights SDK's en agents verzenden telemetrie om opgenomen te worden als REST-aanroepen naar onze opname-eindpunten. U kunt de connectiviteit vanaf uw webserver of toepassingshostcomputer testen op de service-eindpunten voor opname met behulp van onbewerkte REST-clients uit PowerShell- of curl-opdrachten. Zie Problemen met ontbrekende toepassingstelemetrie oplossen in Azure Monitor Application Insights.

Opmerkingen bij de release

2.8.44

  • Application Insights .NET/.NET Core SDK bijgewerkt naar 2.20.1 - rood veld.
  • Sql-queryverzameling is ingeschakeld.
  • Ondersteuning ingeschakeld voor Microsoft Entra-verificatie.

2.8.42

Application Insights .NET/.NET Core SDK bijgewerkt naar 2.18.1 - rood veld.

2.8.41

De functie ASP.NET Kern autoinstrumentatie toegevoegd.

Volgende stappen