Installieren und Konfigurieren der Azure-Diagnoseerweiterung für Windows (WAD)

Die Azure-Diagnoseerweiterung ist ein Agent in Azure Monitor, der Überwachungsdaten vom Gastbetriebssystem und Workloads von virtuellen Azure-Computern und anderen Computeressourcen sammelt. In diesem Artikel finden Sie Informationen zum Installieren und Konfigurieren der Azure-Diagnoseerweiterung für Windows und eine Beschreibung, wie die Daten in einem Azure Storage-Konto gespeichert werden.

Die Diagnoseerweiterung wird als VM-Erweiterung in Azure implementiert. Sie unterstützt die gleichen Installationsoptionen mithilfe von Azure Resource Manager-Vorlagen, PowerShell und der Azure CLI. Informationen zum Installieren und Verwalten von VM-Erweiterungen finden Sie unter Erweiterungen und Features für virtuelle Computer für Windows.

Übersicht

Wenn Sie die Azure-Diagnoseerweiterung für Windows konfigurieren, müssen Sie ein Speicherkonto angeben, an das alle angegebenen Daten gesendet werden sollen. Sie können optional mindestens eine Datensenke hinzufügen, um die Daten an verschiedene Speicherorte zu senden.

  • Azure Monitor-Senke: Hiermit werden Gastleistungsdaten an Azure Monitor-Metriken gesendet.
  • Azure Event Hub-Senke: Hiermit werden Gastleistungs- und Protokolldaten an Event Hubs gesendet, um außerhalb von Azure weitergeleitet zu werden. Diese Senke kann im Azure-Portal nicht konfiguriert werden.

Installieren über das Azure-Portal

Sie können die Diagnoseerweiterung auf einem einzelnen virtuellen Computer im Azure-Portal installieren und konfigurieren. Sie arbeiten mit einer Schnittstelle, anstatt direkt mit der Konfiguration zu arbeiten. Wenn Sie die Diagnoseerweiterung aktivieren, wird automatisch eine Standardkonfiguration mit den gängigsten Leistungsindikatoren und Ereignissen verwendet. Sie können diese Standardkonfiguration entsprechend Ihren spezifischen Anforderungen ändern.

Hinweis

In den folgenden Schritten werden die gängigsten Einstellungen für die Diagnoseerweiterung beschrieben. Weitere Informationen zu allen Konfigurationsoptionen finden Sie unter Schema der Diagnoseerweiterung für Windows.

  1. Öffnen Sie das Menü für einen virtuellen Computer im Azure-Portal.

  2. Wählen Sie im Abschnitt Überwachung des VM-Menüs Diagnoseeinstellungen aus.

  3. Wählen Sie Überwachung auf Gastebene aktivieren aus, wenn die Diagnoseerweiterung noch nicht aktiviert wurde.

    Screenshot that shows enabling monitoring.

  4. Ein neues Azure Storage-Konto wird für den virtuellen Computer erstellt. Der Name basiert auf dem Namen der Ressourcengruppe für den virtuellen Computer. Eine Standardmenge von Gastleistungsindikatoren und Protokollen wird ausgewählt.

    Screenshot that shows Diagnostic settings.

  5. Wählen Sie auf der Registerkarte Leistungsindikatoren die Gastmetriken aus, die Sie von diesem virtuellen Computer sammeln möchten. Verwenden Sie die Einstellung Benutzerdefiniert, um eine erweiterte Auswahl zu treffen.

    Screenshot that shows Performance counters.

  6. Wählen Sie auf der Registerkarte Protokolle die Protokolle aus, die vom virtuellen Computer gesammelt werden sollen. Protokolle können an Storage oder Event Hubs gesendet werden, aber nicht an Azure Monitor. Verwenden Sie den Log Analytics-Agent, um Gastprotokolle für Azure Monitor zu sammeln.

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

  7. Geben Sie auf der Registerkarte Absturzabbilder die Prozesse zum Sammeln von Speicherabbildern nach einem Absturz an. Die Daten werden in das Speicherkonto für die Diagnoseeinstellung geschrieben. Optional können Sie einen Blobcontainer angeben.

    Screenshot that shows the Crash dumps tab.

  8. Geben Sie auf der Registerkarte Senken an, ob die Daten an andere Speicherorte als Azure Storage gesendet werden sollen. Wenn Sie Azure Monitor auswählen, werden Gastleistungsdaten an Azure Monitor-Metriken gesendet. Die Event Hub-Senke kann nicht mit dem Azure-Portal konfiguriert werden.

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

    Wenn Sie keine systemseitig zugewiesene Identität aktiviert haben, die für den virtuellen Computer konfiguriert ist, wird möglicherweise die folgende Warnung angezeigt, sobald Sie eine Konfiguration mit der Azure Monitor-Senke speichern. Wählen Sie das Banner aus, um die systemseitig zugewiesene Identität zu aktivieren.

    Screenshot that shows the managed identity warning.

  9. Auf der Registerkarte Agent können Sie das Speicherkonto ändern, das Datenträgerkontingent festlegen und angeben, ob Diagnoseinfrastrukturprotokolle gesammelt werden sollen.

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

  10. Wählen Sie zum Speichern der Konfiguration Speichern aus.

Hinweis

Die Konfiguration für die Diagnoseerweiterung kann zwar in JSON oder XML formatiert werden, allerdings wird jede im Azure-Portal ausgeführte Konfiguration immer als JSON gespeichert. Wenn Sie bei einer anderen Konfigurationsmethode XML verwenden und dann die Konfiguration über das Azure-Portal ändern, werden die Einstellungen in JSON geändert. Außerdem gibt es keine Option zum Einrichten des Aufbewahrungszeitraums für diese Protokolle.

Resource Manager-Vorlage

