Installer et configurer l’extension Diagnostics Azure pour Windows (WAD)

L’extension Diagnostics Azure est un agent dans Azure Monitor qui collecte des données de supervision dans le système d’exploitation invité, les charges de travail de machines virtuelles Azure et d’autres ressources de calcul. Cet article fournit des informations sur l’installation et la configuration de l’extension Diagnostics Azure pour Windows, et explique comment les données sont stockées dans un compte de stockage Azure.

L’extension Diagnostics est implémentée en tant qu’extension de machine virtuelle dans Azure. Elle prend en charge les mêmes options d’installation en utilisant des modèles Azure Resource Manager, PowerShell et Azure CLI. Pour plus d’informations sur l’installation et la gestion des extensions de machine virtuelle, consultez Extensions et fonctionnalités de machine virtuelle pour Windows.

Vue d’ensemble

Quand vous configurez l’extension Diagnostics Azure pour Windows, vous devez spécifier un compte de stockage où toutes les données spécifiées seront envoyées. Si vous le souhaitez, vous pouvez ajouter un ou plusieurs récepteurs de données pour envoyer les données vers différents emplacements :

  • Récepteur Azure Monitor : envoie les données de performances de l’invité vers les métriques Azure Monitor.
  • Récepteur Azure Event Hub : envoie les données de performances et de journal de l’invité à des hubs d’événements pour les transmettre en dehors d’Azure. Ce récepteur ne peut pas être configuré dans le portail Azure.

Installer avec Portail Azure

Vous pouvez installer et configurer l’extension Diagnostics sur une machine virtuelle individuelle dans le portail Azure. Vous utiliserez une interface au lieu de travailler directement avec la configuration. Lorsque vous activez l’extension de diagnostic, elle utilise automatiquement une configuration par défaut avec les compteurs de performance et les événements les plus courants. Vous pouvez modifier cette configuration par défaut en fonction de vos besoins spécifiques.

Notes

Les étapes suivantes décrivent les paramètres les plus courants pour l’extension Diagnostics. Pour plus d’informations sur toutes les options de configuration, consultez Schéma de l’extension Diagnostics Windows.

  1. Ouvrez le menu d’une machine virtuelle dans le Portail Azure.

  2. Sélectionnez Paramètres de diagnostic dans la section Supervision du menu de la machine virtuelle.

  3. Sélectionnez Activer la supervision d’invités si l’extension Diagnostics n’a pas déjà été activée.

    Screenshot that shows enabling monitoring.

  4. Un compte de stockage Azure sera créé pour la machine virtuelle. Le nom sera basé sur le nom du groupe de ressources de la machine virtuelle. Un ensemble par défaut de compteurs et de journaux de performances de l’invité sera sélectionné.

    Screenshot that shows Diagnostic settings.

  5. Sous l’onglet Compteurs de performances, sélectionnez les métriques d’invité que vous voulez collecter sur cette machine virtuelle. Utilisez le paramètre Personnaliser pour une sélection plus avancée.

    Screenshot that shows Performance counters.

  6. Sous l’onglet Journaux, sélectionnez les journaux à collecter sur la machine virtuelle. Les journaux peuvent être envoyés au stockage ou à des Event Hubs, mais pas à Azure Monitor. Utilisez l’agent Log Analytics pour collecter des journaux d’invité et les envoyer à Azure Monitor.

    Screenshot that shows the Logs tab with different logs selected for a virtual machine.

  7. Sous l’onglet Vidages sur incident, spécifiez les processus pour collecter des images mémoire après un plantage. Les données seront écrites dans le compte de stockage pour le paramètre de diagnostic. Vous pouvez spécifier un conteneur d’objets blob.

    Screenshot that shows the Crash dumps tab.

  8. Sous l’onglet Récepteurs, spécifiez si vous voulez envoyer les données vers des emplacements autres que le stockage Azure. Si vous sélectionnez Azure Monitor, les données de performances de l’invité seront envoyées aux métriques Azure Monitor. Vous ne pouvez pas configurer le récepteur Event Hubs en utilisant le portail Azure.

    Screenshot that shows the Sinks tab with the Send diagnostic data to Azure Monitor option enabled.

    Si vous n’avez pas activé une identité affectée par le système configurée pour votre machine virtuelle, l’avertissement suivant peut s’afficher quand vous enregistrez une configuration avec le récepteur Azure Monitor. Sélectionnez la bannière pour activer l’identité affectée par le système.

    Screenshot that shows the managed identity warning.

  9. Sous l’onglet Agent, vous pouvez changer le compte de stockage, définir le quota de disque et spécifier s’il faut collecter les journaux de l’infrastructure de diagnostic.

    Screenshot that shows the Agent tab with the option to set the storage account.

  10. Sélectionnez Enregistrer pour enregistrer la configuration.

