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

  1. Dans le portail Azure, accédez à la ressource Application Insights. Copiez votre chaîne de connexion dans le Presse-papiers.

    Screenshot that shows the connection string.

  2. Accédez à votre machine virtuelle. Sous la section Paramètres dans le menu de gauche, sélectionnez Extensions + applications>Ajouter.

    Screenshot that shows the Extensions + applications pane with the Add button.

  3. Sélectionnez Application Insights Agent>Suivant.

    Screenshot that shows the Install an Extension pane with the Next button.

  4. Collez la chaîne de connexion que vous avez copiée à l’étape 1, puis sélectionnez Vérifier + créer.

    Screenshot that shows the Create tab with the Review + create button.

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.

Étapes suivantes