Transfert de logs vers des destinations personnalisées

Présentation

Le transfert de logs vous permet d’envoyer des logs depuis Datadog vers des destinations personnalisées telles que Splunk, Elasticsearch et des endpoints HTTP. Cela signifie que vous pouvez utiliser Log Pipelines pour collecter, traiter et normaliser vos logs de manière centralisée dans Datadog. Ensuite, envoyez les logs depuis Datadog vers d’autres outils pour soutenir les workflows des différentes équipes. Vous pouvez choisir de transférer n’importe quel log ingéré, qu’il soit indexé ou non, vers des destinations personnalisées. Les logs sont transférés au format JSON et compressés avec GZIP par défaut.

Remarque : seuls les utilisateurs Datadog disposant de l’autorisation logs_write_forwarding_rules peuvent créer, modifier et supprimer des destinations personnalisées pour le transfert de logs.

La page de transfert de logs, avec les destinations personnalisées mises en évidence. La liste des destinations inclut Splunk (filtré par service:logs-processing), HTTP Endpoint (filtré par source:okta OR source:paloalto) et Elasticsearch (filtré par team:acme env:prod).

Si une tentative de transfert échoue (par exemple, si votre destination devient temporairement indisponible), Datadog effectue des tentatives périodiques pendant 2 heures en utilisant une stratégie de délai d’attente (backoff) exponentiel. La première tentative est effectuée après un délai d’une minute. Pour les tentatives ultérieures, le délai augmente progressivement jusqu’à un maximum de 8 à 12 minutes (10 minutes avec une variance de 20 %).

Les métriques suivantes rendent compte des logs qui ont été transférés avec succès, y compris les logs envoyés avec succès après des tentatives, ainsi que les logs qui ont été abandonnés.

  • datadog.forwarding.logs.bytes
  • datadog.forwarding.logs.count

Configurez le transfert de logs vers des destinations personnalisées

L'envoi de logs vers une destination personnalisée se fait en dehors de l'environnement Datadog GovCloud, qui échappe au contrôle de Datadog. Datadog ne saurait être tenu responsable des logs ayant quitté l'environnement Datadog GovCloud, y compris, sans limitation, toute obligation ou exigence que l'utilisateur pourrait avoir concernant FedRAMP, les niveaux d'impact DoD, l'ITAR, la conformité à l'exportation, la résidence des données ou des réglementations similaires applicables à ces logs.

En raison des protocoles de sécurité pour le site, seuls les ports 443 et 8088 sont ouverts pour le transfert de logs. Pour utiliser un port différent, contactez Datadog Support.

  1. Ajoutez les adresses IP du webhook depuis le IP ranges list à la liste d’autorisation.
  2. Accédez à Log Archiving & Forwarding.
  3. Sélectionnez Custom Destinations.
  4. Cliquez sur New Destination.
  5. Saisissez la requête pour filtrer vos logs à transférer. Consultez Search Syntax pour plus d’informations.
  6. Sélectionnez Destination Type.
