Senden von Daten aus der Windows Azure-Diagnoseerweiterung an Azure Event HubsSend data from Windows Azure diagnostics extension to Azure Event Hubs

Die Azure-Diagnoseerweiterung ist ein Agent in Azure Monitor, der Überwachungsdaten vom Gastbetriebssystem und Workloads von virtuellen Azure-Computern und anderen Computeressourcen sammelt.Azure diagnostics extension is an agent in Azure Monitor that collects monitoring data from the guest operating system and workloads of Azure virtual machines and other compute resources. In diesem Artikel wird beschrieben, wie Daten aus der Windows Azure-Diagnoseerweiterung (WAD) an Azure Event Hubs gesendet werden, damit Sie diese an Speicherorte außerhalb von Azure weiterleiten können.This article describes how to send data from the Windows Azure Diagnostic extension (WAD) to Azure Event Hubs so you can forward to locations outside of Azure.

Unterstützte DatenSupported data

Die vom Gastbetriebssystem gesammelten Daten, die an Event Hubs gesendet werden können, umfassen die nachfolgend genannten Datentypen.The data collected from the guest operating system that can be sent to Event Hubs includes the following. Andere Datenquellen, die von WAD erfasst werden, einschließlich IIS-Protokollen und Absturzabbildern, können nicht an Event Hubs gesendet werden.Other data sources collected by WAD, including IIS Logs and crash dumps, cannot be sent to Event Hubs.

  • Ereignisablaufverfolgung für Windows-Ereignisse (ETW)Event Tracing for Windows (ETW) events
  • LeistungsindikatorenPerformance counters
  • Windows-Ereignisprotokolle, einschließlich Anwendungsprotokolle im Windows-EreignisprotokollWindows event logs, including application logs in the Windows event log
  • Infrastrukturprotokolle der Azure-DiagnoseAzure Diagnostics infrastructure logs

VoraussetzungenPrerequisites

KonfigurationsschemaConfiguration schema

Verschiedene Optionen zum Aktivieren und Konfigurieren der Diagnoseerweiterung finden Sie unter Installieren und Konfigurieren der Windows Azure-Diagnoseerweiterung (WAD). Eine Referenz zum Konfigurationsschema ist unter Azure-Diagnosekonfigurationsschema enthalten.See Install and configure Windows Azure diagnostics extension (WAD) for different options for enabling and configuring the diagnostics extension and Azure Diagnostics configuration schema for a reference of the configuration schema. Im weiteren Verlauf dieses Artikels wird beschrieben, wie Sie diese Konfiguration zum Senden von Daten an einen Event Hub verwenden.The rest of this article will describe how to use this configuration to send data to an event hub.

Azure-Diagnose sendet Protokolle und Metriken stets an ein Azure Storage-Konto.Azure Diagnostics always sends logs and metrics to an Azure Storage account. Sie können eine oder mehrere Datensenken konfigurieren, die Daten an zusätzliche Speicherorte senden.You can configure one or more data sinks that send data to additional locations. Die einzelnen Senken sind im SinksConfig-Element der öffentlichen Konfiguration mit sensiblen Informationen in der privaten Konfiguration definiert.Each sink is defined in the SinksConfig element of the public configuration with sensitive information in the private configuration. Diese Konfiguration für Event Hubs verwendet die Werte in der folgenden Tabelle.This configuration for event hubs uses the values in the following table.

EigenschaftProperty BESCHREIBUNGDescription
NameName Beschreibender Name für die Senke.Descriptive name for the sink. Wird in der Konfiguration verwendet, um die Datenquellen anzugeben, die an die Senke senden sollen.Used in the configuration to specify which data sources to send to the sink.
urlUrl URL des Event Hubs im Format <event-hubs-namespace>.servicebus.windows.net/<event-hub-name>.Url of the event hub in the form <event-hubs-namespace>.servicebus.windows.net/<event-hub-name>.
SharedAccessKeyNameSharedAccessKeyName Name einer SAS-Richtlinie für den Event Hub, der mindestens über Senden-Autorität verfügt.Name of a shared access policy for the event hub that has at least Send authority.
SharedAccessKeySharedAccessKey Primärer oder sekundär Schlüssel aus der SAS-Richtlinie für den Event Hub.Primary or secondary key from the shared access policy for the event hub.

Beispiele für die öffentliche und private Konfiguration sind nachfolgend dargestellt.Example public and private configurations are shown below. Hierbei handelt es sich um eine minimale Konfiguration mit einem einzelnen Leistungsindikator und Ereignisprotokoll zur Veranschaulichung, wie die Event Hub-Datensenke konfiguriert und verwendet wird.This is a minimal configuration with a single performance counter and event log to illustrate how to configure and use the event hub data sink. Ein komplexeres Beispiel finden Sie unter Azure-Diagnosekonfigurationsschema.See Azure Diagnostics configuration schema for a more complex example.

Öffentliche KonfigurationPublic configuration

