Freigeben über


Streamen von Azure-Überwachungsdaten an einen Event Hub und externe Partner

In den meisten Fällen ist eine effektive Methode, Daten von Azure Monitor zu externen Tools zu streamen, die Verwendung von Azure Event Hubs. Dieser Artikel enthält eine Beschreibung, wie Daten an Event Hubs gestreamt werden, und listet einige der Partner auf, die diese Daten vom Hub nutzen können. Einige Partner sind in Azure Monitor integriert und verfügen über von Azure gehostete Dienste.

Erstellen eines Event Hubs-Namespace

Bevor Sie das Streaming für eine Datenquelle konfigurieren, müssen Sie einen Event Hubs-Namespace und einen Event Hub erstellen. Dieser Namespace und Event Hub sind das Ziel für sämtliche Ihrer Überwachungsdaten. Ein Event Hubs-Namespace ist eine logische Gruppierung von Event Hubs mit derselben Zugriffsrichtlinie. Er ähnelt damit einem Speicherkonto mit einzelnen Containern für Blobs in diesem Speicherkonto. Beachten Sie die folgenden Hinweise zum Event Hubs-Namespace und zu den Event Hubs, die Sie zum Streamen von Überwachungsdaten verwenden:

  • Über die Anzahl der Durchsatzeinheiten können Sie den Durchsatz für Ihre Event Hubs erhöhen. In der Regel ist nur eine Durchsatzeinheit erforderlich. Wenn Sie aufgrund steigender Protokollnutzung hochskalieren müssen, können Sie die Anzahl der Durchsatzeinheiten für den Namespace manuell erhöhen oder die automatische Aufstockung aktivieren.
  • Über die Anzahl von Partitionen können Sie den Verbrauch vieler Consumer parallelisieren. Eine einzelne Partition kann bis zu 20 MBit/s oder ungefähr 20.000 Nachrichten pro Sekunde unterstützen. Je nach Tool, das die Daten nutzt, ist es auch möglich, Daten von mehreren Partitionen zu verarbeiten. Vier Partitionen sind für den Anfang sinnvoll, wenn Sie sich über die Anzahl der festzulegenden Partitionen nicht sicher sind.
  • Legen Sie die Nachrichtenaufbewahrung in Ihrem Event Hub auf mindestens sieben Tage fest. Wenn Ihr Tool länger als einen Tag ausfällt, wird sichergestellt, dass das Tool bei Ereignissen, die bis zu sieben Tage alt sind, dort weitermachen kann, wo es aufgehört hat.
  • Verwenden Sie die Standardconsumergruppe für Ihren Event Hub. Es ist nicht erforderlich, andere Verbrauchergruppen zu erstellen oder eine separate Verbrauchergruppe zu verwenden, es sei denn, Sie möchten, dass zwei verschiedene Tools dieselben Daten aus demselben Event Hub nutzen.
  • Wenn Sie einen Event Hubs-Namespace-auswählen, erstellt Azure Monitor für das Azure-Aktivitätsprotokoll in diesem Namespace den Event Hub insights-logs-operational-logs. Für andere Protokolltypen können Sie entweder einen vorhandenen Event Hub verwenden oder Azure Monitor für jede Protokollkategorie einen Event Hub erstellen lassen.
  • Die ausgehenden Ports 5671 und 5672 müssen auf dem Computer oder in dem virtuellen Netzwerk offen sein, der bzw. das die Daten vom Event Hub verarbeitet.

Streamingmethoden

Daten können mithilfe der folgenden Methoden in Azure Monitor an Event Hubs gesendet werden:

Datenformate

Der folgende JSON-Code ist ein Beispiel für Metrikdaten, die an einen Event Hub gesendet werden:

[
  {
    "records": [
      {
        "count": 2,
        "total": 0.217,
        "minimum": 0.042,
        "maximum": 0.175,
        "average": 0.1085,
        "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
        "time": "2023-04-18T09:03:00.0000000Z",
        "metricName": "CpuTime",
        "timeGrain": "PT1M"
      },
      {
        "count": 2,
        "total": 0.284,
        "minimum": 0.053,
        "maximum": 0.231,
        "average": 0.142,
        "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
        "time": "2023-04-18T09:04:00.0000000Z",
        "metricName": "CpuTime",
        "timeGrain": "PT1M"
      },
      {
        "count": 1,
        "total": 1,
        "minimum": 1,
        "maximum": 1,
        "average": 1,
        "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
        "time": "2023-04-18T09:03:00.0000000Z",
        "metricName": "Requests",
        "timeGrain": "PT1M"
      },
    ...
    ]
  }
]