La page de configuration de la destination, montrant les étapes pour configurer une nouvelle destination.
  1. Saisissez un nom pour la destination.
  2. Dans le champ Define endpoint, saisissez l’endpoint vers lequel vous souhaitez envoyer les logs. L’endpoint doit commencer par https://.
  3. (Facultatif) Désactivez la compression GZIP si votre endpoint HTTP ne prend pas en charge les charges utiles compressées.
  4. Dans la section Configure Authentication, sélectionnez l’un des types d’authentification suivants et fournissez les détails pertinents :
    Type d’authentificationDescriptionExemple
    Basic AuthenticationFournissez le nom d’utilisateur et le mot de passe du compte vers lequel vous souhaitez envoyer les logs.Nom d’utilisateur : myaccount
    Mot de passe : mypassword
    Request HeaderFournissez le nom et la valeur de l’en-tête. Exemple pour Authorization :
    - Saisissez Authorization pour Header Name.
    - Utilisez une valeur d’en-tête formatée comme Basic username:password, encodée en base64.
    Nom de l’en-tête : Authorization
    Valeur de l’en-tête : Basic bXlhY2NvdW50Om15cGFzc3dvcmQ=
  1. Saisissez un nom pour la destination.
  2. Dans la section Configure Destination, saisissez l’endpoint vers lequel vous souhaitez envoyer les logs. L’endpoint doit commencer par https://. Par exemple, saisissez https://<your_account>.splunkcloud.com:8088.
    Remarque : /services/collector/event est automatiquement ajouté à l’endpoint.
  3. Dans la section Configure Authentication, saisissez le jeton Splunk HEC. Consultez Set up and use HTTP Event Collector pour plus d’informations sur le jeton Splunk HEC.
    Remarque : L’accusé de réception de l’indexeur doit être désactivé.
  4. (Facultatif) Dans la section Configure Sourcetype, spécifiez le type de source Splunk à attribuer aux événements transférés. Consultez Why Sourcetype matters pour plus d’informations sur le type de source Splunk. S’il n’est pas défini, le type de source par défaut _json est utilisé. Pour envoyer des événements sans aucun type de source, sélectionnez Envoyer sans type de source.
  1. Saisissez un nom pour la destination.
  2. Dans la section Configure Destination, saisissez les détails suivants :
    ParamètreDescriptionExemple
    EndpointSaisissez l’endpoint vers lequel vous souhaitez envoyer les logs. L’endpoint doit commencer par https://.https://<your_account>.us-central1.gcp.cloud.es.io (Elasticsearch)
    Destination Index NameIndiquez le nom de l’index de destination vers lequel vous souhaitez envoyer les logs.your_index_name
    Index RotationSélectionnez éventuellement la fréquence de création d’un nouvel index : No Rotation, Every Hour, Every Day, Every Week, Every Month. La valeur par défaut est No Rotation.Every Day
  3. Dans la section Configure Authentication, saisissez le nom d’utilisateur et le mot de passe de votre compte Elasticsearch.
  1. Saisissez un nom pour la destination.
  2. L’authentification pour le Microsoft Sentinel Forwarder nécessite une inscription d’application configurée via l’intégration Azure de Datadog. Si vous disposez déjà d’une inscription d’application pour l’intégration Azure, vous pouvez la réutiliser au lieu d’en créer une nouvelle.
  3. Dans la section Configure Destination, saisissez les détails suivants :
    ParamètreDescriptionExemple
    Logs Ingestion EndpointSaisissez l’endpoint sur le Data Collection Endpoint (DCE) vers lequel les logs sont envoyés. Ceci est étiqueté « Logs Ingestion » sur la page de présentation du DCE.https://my-dce-5kyl.eastus-1.ingest.monitor.azure.com
    Immutable IDSpécifiez l’ID immuable de la règle de collecte de données (DCR) où les routes de journalisation sont définies, tel qu’indiqué sur la page de présentation de la DCR sous « Immutable Id ». Remarque : Assurez-vous que le rôle Éditeur de métriques de surveillance est attribué dans les paramètres IAM de la DCR.dcr-000a00a000a00000a000000aa000a0aa
    Stream Declaration NameIndiquez le nom de la déclaration de flux cible trouvée dans le JSON de ressource de la DCR sous streamDeclarations.Custom-MyTable
  1. Saisissez un nom pour la destination.

  2. L’authentification pour le Google Chronicle Forwarder nécessite l’utilisation d’un compte de service GCP avec un accès en écriture à Chronicle.

  3. Dans la section Configure Destination, saisissez les détails suivants :

    ParamètreDescriptionExemple
    Customer IDL’ID client Chronicle fourni par Google.abcd1234
    Regional EndpointL’URL de l’endpoint de l’API d’ingestion Chronicle basée sur votre région. Remarque : Assurez-vous que le rôle Éditeur de métriques de surveillance est attribué dans les paramètres IAM de la DCR.https://us.chronicle.googleapis.com
    NamespaceL’espace de noms dans lequel vos logs Chronicle doivent être ingérés.default
  4. Dans la section Configure authentication settings, saisissez les détails suivants :

    ParamètreDescriptionExemple
    Project IDL’ID du projet GCP associé à l’instance Chronicle.my-gcp-chronicle-project
    Private Key IDL’ID de la clé privée provenant des informations d’identification de votre compte de service.0123456789abcdef
    Private KeyLa clé privée provenant des informations d’identification de votre compte de service.-----BEGIN PRIVATE KEY-----\nMIIE...
    Client EmailL’adresse e-mail du compte de service.chronicle-writer@my-gcp-chronicle-project.iam.gserviceaccount.com
    Client IDL’ID client des informations d’identification de votre compte de service.123456789012345678901
  1. Dans la section Select Tags to Forward :
    1. Sélectionnez si vous souhaitez inclure All tags, No tags ou Specific Tags.
    2. Sélectionnez si vous souhaitez Include ou Exclude specific tags, et spécifiez les tags à inclure ou à exclure.
  2. Cliquez sur Save.

Sur la page Log Forwarding, survolez le statut d’une destination pour voir le pourcentage de logs qui ont correspondu aux critères de filtrage et qui ont été transférés au cours de la dernière heure.

Modifier une destination

  1. Accédez à Log Forwarding.
  2. Sélectionnez Custom Destinations pour afficher la liste de toutes les destinations existantes.
  3. Cliquez sur le bouton Edit pour la destination que vous souhaitez modifier.
  4. Effectuez les modifications sur la page de configuration.
  5. Cliquez sur Save.

Supprimer une destination

  1. Accédez à Log Forwarding.
  2. Sélectionnez Custom Destinations pour afficher la liste de toutes les destinations existantes.
  3. Cliquez sur le bouton Delete pour la destination que vous souhaitez supprimer, et cliquez sur Confirm. Cela supprime la destination de la liste des destinations configurées et les logs ne lui sont plus transférés.

Pour aller plus loin