Überwachen von Azure Event Hubs

Wenn Sie über unternehmenskritische Anwendungen und Geschäftsprozesse verfügen, die auf Azure-Ressourcen beruhen, sollten Sie Verfügbarkeit, Leistung und Betrieb dieser Ressourcen überwachen. In diesem Artikel wird das Überwachen von Daten beschrieben, die von Azure Event Hubs generiert werden. Außerdem erfahren Sie, wie Sie diese Daten mit Azure Monitor analysieren und Warnungen für sie erstellen.

Was ist Azure Monitor?

Azure Event Hubs protokolliert Überwachungsdaten mit Azure Monitor, einem Azure-Dienst zur vollständigen Stapelüberwachung. Azure Monitor bietet einen vollständigen Satz von Funktionen zum Überwachen Ihrer Azure-Ressourcen. Mit Azure Monitor können außerdem Ressourcen in anderen Clouds und lokal überwacht werden.

Beginnen Sie mit dem Artikel Überwachen von Azure-Ressourcen mit Azure Monitor, in dem die folgenden Konzepte beschrieben werden:

  • Was ist Azure Monitor?
  • Kosten für die Überwachung
  • In Azure gesammelte Überwachungsdaten
  • Konfigurieren der Datensammlung
  • Standardtools in Azure zum Analysieren von Überwachungsdaten sowie zum Generieren von Warnungen

Die folgenden Abschnitte bauen auf diesem Artikel auf, indem die spezifischen Daten beschrieben werden, die für Azure Event Hubs erfasst werden. In diesen Abschnitten finden Sie außerdem Beispiele für die Konfiguration der Datensammlung und die Analyse der Daten mit Azure-Tools.

Tipp

Um die mit Azure Monitor verbundenen Kosten zu verstehen, lesen Sie Azure Monitor-Kosten und -Verbrauch. Informationen hinsichtlich der Zeit, die benötigt wird, bis Ihre Daten in Azure Monitor angezeigt werden, finden Sie unter Protokolldatenerfassungszeit in Azure Monitor.

Überwachen von Daten aus Azure Event Hubs

Azure Event Hubs sammelt dieselben Arten von Überwachungsdaten wie andere Azure-Ressourcen, die in Überwachungsdaten von Azure-Ressourcen beschrieben werden.

Eine ausführliche Referenz zu den Protokollen und Metriken, die von Azure Event Hubs erstellt werden, finden Sie in der Datenreferenz zur Überwachung von Azure Event Hubs.

Sammlung und Routing

Plattformmetriken und das Aktivitätsprotokoll werden erfasst und gespeichert, können aber mithilfe einer Diagnoseeinstellung an andere Speicherorte weitergeleitet werden.

Ressourcenprotokolle werden erst erfasst und gespeichert, nachdem Sie eine Diagnoseeinstellung erstellt und die Protokolle an mindestens einen Speicherort weitergeleitet haben.

Ausführliche Informationen zum Erstellen einer Diagnoseeinstellung über das Azure-Portal, die Befehlszeilenschnittstelle oder PowerShell finden Sie unter Erstellen einer Diagnoseeinstellung zum Sammeln von Plattformprotokollen und Metriken in Azure. Wenn Sie eine Diagnoseeinstellung erstellen, legen Sie fest, welche Kategorien von Protokollen gesammelt werden sollen. Die Kategorien für Azure Event Hubs sind unter Ressourcenprotokolle aufgelistet.

Hinweis

Azure Monitor schließt keine Dimensionen in die exportierten Metrikdaten ein, die an ein Ziel wie Azure Storage, Azure Event Hubs oder Log Analytics gesendet werden.

Azure Storage