Der folgende JSON-Code ist ein Beispiel für Protokolldaten, die an einen Event Hub gesendet werden:

[
  {
    "records": [
      {
        "time": "2023-04-18T09:39:56.5027358Z",
        "category": "AuditEvent",
        "operationName": "VaultGet",
        "resultType": "Success",
        "correlationId": "cccc2222-dd33-4444-55ee-666666ffffff",
        "callerIpAddress": "10.0.0.10",
        "identity": {
          "claim": {
            "http://schemas.microsoft.com/identity/claims/objectidentifier": "123abc12-abcd-9876-cdef-123abc456def",
            "appid": "44445555-eeee-6666-ffff-7777aaaa8888"
          }
        },
        "properties": {
          "id": "https://mykeyvault.vault.azure.net/",
          "clientInfo": "AzureResourceGraph.IngestionWorkerService.global/1.23.1.224",
          "requestUri": "https://northeurope.management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.KeyVault/vaults/mykeyvault?api-version=2023-02-01&MaskCMKEnabledProperties=true",
          "httpStatusCode": 200,
          "properties": {
            "sku": {
              "Family": "A",
              "Name": "Standard",
              "Capacity": null
            },
            "tenantId": "bbbbcccc-1111-dddd-2222-eeee3333ffff",
            "networkAcls": null,
            "enabledForDeployment": 0,
            "enabledForDiskEncryption": 0,
            "enabledForTemplateDeployment": 0,
            "enableSoftDelete": 1,
            "softDeleteRetentionInDays": 90,
            "enableRbacAuthorization": 0,
            "enablePurgeProtection": null
          }
        },
        "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/mykeyvault",
        "operationVersion": "2023-02-01",
        "resultSignature": "OK",
        "durationMs": "16"
      }
    ],
    "EventProcessedUtcTime": "2023-04-18T09:42:07.0944007Z",
    "PartitionId": 1,
    "EventEnqueuedUtcTime": "2023-04-18T09:41:14.9410000Z"
  },
...

Partnertools mit Azure Monitor-Integration

Die Weiterleitung Ihrer Überwachungsdaten an einen Event Hub mit Azure Monitor ermöglicht eine einfache Integration in externe SIEM- und Überwachungstools. In der folgenden Tabelle werden Beispiele für Tools mit Azure Monitor-Integration aufgeführt.

Tool In Azure gehostet BESCHREIBUNG
IBM QRadar Nein Das DSM und Event Hubs-Protokoll von Microsoft Azure sind zum Download auf der Website des IBM-Supports erhältlich.
Splunk Nein Das Splunk-Add-On für Microsoft Cloud Services ist ein Open-Source-Projekt, das in Splunkbase verfügbar ist.

Falls Sie kein Add-On in Ihrer Splunk-Instanz installieren können und einen Proxy oder Splunk Cloud verwenden, können Sie diese Ereignisse an die HTTP-Ereignissammlung von Splunk weiterleiten, indem Sie Azure Function for Splunk verwenden. Dieses Tool wird durch neue Nachrichten im Event Hub ausgelöst.
sumologic Nein Anweisungen zum Einrichten von SumoLogic für die Nutzung von Daten aus einem Event Hub finden Sie unter Collect Logs for the Azure Audit App from Event Hubs (Sammeln von Protokollen für die Azure Audit App aus Event Hubs).
ArcSight Nein Der intelligente Azure Event Hubs-Connector von ArcSight wird im Rahmen dieser ArcSight-Sammlung von intelligenten Connectors zur Verfügung gestellt.
Syslog-Server Nein Wenn Sie Azure Monitor-Daten direkt an einen Syslog-Server streamen möchten, können Sie eine auf einer Azure-Funktion basierende Lösung nutzen.
LogRhythm Nein Anweisungen zum Einrichten von LogRhythm zum Erfassen von Protokollen aus einem Event Hub sind auf der LogRhythm-Website verfügbar.
Logz.io Ja Weitere Informationen finden Sie unter Erste Schritte bei der Überwachung und Protokollierung mithilfe von Logz.io für in Azure ausgeführte Java-Apps.

Nächste Schritte