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
Ga in Azure Portal naar uw Application Insights-resource. Kopieer uw verbindingsreeks naar het klembord.
Ga naar uw virtuele machine. Selecteer Onder de sectie Instellingen in het menu aan de linkerkant extensies en toepassingen>toevoegen.
Selecteer vervolgens Application Insights-agent>.
Plak de verbindingsreeks die u in stap 1 hebt gekopieerd en selecteer 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
- Meer informatie over het implementeren van een toepassing in een virtuele-machineschaalset van Azure.
- Overzicht van beschikbaarheid