Wenn Sie Azure Storage zum Speichern der Diagnoseprotokollinformationen verwenden, werden die Informationen in Containern namens insights-logs-operationlogs und insights-metrics-pt1m gespeichert. Beispiel-URL für ein Vorgangsprotokoll: https://<Azure Storage account>.blob.core.windows.net/insights-logs-operationallogs/resourceId=/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/<Resource group name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<Namespace name>/y=<YEAR>/m=<MONTH-NUMBER>/d=<DAY-NUMBER>/h=<HOUR>/m=<MINUTE>/PT1H.json. Die URL für ein Metrikprotokoll ist ähnlich.

Azure Event Hubs

Wenn Sie Azure Event Hubs zum Speichern der Diagnoseprotokollinformationen verwenden, werden die Informationen in Event Hubs-Instanzen namens insights-logs-operationlogs und insights-metrics-pt1m gespeichert. Sie können auch einen vorhandenen Event Hub mit Ausnahme des Event Hubs auswählen, für den Sie Diagnoseeinstellungen konfigurieren.

Log Analytics

Wenn Sie Log Analytics zum Speichern der Diagnoseprotokollinformationen verwenden, werden die Informationen in Tabellen namens AzureDiagnostics / AzureMetrics oder Ressourcenspezifische Tabellen gespeichert.

Wichtig

Ein Aktivieren dieser Einstellungen erfordert zusätzliche Azure-Dienste (Speicherkonto, Event Hub oder Log Analytics). Dadurch können sich Ihre Kosten erhöhen. Um geschätzte Kosten zu berechnen, wechseln Sie zum Azure-Preisrechner.

Hinweis

Wenn Sie Metriken in einer Diagnoseeinstellung aktivieren, sind Dimensionsinformationen derzeit nicht in den Informationen enthalten, die an ein Speicherkonto, an einen Event Hub oder an Log Analytics gesendet werden.

In den folgenden Abschnitten werden die Metriken und Protokolle behandelt, die Sie erfassen können.

Analysieren von Metriken

Sie können Metriken für Azure Event Hubs zusammen mit Metriken aus anderen Azure-Diensten analysieren, indem Sie auf der Startseite für Ihren Event Hubs-Namespace Metriken im Abschnitt Azure Monitor auswählen. Ausführliche Informationen zur Verwendung dieses Tools finden Sie unter Analysieren von Metriken mit Azure Metrik-Explorer. Eine Liste der erfassten Plattformmetriken finden Sie unter Metriken.

Screenshot: Seite „Metrik-Explorer“ für einen Event Hubs-Namespace.

Sie können zur Referenz auf eine Liste aller in Azure Monitor unterstützter Ressourcenmetriken anzeigen.

Tipp

Metrikdaten stehen in Azure Monitor 90 Tage zur Verfügung. Beim Erstellen von Diagrammen können jedoch nur 30 Tage visualisiert werden. Wenn Sie z. B. einen 90-tägigen Zeitraum visualisieren möchten, müssen Sie ihn in drei Diagramme mit jeweils 30 Tagen in diesem 90-Tage-Zeitraum aufteilen.

Filtern und Teilen

Für Metriken, die Dimensionen unterstützen, können Sie Filter mit einem Dimensionswert anwenden. Fügen Sie beispielsweise einen Filter hinzu, bei dem für EntityName der Name eines Event Hubs festgelegt ist. Sie können eine Metrik auch nach Dimension teilen, um visuell darzustellen, wie verschiedene Segmente der Metrik miteinander zu vergleichen sind. Weitere Informationen zum Filtern und Teilen finden Sie unter Erweiterte Funktionen von Azure Metrik-Explorer.

Screenshot: Seite „Metrik-Explorer“ für einen Event Hubs-Namespace mit einem Filter.

Analysieren von Protokollen