Informationen zum Bereitstellen der Diagnoseerweiterung mit Azure Resource Manager-Vorlagen finden Sie unter Verwenden von Überwachung und Diagnose bei einer Windows-VM und Azure Resource Manager-Vorlagen.

Bereitstellung mithilfe der Azure-Befehlszeilenschnittstelle

Sie können die Azure-Diagnoseerweiterung mithilfe der Azure-Befehlszeilenschnittstelle über az vm extension set auf einem vorhandenen virtuellen Computer bereitstellen, wie im folgenden Beispiel erläutert.

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 

Die geschützten Einstellungen werden im PrivateConfig-Element des Konfigurationsschemas definiert. Das folgende minimale Beispiel für eine geschützte Einstellungsdatei definiert das Speicherkonto. Ausführliche Informationen zu den privaten Einstellungen finden Sie unter Beispielkonfiguration.

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

Die öffentlichen Einstellungen werden im Public-Element des Konfigurationsschemas definiert. Das folgende minimale Beispiel für eine öffentliche Einstellungsdatei ermöglicht die Sammlung von Diagnoseinfrastruktur-Protokollen, eines einzelnen Leistungsindikators und eines einzelnen Ereignisprotokolls. Ausführliche Informationen zu den öffentlichen Einstellungen finden Sie unter Beispielkonfiguration.

{
  "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)]]"
          }
        ]
      }
    }
  }
}

PowerShell-Bereitstellung

Sie können die Azure-Diagnoseerweiterung mithilfe von PowerShell über Set-AzVMDiagnosticsExtension auf einem vorhandenen virtuellen Computer bereitstellen, wie im folgenden Beispiel erläutert.

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

Die privaten Einstellungen werden im PrivateConfig-Element definiert. Die öffentlichen Einstellungen werden im Public-Element des Konfigurationsschemas definiert. Sie können die Details des Speicherkontos auch als Parameter des Set-AzVMDiagnosticsExtension-Cmdlets angeben, anstatt sie in die privaten Einstellungen einzubeziehen.

Das folgende minimale Beispiel für eine Konfigurationsdatei ermöglicht die Sammlung von Diagnoseinfrastruktur-Protokollen, eines einzelnen Leistungsindikators und eines einzelnen Ereignisprotokolls. Ausführliche Informationen zu den privaten und öffentlichen Einstellungen finden Sie unter Beispielkonfiguration.

{
    "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"
    }
}

Informationen finden Sie außerdem unter Aktivieren der Azure-Diagnose auf einer virtuellen Azure-Maschine unter Windows mithilfe von PowerShell.

Datenspeicher

In der nachstehenden Tabelle sind die unterschiedlichen Arten von Daten aufgelistet, die von der Diagnoseerweiterung gesammelt werden, sowie ob sie als Tabelle oder Blob gespeichert werden. Die in Tabellen gespeicherten Daten können auch in Blob Storage gespeichert werden, abhängig von der StorageType-Einstellung in Ihrer öffentlichen Konfiguration.

Daten Speichertyp BESCHREIBUNG
WADDiagnosticInfrastructureLogsTable Tabelle Diagnosemonitor und Konfigurationsänderungen
WADDirectoriesTable Tabelle Vom Diagnosemonitor überwachte Verzeichnisse. Diese Gruppe umfasst IIS-Protokolle, Protokolle zu IIS-Anforderungsfehlern und benutzerdefinierte Verzeichnisse. Der Speicherort der Blob-Protokolldatei ist im Feld „Container“ festgelegt, ihr Name im Feld „RelativePath“. Das Feld „AbsolutePath“ gibt den Speicherort und Namen der Datei wie auf dem virtuellen Azure-Computer vorhanden an.
WadLogsTable Tabelle Mit dem Ablaufverfolgungslistener in Code erstellte Protokolle.
WADPerformanceCountersTable Tabelle Leistungsindikatoren.
WADWindowsEventLogsTable Tabelle Windows-Ereignisprotokolle.
wad-iis-failedreqlogfiles Blob Enthält Informationen aus den Protokollen zu IIS-Anforderungsfehlern.
wad-iis-logfiles Blob Enthält Informationen zu IIS-Protokollen.
"custom" Blob Ein benutzerdefinierter Container basierend auf Konfigurationsverzeichnissen, die vom Diagnosemonitor überwacht werden. Der Name dieses Blob-Containers wird in WADDirectoriesTable festgelegt.

Tools zum Anzeigen von Diagnosedaten

Mehrere Tools stehen zum Anzeigen der Daten nach der Übertragung an den Speicher zur Verfügung. Zum Beispiel:

  • Server-Explorer in Visual Studio: Wenn Sie die Azure-Tools für Microsoft Visual Studio installiert haben, können Sie den Azure Storage-Knoten im Server-Explorer zum Anzeigen schreibgeschützter Blob- und Tabellendaten aus Ihren Azure Storage-Konten verwenden. Sie können Daten aus dem lokalen Speicheremulatorkonto und aus den für Azure erstellten Speicherkonten anzeigen. Weitere Informationen finden Sie unter Durchsuchen und Verwalten von Speicherressourcen mit dem Server-Explorer.
  • Microsoft Azure Storage-Explorer: Über diese eigenständige App können Sie ganz einfach mit Azure Storage-Daten arbeiten – unter Windows, OSX und Linux.
  • Azure Management Studio: Dieses Tool enthält Azure Diagnostics Manager. Mit diesem Tool können Sie die von den in Azure ausgeführten Anwendungen gesammelten Diagnosedaten anzeigen, herunterladen und verwalten.

Nächste Schritte

Informationen zum Weiterleiten von Überwachungsdaten an Azure Event Hubs finden Sie unter Senden von Daten von der Microsoft Azure-Diagnoseerweiterung an Event Hubs.