Datadog-Logs erfassen

Unterstützt in:

Übersicht

Dieser Parser extrahiert Felder aus Datadog-Logs, führt mehrere Mutationen und Grok-Abgleiche aus, um die Daten zu strukturieren, und ordnet die extrahierten Felder dem UDM zu. Es werden verschiedene Logformate im Feld message verarbeitet, darunter Schlüssel/Wert-Paare und JSON-Objekte. Außerdem werden bestimmte Felder in UDM-kompatible Labels und zusätzliche Felder konvertiert.

Hinweise

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz.
  • Privilegierter Zugriff auf Google Cloud IAM.
  • Berechtigter Zugriff auf Cloud Storage.
  • logs_write_archive-Nutzerzugriff auf Datadog.

Option 1: Datadog-Logfreigabe über die Cloud Storage-Konfiguration

Datadog-Integration mit der Google Cloud -Plattform konfigurieren

Google Cloud Storage-Bucket erstellen

  1. Melden Sie sich in der Google Cloud -Konsole an.
  2. Rufen Sie die Seite Cloud Storage-Buckets auf.

    Buckets aufrufen

  3. Klicken Sie auf Erstellen.

  4. Geben Sie auf der Seite Bucket erstellen die Bucket-Informationen ein. Klicken Sie nach jedem der folgenden Schritte auf Weiter, um mit dem nächsten Schritt fortzufahren:

    1. Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:

      1. Geben Sie einen eindeutigen Namen ein, der den Anforderungen für Bucket-Namen entspricht (z. B. datadog-data).
      2. Wenn Sie den hierarchischen Namespace aktivieren möchten, klicken Sie auf den Maximierungspfeil, um den Bereich Für dateiorientierte und datenintensive Arbeitslasten optimieren zu maximieren, und wählen Sie dann Hierarchischen Namespace für diesen Bucket aktivieren aus.

      3. Wenn Sie ein Bucket-Label hinzufügen möchten, klicken Sie auf den Erweiterungspfeil, um den Abschnitt Labels zu maximieren.

      4. Klicken Sie auf Label hinzufügen und geben Sie einen Schlüssel und einen Wert für das Label an.

    2. Gehen Sie im Bereich Speicherort für Daten auswählen so vor:

      1. Standorttyp auswählen.
      2. Wählen Sie im Drop-down-Menü für den Standorttyp einen Speicherort aus, an dem die Objektdaten in Ihrem Bucket dauerhaft gespeichert werden sollen.
        • Wenn Sie den Standorttyp Dual-Region auswählen, können Sie auch die Turboreplikation aktivieren, indem Sie das entsprechende Kästchen anklicken.
      3. Wenn Sie die Bucket-übergreifende Replikation einrichten möchten, maximieren Sie den Bereich Bucket-übergreifende Replikation einrichten.
    3. Wählen Sie im Abschnitt Speicherklasse für Ihre Daten auswählen entweder eine Standardspeicherklasse für den Bucket oder Autoclass für die automatische Verwaltung der Speicherklassen Ihrer Bucket-Daten aus.

    4. Wählen Sie im Abschnitt Zugriff auf Objekte steuern die Option nicht aus, um die Verhinderung des öffentlichen Zugriffs zu erzwingen, und wählen Sie ein Zugriffssteuerungsmodell für die Objekte Ihres Buckets aus.

    5. Gehen Sie im Bereich Auswählen, wie Objektdaten geschützt werden so vor:

      1. Wählen Sie unter Datenschutz die gewünschten Optionen für Ihren Bucket aus.
      2. Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, klicken Sie auf den Erweiterungspfeil mit dem Label Datenverschlüsselung und wählen Sie eine Datenverschlüsselungsmethode aus.
  5. Klicken Sie auf Erstellen.

Google Cloud-Dienstkonto erstellen

  1. Rufen Sie IAM und Verwaltung > Dienstkonten auf.
  2. Erstellen Sie ein neues Dienstkonto.
  3. Geben Sie ihm einen aussagekräftigen Namen (z. B. datadog-user).
  4. Weisen Sie dem Dienstkonto die Rolle Storage-Objekt-Administrator für den Cloud Storage-Bucket zu, den Sie im vorherigen Schritt erstellt haben.
  5. Erstellen Sie einen SSH-Schlüssel für das Dienstkonto.
  6. Laden Sie eine JSON-Schlüsseldatei für das Dienstkonto herunter. Bewahren Sie diese Datei sicher auf.

Datadog so konfigurieren, dass Logs an Cloud Storage gesendet werden

  1. Melden Sie sich mit einem privilegierten Konto in Datadog an.
  2. Gehen Sie zu Logs > Log-Weiterleitung.
  3. Klicken Sie auf + Neues Archiv erstellen.
  4. Wählen Sie Google Cloud Storage aus.
  5. Geben Sie die erforderlichen Parameter ein und klicken Sie auf Speichern.