Um Azure Monitor Log Analytics verwenden zu können, müssen Sie eine Diagnosekonfiguration erstellen und Send information to Log Analytics (Informationen an Log Analytics senden) aktivieren. Weitere Informationen finden Sie im Abschnitt Erfassung und Weiterleitung. Daten in Azure Monitor-Protokollen werden in Tabellen gespeichert, wobei jede Tabelle ihren eigenen Satz eindeutiger Eigenschaften hat. Azure Event Hubs verfügt jetzt über die Möglichkeit, Protokolle an eine von zwei Zieltabellen zu verteilen: Azure Diagnostic oder Ressourcenspezifische Tabellen in Log Analytics. Eine detaillierte Referenz zu den Protokollen und Metriken finden Sie unter Azure Event Hubs Monitoring Data Reference.

Wichtig

Wenn Sie Protokolle im Menü von Azure Event Hubs auswählen, wird Log Analytics geöffnet, wobei der Abfragebereich auf den aktuellen Arbeitsbereich festgelegt ist. Dies bedeutet, dass Protokollabfragen nur Daten aus dieser Ressource umfassen. Wenn Sie eine Abfrage ausführen möchten, die Daten aus anderen Datenbanken oder Daten aus anderen Azure-Diensten enthält, wählen Sie im Menü Azure Monitor die Option Protokolle aus. Ausführliche Informationen finden Sie unter Protokollabfragebereich und Zeitbereich in Azure Monitor Log Analytics.

Kusto-Beispielabfragen

Wichtig

Wenn Sie Protokolle im Menü von Azure Event Hubs auswählen, wird Log Analytics geöffnet, wobei der Abfragebereich auf den aktuellen Azure Event Hubs-Namespace festgelegt ist. Dies bedeutet, dass Protokollabfragen nur Daten aus dieser Ressource umfassen. Wenn Sie eine Abfrage ausführen möchten, die Daten aus anderen Arbeitsbereichen oder anderen Azure-Diensten enthält, klicken Sie im Menü Azure Monitor auf Protokolle. Ausführliche Informationen finden Sie unter Protokollabfragebereich und Zeitbereich in Azure Monitor Log Analytics.

Die folgenden Beispielabfragen können Sie zur Überwachung Ihrer Azure Event Hubs-Ressourcen verwenden:

  • Abrufen von Fehlern aus den letzten sieben Tagen

    AzureDiagnostics
    | where TimeGenerated > ago(7d)
    | where ResourceProvider =="MICROSOFT.EVENTHUB"
    | where Category == "OperationalLogs"
    | summarize count() by "EventName"
    
    
  • Abrufen von Laufzeitüberwachungsprotokollen, die in der letzten Stunde generiert wurden.

    AzureDiagnostics
    | where TimeGenerated > ago(1h)
    | where ResourceProvider =="MICROSOFT.EVENTHUB"
    | where Category == "RuntimeAuditLogs"    
    
  • Abrufen von Zugriffsversuchen auf einen Schlüsseltresor, die zum Fehler „Schlüssel nicht gefunden“ geführt haben.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB" 
    | where Category == "Error" and OperationName == "wrapkey"
    | project Message
    
  • Vorgänge abrufen, die mit einem Schlüsseltresor ausgeführt wurden, um den Schlüssel zu deaktivieren oder wiederherzustellen.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB"
    | where Category == "info" and OperationName == "disable" or OperationName == "restore"
    | project Message
    
  • Nicht gelungene Erfassungen und deren Dauer in Sekunden abrufen

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB"
    | where Category == "ArchiveLogs"
    | summarize count() by "failures", "durationInSeconds"    
    

Verwenden von Laufzeitprotokollen

Mit Azure Event Hubs können Sie Interaktionen auf der Datenebene Ihrer Clientanwendungen anhand von Laufzeitüberwachungsprotokollen und Anwendungsmetrikprotokollen überwachen und überprüfen.

Mithilfe von Laufzeitüberwachungsprotokollen können Sie aggregierte Diagnoseinformationen für alle Zugriffsvorgänge der Datenebene erfassen, z. B. Veröffentlichungs- oder Nutzungsereignisse. Anwendungsmetrikprotokolle erfassen die aggregierten Daten zu bestimmten Laufzeitmetriken (z. B. Consumerverzögerung und aktive Verbindungen) im Zusammenhang mit Clientanwendungen, die mit Event Hubs verbunden sind.