Notes

La configuration de l’extension Diagnostics peut être au format JSON ou XML, mais les configurations effectuées dans le portail Azure sont toujours stockées au format JSON. Si vous utilisez XML avec une autre méthode de configuration, puis modifiez votre configuration avec le Portail Azure, les paramètres seront modifiés en format JSON. En outre, il n’existe pas d’option permettant de configurer la période de conservation pour ces journaux.

Modèle Resource Manager

Pour plus d’informations sur le déploiement de l’extension Diagnostics avec des modèles Azure Resource Manager, consultez Utiliser la supervision et les diagnostics avec une machine virtuelle Windows et des modèles Azure Resource Manager.

Déploiement de l’interface de ligne de commande Azure

Vous pouvez utiliser Azure CLI pour déployer l’extension Diagnostics Azure sur une machine virtuelle existante en utilisant la commande az vm extension set, comme indiqué dans l’exemple suivant :

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name IaaSDiagnostics \
  --publisher Microsoft.Azure.Diagnostics \
  --protected-settings protected-settings.json \
  --settings public-settings.json 

Les paramètres protégés sont définis dans l’élément PrivateConfig du schéma de configuration. L’exemple minimal suivant d’un fichier de paramètres protégés définit le compte de stockage. Pour plus d’informations sur les paramètres privés, consultez Exemple de configuration.

{
    "storageAccountName": "mystorageaccount",
    "storageAccountKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "storageAccountEndPoint": "https://core.windows.net"
}

Les paramètres publics sont définis dans l’élément PublicConfig du schéma de configuration. L’exemple minimal suivant d’un fichier de paramètres publics active la collecte de journaux d’infrastructure de diagnostic, un seul compteur de performances et un seul journal des événements. Pour plus d’informations sur les paramètres publics, consultez Exemple de configuration.

{
  "StorageAccount": "mystorageaccount",
  "WadCfg": {
    "DiagnosticMonitorConfiguration": {
      "overallQuotaInMB": 5120,
      "PerformanceCounters": {
        "scheduledTransferPeriod": "PT1M",
        "PerformanceCounterConfiguration": [
          {
            "counterSpecifier": "\\Processor Information(_Total)\\% Processor Time",
            "unit": "Percent",
            "sampleRate": "PT60S"
          }
        ]
      },
      "WindowsEventLog": {
        "scheduledTransferPeriod": "PT1M",
        "DataSource": [
          {
            "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
          }
        ]
      }
    }
  }
}

Déploiement PowerShell

Vous pouvez utiliser PowerShell pour déployer l’extension Diagnostics Azure sur une machine virtuelle existante en utilisant la commande Set-AzVMDiagnosticsExtension, comme indiqué dans l’exemple suivant :

Set-AzVMDiagnosticsExtension -ResourceGroupName "myvmresourcegroup" `
  -VMName "myvm" `
  -DiagnosticsConfigurationPath "DiagnosticsConfiguration.json"

Les paramètres privés sont définis dans l’élément PrivateConfig. Les paramètres publics sont définis dans l’élément PublicConfig du schéma de configuration. Vous pouvez également choisir de spécifier les détails du compte de stockage en tant que paramètres de la cmdlet Set-AzVMDiagnosticsExtension au lieu de les inclure dans les paramètres privés.

L’exemple minimal suivant d’un fichier de configuration active la collecte de journaux d’infrastructure de diagnostic, un seul compteur de performances et un seul journal des événements. Pour plus d’informations sur les paramètres privés et publics, consultez Exemple de configuration.