Option 2: Datadog-Logfreigabe über die Webhook-Konfiguration

Feeds einrichten

Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:

  • SIEM-Einstellungen > Feeds
  • Content Hub> Content-Pakete

Feeds über „SIEM-Einstellungen“ > „Feeds“ einrichten

So konfigurieren Sie einen Feed:

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feed name (Feedname) einen Namen für den Feed ein, z. B. Datadog Logs (Datadog-Logs).
  5. Wählen Sie Webhook als Quelltyp aus.
  6. Wählen Sie Datadog als Logtyp aus.
  7. Klicken Sie auf Weiter.
  8. Optional: Geben Sie Werte für die folgenden Eingabeparameter an:
    • Trennzeichen für Aufteilung: Das Trennzeichen, das zum Trennen von Logzeilen verwendet wird, z. B. \n.
  9. Klicken Sie auf Weiter.
  10. Prüfen Sie die Feedkonfiguration auf dem Bildschirm Finalize (Abschließen) und klicken Sie dann auf Submit (Senden).
  11. Klicken Sie auf Geheimen Schlüssel generieren, um einen geheimen Schlüssel zur Authentifizierung dieses Feeds zu generieren.
  12. Kopieren Sie den geheimen Schlüssel und speichern Sie ihn. Sie können diesen geheimen Schlüssel nicht noch einmal aufrufen. Bei Bedarf können Sie einen neuen geheimen Schlüssel generieren. Dadurch wird der vorherige geheime Schlüssel jedoch ungültig.
  13. Kopieren Sie auf dem Tab Details die Feed-Endpunkt-URL aus dem Feld Endpunktinformationen. Sie müssen diese Endpunkt-URL in Ihrer Clientanwendung angeben.
  14. Klicken Sie auf Fertig.

Feeds über den Content Hub einrichten

Geben Sie Werte für die folgenden Felder an:

  • Trennzeichen für Aufteilung: Das Trennzeichen, das zum Trennen von Logzeilen verwendet wird, z. B. \n.

Erweiterte Optionen

  • Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
  • Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
  • Asset-Namespace: Der Namespace, der dem Feed zugeordnet ist.
  • Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.

  • Klicken Sie auf Geheimen Schlüssel generieren, um einen geheimen Schlüssel zur Authentifizierung dieses Feeds zu generieren.

  • Kopieren Sie den geheimen Schlüssel und speichern Sie ihn. Sie können diesen geheimen Schlüssel nicht noch einmal aufrufen. Bei Bedarf können Sie einen neuen geheimen Schlüssel generieren. Dadurch wird der vorherige geheime Schlüssel jedoch ungültig.

  • Kopieren Sie auf dem Tab Details die Feed-Endpunkt-URL aus dem Feld Endpunktinformationen. Sie müssen diese Endpunkt-URL in Ihrer Clientanwendung angeben.

API-Schlüssel für den Webhook-Feed erstellen

  1. Rufen Sie die Google Cloud Console > Anmeldedaten auf.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie anschließend API-Schlüssel aus.

  3. Schränken Sie den API-Schlüsselzugriff auf die Chronicle API ein.

Endpunkt-URL angeben

  1. Geben Sie in Ihrer Clientanwendung die HTTPS-Endpunkt-URL an, die im Webhook-Feed bereitgestellt wird.
  2. Aktivieren Sie die Authentifizierung, indem Sie den API-Schlüssel und den geheimen Schlüssel als Teil des benutzerdefinierten Headers im folgenden Format angeben:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Empfehlung: Geben Sie den API-Schlüssel als Header an, anstatt ihn in der URL anzugeben.

  3. Wenn Ihr Webhook-Client keine benutzerdefinierten Headern unterstützt, können Sie den API-Schlüssel und den geheimen Schlüssel mit Suchparametern im folgenden Format angeben:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Ersetzen Sie Folgendes:

    • ENDPOINT_URL: Die URL des Feed-Endpunkts.
    • API_KEY: Der API-Schlüssel für die Authentifizierung bei Google SecOps.
    • SECRET: Der geheime Schlüssel, den Sie zur Authentifizierung des Feeds generiert haben.