Hinweis

Laufzeitüberwachungsprotokolle sind derzeit nur in den Tarifen Premium und Dedicated verfügbar.

Aktivieren von Laufzeitprotokollen

Sie können im Azure-Portal auf der Seite des Event Hubs-Namespace im Abschnitt Überwachung durch Auswahl von Diagnoseeinstellungen entweder Laufzeitüberwachungs- oder Anwendungsmetrikprotokollierung aktivieren. Wählen Sie Diagnoseeinstellung hinzufügen aus, wie in der folgenden Abbildung gezeigt.

Screenshot: Seite „Diagnoseeinstellungen“ für einen Event Hubs-Namespace.

Anschließend können Sie je nach Bedarf die Protokollkategorien RuntimeAuditLogs oder ApplicationMetricsLogs aktivieren.

Screenshot der aktivierten Laufzeitüberwachungs- und Anwendungsmetrikprotokolle.

Sobald die Laufzeitprotokolle aktiviert sind, beginnt Event Hubs mit der Erfassung und Speicherung der Protokolle gemäß der Konfiguration in den Diagnoseeinstellungen.

Veröffentlichen und Nutzen von Stichprobendaten

Um Beispiel-Laufzeitüberwachungsprotokolle in Ihrem Event Hubs-Namespace zu erfassen, können Sie mithilfe von Clientanwendungen, die auf dem Event Hubs SDK (AMQP), das das Advance Message Queueing Protocol (AMQP) nutzt, oder einer beliebigen Apache Kafka Clientanwendung basieren, Beispieldaten veröffentlichen und nutzen.

Analysieren von Laufzeitüberwachungsprotokollen

Sie können die erfassten Laufzeitüberwachungsprotokolle mithilfe der folgenden Beispielabfrage analysieren.

AzureDiagnostics
| where TimeGenerated > ago(1h)
| where ResourceProvider == "MICROSOFT.EVENTHUB"
| where Category == "RuntimeAuditLogs"

Nach dem Ausführen der Abfrage sollten Sie in der Lage sein, die entsprechenden Überwachungsprotokolle im folgenden Format abzurufen. Abbildung: Ergebnis einer Beispielabfrage zum Analysieren von Runtime-Überwachungsprotokollen.

Durch die Analyse dieser Protokolle sollten Sie überwachen können, wie die einzelnen Clientanwendungen mit Event Hubs interagieren. Jedes Feld, das einem Laufzeitüberwachungsprotokoll zugeordnet ist, wird in der Laufzeitüberwachungsprotokollreferenz definiert.

Analysieren von Anwendungsmetriken

Sie können die erfassten Anwendungsmetrikprotokolle mithilfe der folgenden Beispielabfrage analysieren.

AzureDiagnostics
| where TimeGenerated > ago(1h)
| where Category == "ApplicationMetricsLogs"

Anwendungsmetriken enthalten die folgenden Laufzeitmetriken. Abbildung: Ergebnis einer Beispielabfrage zum Analysieren von Anwendungsmetriken.

Daher können Sie mithilfe von Anwendungsmetriken Laufzeitmetriken wie die Consumerverzögerung oder die aktive Verbindung einer bestimmten Clientanwendung überwachen. Felder, die Laufzeitüberwachungsprotokollen zugeordnet sind, werden in Verweis für Anwendungsmetrikprotokolle definiert.

Alerts

Sie können auf Warnungen für Azure Event Hubs zugreifen, indem Sie auf der Startseite für Ihren Event Hubs-Namespace Warnungen im Abschnitt Azure Monitor auswählen. Ausführliche Informationen zum Erstellen von Warnungen finden Sie unter Erstellen, Anzeigen und Verwalten von Metrikwarnungen mit Azure Monitor.

Nächste Schritte