{
    "WadCfg": {
        "DiagnosticMonitorConfiguration": {
            "overallQuotaInMB": 5120,
            "PerformanceCounters": {
                "scheduledTransferPeriod": "PT1M",
                "sinks": "myEventHub",
                "PerformanceCounterConfiguration": [
                    {
                        "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                        "sampleRate": "PT3M"
                    }
                ]
            },
            "WindowsEventLog": {
                "scheduledTransferPeriod": "PT1M",
                "sinks": "myEventHub",
                    "DataSource": [
                    {
                        "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
                    }
                ]
            }
        },
        "SinksConfig": {
            "Sink": [
                {
                    "name": "myEventHub",
                    "EventHub": {
                        "Url": "https://diags-mycompany-ns.servicebus.windows.net/diageventhub",
                        "SharedAccessKeyName": "SendRule"
                    }
                }
            ]
        }
    },
    "StorageAccount": "mystorageaccount",
}

Private KonfigurationPrivate configuration

{
    "storageAccountName": "mystorageaccount",
    "storageAccountKey": "{base64 encoded key}",
    "storageAccountEndPoint": "https://core.windows.net",
    "EventHub": {
        "Url": "https://diags-mycompany-ns.servicebus.windows.net/diageventhub",
        "SharedAccessKeyName": "SendRule",
        "SharedAccessKey": "{base64 encoded key}"
    }
}

KonfigurationsoptionenConfiguration options

Um Daten an eine Datensenke zu senden, geben Sie das sinks-Attribut im Knoten der Datenquelle an.To send data to a data sink, you specify the sinks attribute on the data source's node. Die jeweilige Platzierung des sinks-Attributs bestimmt den Bereich der Zuweisung.Where you place the sinks attribute determines the scope of the assignment. Im folgenden Beispiel wird das sinks-Attribut für den Knoten PerformanceCounters definiert, wodurch alle untergeordneten Leistungsindikatoren an den Event Hub gesendet werden.In the following example, the sinks attribute is defined to the PerformanceCounters node which will cause all child performance counters to be sent to the event hub.

"PerformanceCounters": {
    "scheduledTransferPeriod": "PT1M",
    "sinks": "MyEventHub",
    "PerformanceCounterConfiguration": [
        {
            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Memory\\Available MBytes",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Web Service(_Total)\\ISAPI Extension Requests/sec",
            "sampleRate": "PT3M"
        }
    ]
}

Im folgenden Beispiel wird das sinks-Attribut direkt auf drei Leistungsindikatoren angewendet, wodurch nur diese Leistungsindikatoren an den Event Hub gesendet werden.In the following example, the sinks attribute is applied directly to three counters which will cause only those performance counters to be sent to the event hub.

"PerformanceCounters": {
    "scheduledTransferPeriod": "PT1M",
    "PerformanceCounterConfiguration": [
        {
            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        },
        {
            "counterSpecifier": "\\Memory\\Available MBytes",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Web Service(_Total)\\ISAPI Extension Requests/sec",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\ASP.NET\\Requests Rejected",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        },
        {
            "counterSpecifier": "\\ASP.NET\\Requests Queued",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        }
    ]
}

Überprüfen der KonfigurationValidating configuration

Sie können anhand einer Vielzahl von Methoden überprüfen, ob Daten an den Event Hub gesendet werden.You can use a variety of methods to validate that data is being sent to the event hub. Eine einfache Methode ist die Verwendung von Event Hubs Capture, wie es unter Erfassen von Ereignissen über Azure Event Hubs in Azure Blob Storage oder Azure Data Lake Storage beschrieben ist.ne straightforward method is to use Event Hubs capture as described in Capture events through Azure Event Hubs in Azure Blob Storage or Azure Data Lake Storage.

Beheben von Problemen mit Event Hubs-SenkenTroubleshoot Event Hubs sinks

  • Sehen Sie sich die Azure Storage-Tabelle WADDiagnosticInfrastructureLogsTable an, die Protokolle und Fehler zur Azure-Diagnose selbst enthält.Look at the Azure Storage table WADDiagnosticInfrastructureLogsTable which contains logs and errors for Azure Diagnostics itself. Sie können hierzu beispielsweise mit dem Tool Azure Storage-Explorer eine Verbindung mit diesem Speicherkonto herstellen, diese Tabelle anzeigen und eine Abfrage nach einem TimeStamp innerhalb der letzten 24 Stunden hinzufügen.One option is to use a tool such as Azure Storage Explorer to connect to this storage account, view this table, and add a query for TimeStamp in the last 24 hours. Sie können das Tool verwenden, um eine CSV-Datei zu exportieren und in einer Anwendung wie Microsoft Excel zu öffnen.You can use the tool to export a .csv file and open it in an application such as Microsoft Excel. Excel erleichtert das Suchen nach Callingcard-Zeichenfolgen wie EventHubs, um festzustellen, welcher Fehler gemeldet wird.Excel makes it easy to search for calling-card strings, such as EventHubs, to see what error is reported.

  • Überprüfen Sie, ob der Event Hub erfolgreich bereitgestellt wurde.Check that your event hub is successfully provisioned. Alle Verbindungsinformationen im Abschnitt PrivateConfig der Konfiguration müssen mit den Werten Ihrer Ressourcen übereinstimmen, wie sie im Portal angezeigt werden.All connection info in the PrivateConfig section of the configuration must match the values of your resource as seen in the portal. Stellen Sie sicher, dass Sie eine SAS-Richtlinie im Portal definiert haben (im Beispiel SendRule) und die Berechtigung Senden gewährt wurde.Make sure that you have a SAS policy defined (SendRule in the example) in the portal and that Send permission is granted.

Nächste SchritteNext steps