Datadog so konfigurieren, dass Logs an den Webhook gesendet werden

  1. Melden Sie sich mit einem privilegierten Konto in Datadog an.
  2. Gehen Sie zu Logs > Log-Weiterleitung.
  3. Wählen Sie Benutzerdefinierte Ziele aus.
  4. Klicken Sie auf + Neues Ziel erstellen.
  5. Geben Sie Werte für die folgenden Eingabeparameter an:
    1. Zieltyp auswählen: Wählen Sie HTTP aus.
    2. Ziel benennen: Geben Sie einen beschreibenden Namen für den Webhook an, z. B. Google SecOps-Webhook.
    3. Ziel konfigurieren: Geben Sie die ENDPOINT_URL, gefolgt vom API_KEY und SECRET ein.
    4. Authentifizierungseinstellungen konfigurieren: Fügen Sie einen allgemeinen Header wie den folgenden hinzu. Dadurch wird die HTTP-Anfrage nicht fehlerhaft formatiert und Datadog kann die Webhook-Erstellung abschließen.
      • Header name: Accept.
      • Headerwert: application/json.
    5. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
_id read_only_udm.metadata.product_log_id Direkt aus dem Feld _id zugeordnet.
alert read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld alert extrahiert und als Label im Objekt security_result hinzugefügt.
attributes.@timestamp read_only_udm.metadata.event_timestamp Der Ereigniszeitstempel wird aus dem Feld attributes.@timestamp extrahiert und in Sekunden und Nanosekunden umgewandelt.
attributes.@version read_only_udm.metadata.product_version Direkt aus dem Feld attributes.@version zugeordnet.
attributes.level_value read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld attributes.level_value extrahiert und als Label im Objekt security_result hinzugefügt.
attributes.logger_name read_only_udm.principal.application Direkt aus dem Feld attributes.logger_name zugeordnet.
attributes._trace.baggage._sli_service read_only_udm.additional.fields Direkt aus dem Feld attributes._trace.baggage._sli_service zugeordnet und als zusätzliches Feld hinzugefügt.
attributes._trace.baggage.device_id read_only_udm.principal.asset.asset_id Direkt aus dem Feld attributes._trace.baggage.device_id zugeordnet, mit dem Präfix „Device Id:“ (Geräte-ID:).
attributes._trace.origin.operation read_only_udm.metadata.product_event_type Direkt aus dem Feld attributes._trace.origin.operation zugeordnet.
caller read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld caller extrahiert und als Label im Objekt security_result hinzugefügt.
component read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld component extrahiert und als Label im Objekt security_result hinzugefügt.
context.AlertName read_only_udm.security_result.threat_name Direkt aus dem Feld context.AlertName zugeordnet.
context.BusArch read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld context.BusArch extrahiert und als Label im Objekt security_result hinzugefügt.
context.CANDBVersion read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld context.CANDBVersion extrahiert und als Label im Objekt security_result hinzugefügt.
context.esn read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld context.esn extrahiert und als Label im Objekt security_result hinzugefügt.
context.ftcpVersion read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld context.ftcpVersion extrahiert und als Label im Objekt security_result hinzugefügt.
context.ingestMessageId read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld context.ingestMessageId extrahiert und als Label im Objekt security_result hinzugefügt.
context.redactedVin read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld context.redactedVin extrahiert und als Label im Objekt security_result hinzugefügt.
context.vehicleId read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld context.vehicleId extrahiert und als Label im Objekt security_result hinzugefügt.
date read_only_udm.metadata.collected_timestamp Der erfasste Zeitstempel wird aus dem Feld date (im Parser in date1 umbenannt) extrahiert und in Sekunden und Nanosekunden umgewandelt.
host read_only_udm.principal.hostname Direkt aus dem Feld host zugeordnet.
message read_only_udm.security_result.about.resource.attribute.labels Das Feld message wird geparst und Teile davon werden verwendet, um die Felder summary und json_data zu füllen. Der verbleibende Teil wird als Schlüssel/Wert-Paare behandelt und als Labels im security_result-Objekt hinzugefügt.
msg read_only_udm.security_result.about.resource.attribute.labels Aus dem Feld msg extrahiert und als Label im Objekt security_result hinzugefügt.
service read_only_udm.metadata.product_name Direkt aus dem Feld service zugeordnet.
status read_only_udm.security_result.severity Der Schweregrad wird anhand des Felds status bestimmt. „INFO“, „DEBUG“, „debug“ und „info“ werden „LOW“ zugeordnet, „WARN“ wird „MEDIUM“ zugeordnet und andere Werte werden im bereitgestellten Code-Snippet nicht explizit zugeordnet.
tags read_only_udm.additional.fields Jedes Tag im Array tags wird in Schlüssel/Wert-Paare geparst und als zusätzliche Felder hinzugefügt.
read_only_udm.metadata.event_type Auf „STATUS_UPDATE“ festgelegt, wenn das Feld host vorhanden ist, andernfalls auf „GENERIC_EVENT“.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten