Application Insights pour les machines virtuelles et groupes de machines virtuelles identiques Azure
Désormais, l’activation de la supervision de vos applications ASP.NET et ASP.NET Core hébergées par IIS, qui s’exécutent sur des machines virtuelles Azure ou des groupes de machines virtuelles identiques Azure, est plus facile que jamais. Bénéficiez de tous les avantages de l’utilisation de Application Insights sans modifier votre code.
Cet article vous explique comment activer la supervision d’Application Insights à l’aide de l’agent Application Insights. Il fournit également des conseils préliminaires pour automatiser le processus pour les déploiements à grande échelle.
Activer Application Insights
L’instrumentation automatique est facile à activer. Aucune configuration avancée n’est requise.
Pour obtenir la liste complète des scénarios d’instrumentation automatique pris en charge, consultez Environnements, langages et fournisseurs de ressources pris en charge.
Notes
L’instrumentation automatique est disponible pour Java et les applications ASP.NET et ASP.NET Core hébergées par IIS. Utilisez un Kit de développement logiciel (SDK) pour instrumenter les applications Node.js et Python hébergées sur des machines virtuelles Azure et des groupes de machines virtuelles identiques Azure.
Le module Application Insights Agent collecte automatiquement les mêmes signaux de dépendance prêts à l’emploi que le kit SDK. Pour en savoir plus, consultez la section Collecte automatique des dépendances.
Avant d’installer l’extension Application Insights Agent, vous aurez besoin d’une chaîne de connexion. Créez une ressource Application Insights ou copiez la chaîne de connexion à partir d’une ressource Application Insights existante.
Activer la supervision pour des machines virtuelles
Vous pouvez utiliser le portail Azure ou PowerShell afin d’activer la supervision pour les machines virtuelles.
Portail Azure
Dans le portail Azure, accédez à la ressource Application Insights. Copiez votre chaîne de connexion dans le Presse-papiers.
Accédez à votre machine virtuelle. Sous la section Paramètres dans le menu de gauche, sélectionnez Extensions + applications>Ajouter.
Sélectionnez Application Insights Agent>Suivant.
Collez la chaîne de connexion que vous avez copiée à l’étape 1, puis sélectionnez Vérifier + créer.
PowerShell
Notes
Vous débutez avec PowerShell ? Consultez le Guide de prise en main.
Installer ou mettre à jour le module Application Insights Agent en tant qu’extension pour des machines virtuelles Azure :
# 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
Notes
Pour les déploiements à grande échelle plus complexes, vous pouvez utiliser une boucle PowerShell pour installer ou mettre à jour l’extension Application Insights Agent sur plusieurs machines virtuelles.
Interroger l’état de l’extension Application Insights Agent pour des machines virtuelles Azure :
Get-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name ApplicationMonitoringWindows -Status
Obtenir une liste des extensions installées pour des machines virtuelles Azure :
Get-AzResource -ResourceId "/subscriptions/<mySubscriptionId>/resourceGroups/<myVmResourceGroup>/providers/Microsoft.Compute/virtualMachines/<myVmName>/extensions"
Désinstaller l’extension Application Insights Agent des machines virtuelles Azure :
Remove-AzVMExtension -ResourceGroupName "<myVmResourceGroup>" -VMName "<myVmName>" -Name "ApplicationMonitoring"
Notes
Vérifiez l’installation en sélectionnant Flux de métriques temps réel dans Application Insights Resource associée à la chaîne de connexion que vous avez utilisée pour déployer l’extension Application Insights Agent. Si vous envoyez des données provenant de plusieurs machines virtuelles, sélectionnez les machines virtuelles Azure cibles sous Nom du serveur. Il peut s’écouler jusqu’à une minute avant le début du transfert des données.
Activer la supervision pour des groupes de machines virtuelles identiques
Vous pouvez utiliser le portail Azure ou PowerShell afin d’activer la supervision pour les groupes de machines virtuelles identiques.
Portail Azure
Suivez les étapes précédentes relatives aux machines virtuelles, mais accédez à vos groupes de machines virtuelles identiques et non à votre machine virtuelle.
PowerShell
Installez ou mettez à jour Application Insights Agent en tant qu’extension pour des groupes de machines virtuelles identiques :
# 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
Obtenir une liste des extensions installées pour des groupes de machines virtuelles identiques :
Get-AzResource -ResourceId "/subscriptions/<mySubscriptionId>/resourceGroups/<myResourceGroup>/providers/Microsoft.Compute/virtualMachineScaleSets/<myVmssName>/extensions"
Désinstaller l’extension de surveillance des applications sur des groupes de machines virtuelles identiques :
# 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
Dépannage
Vous trouverez des conseils de résolution des problèmes liés à l’extension Application Insights Monitoring Agent pour les applications .NET qui s’exécutent sur des machines virtuelles Azure et des groupes de machines virtuelles identiques Azure.
Si vous rencontrez des difficultés pour déployer l’extension, consultez la sortie d’exécution journalisée dans les fichiers situés dans les répertoires suivants :
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows\<version>\
Si votre extension a été déployée correctement, mais que vous ne parvenez pas à voir la télémétrie, cela peut être dû à l’un des problèmes suivants, abordés dans Résolution des problèmes d’agent :
- DLL en conflit dans le répertoire bin de l’application
- Conflit avec la configuration partagée IIS
Tester la connectivité entre votre hôte d’application et le service d’ingestion
Les SDK et les agents Application Insights envoient de la télémétrie à ingérer en tant qu’appels REST à nos points de terminaison d’ingestion. Vous pouvez tester la connectivité de votre serveur web ou de votre machine hôte d’application vers les points de terminaison de service d’ingestion en utilisant des clients du Representational State Transfer (REST) bruts à partir de commandes PowerShell ou curl. Consultez Résoudre les problèmes de télémétrie d’application manquante dans Azure Monitor Application Insights.
Notes de publication
2.8.44
- Mise à jour d’Application Insights .NET/Kit SDK .NET Core vers 2.20.1 - redfield.
- Collection de requêtes SQL activée.
- Activation de la prise en charge de l’authentification de Microsoft Entra.
2.8.42
Mise à jour d’Application Insights .NET/Kit SDK .NET Core vers 2.18.1 – redfield.
2.8.41
Ajouter la fonction d’instrumentation automatique ASP.NET Core.