{
    "PublicConfig": {
        "WadCfg": {
            "DiagnosticMonitorConfiguration": {
                "overallQuotaInMB": 10000,
                "DiagnosticInfrastructureLogs": {
                    "scheduledTransferLogLevelFilter": "Error"
                },
                "PerformanceCounters": {
                    "scheduledTransferPeriod": "PT1M",
                    "PerformanceCounterConfiguration": [
                        {
                            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                            "sampleRate": "PT3M",
                            "unit": "percent"
                        }
                    ]
                },
                "WindowsEventLog": {
                    "scheduledTransferPeriod": "PT1M",
                        "DataSource": [
                        {
                            "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
                        }
                    ]
                }
            }
        },
        "StorageAccount": "mystorageaccount",
        "StorageType": "TableAndBlob"
    },
    "PrivateConfig": {
        "storageAccountName": "mystorageaccount",
        "storageAccountKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "storageAccountEndPoint": "https://core.windows.net"
    }
}

Voir aussi Utiliser PowerShell pour activer Diagnostics Azure sur une machine virtuelle exécutant Windows.

Stockage des données

Le tableau suivant répertorie les différents types de données collectées à partir de l’extension de diagnostic et indique si elles sont stockées sous la forme d’une table ou d’un BLOB. Les données stockées dans des tableaux peuvent également être stockées dans des blobs en fonction du paramètre StorageType de votre configuration publique.

Données Type de stockage Description
WADDiagnosticInfrastructureLogsTable Table de charge de travail Moniteur de diagnostic et modifications de la configuration.
WADDirectoriesTable Table de charge de travail Répertoires que le moniteur de diagnostic surveille. Ce groupe inclut les journaux IIS, les journaux de requêtes ayant échoué et les répertoires personnalisés. L’emplacement du fichier journal blob est spécifié dans le champ de conteneur et le nom de l’objet blob se trouve dans le champ RelativePath. Le champ AbsolutePath indique l’emplacement et le nom du fichier tel qu’il existait sur la machine virtuelle Azure.
WadLogsTable Table de charge de travail Journaux écrits dans du code en utilisant l’écouteur de suivi.
WADPerformanceCountersTable Table de charge de travail Compteurs de performance.
WADWindowsEventLogsTable Table de charge de travail Journaux des événements Windows.
wad-iis-failedreqlogfiles Objet blob Contient des informations issues des journaux d’activité de requêtes IIS ayant échoué.
wad-iis-logfiles Objet blob Contient des informations sur les journaux IIS.
« personnalisé » Objet blob Conteneur personnalisé basé sur la configuration des répertoires analysés par le moniteur de diagnostic. Le nom de ce conteneur d’objets blobs est spécifié dans WADDirectoriesTable.

Outils permettant d’afficher les données de diagnostic

Plusieurs outils sont disponibles pour visualiser les données après leur transfert dans le stockage. Par exemple :

  • Explorateur de serveurs dans Visual Studio : si vous avez installé Microsoft Azure Tools pour Microsoft Visual Studio, vous pouvez utiliser le nœud Stockage Azure dans l’Explorateur de serveurs pour visualiser des objets blobs en lecture seule et des données de table de vos comptes de stockage Azure. Vous pouvez afficher des données provenant de votre compte d’émulateur de stockage local et de comptes de stockage que vous avez créés pour Azure. Pour plus d’informations, consultez Consultation et gestion des ressources de stockage avec l’Explorateur de serveurs.
  • Explorateur Stockage Microsoft Azure : cette application autonome vous permet de travailler facilement avec des données de Stockage Azure sur Windows, OSX et Linux.
  • Azure Management Studio : cet outil inclut le gestionnaire de diagnostics Azure. Utilisez-le pour visualiser, télécharger et gérer les données de diagnostics collectées par les applications s’exécutant dans Azure.

Étapes suivantes

Pour plus d’informations sur le transfert des données de supervision à Azure Event Hubs, consultez Envoyer les données de l’extension Diagnostics Azure à Event Hubs.