Aperçu

Les pipelines et processeurs décrits dans cette documentation sont spécifiques aux environnements de journalisation basés sur le cloud. Pour agréger, traiter et acheminer les journaux sur site, consultez Pipelines d'observabilité.

Datadog analyse automatiquement les journaux au format JSON. Vous pouvez ensuite ajouter de la valeur à tous vos journaux (bruts et JSON) en les envoyant à travers un pipeline de traitement. Les pipelines traitent tous les formats de logs et les convertissent en un format commun dans Datadog. La mise en œuvre d’une stratégie de pipelines et de traitement des journaux est bénéfique, car elle introduit une convention de nommage des attributs pour votre organisation.

Avec les pipelines, les journaux sont analysés et enrichis en passant séquentiellement par des processeurs. Cela extrait des informations ou des attributs significatifs à partir d’un texte semi-structuré pour les réutiliser sous forme de facettes. Chaque journal qui passe par les pipelines est testé contre chaque filtre de pipeline. S’il correspond à un filtre, tous les processeurs sont appliqués séquentiellement avant de passer au pipeline suivant.

Les pipelines et processeurs peuvent être appliqués à tout type de journal. Vous n’avez pas besoin de modifier la configuration de journalisation ou de déployer des changements à des règles de traitement côté serveur. Tout peut être configuré dans la page de configuration des pipelines.

Remarque : Pour une utilisation optimale de la solution de gestion des journaux, Datadog recommande d’utiliser au maximum 20 processeurs par pipeline et 10 règles de parsing dans un processeur Grok. Datadog se réserve le droit de désactiver les règles de parsing, les processeurs ou les pipelines moins performants qui pourraient avoir une incidence sur les performances du service de Datadog.

Permissions des pipelines

Les pipelines utilisent le Contrôle d’Accès Granulaire pour gérer qui peut modifier les configurations de pipeline et de processeur. Cela signifie que des permissions peuvent être attribuées à des rôles, des utilisateurs individuels et des équipes, garantissant un contrôle précis sur les ressources des pipelines. Les pipelines sans aucune restriction sont considérés comme non restreints, ce qui signifie que tout utilisateur ayant la permission logs_write_pipelines peut modifier le pipeline et ses processeurs.

Configuration des permissions des pipelines dans Datadog

Pour chaque pipeline, les administrateurs peuvent choisir les portées d’édition suivantes :

  • Éditeur : Seuls les utilisateurs, équipes ou rôles spécifiés peuvent modifier la configuration du pipeline et des processeurs.
  • Éditeur de Processeurs : Seuls les processeurs (y compris les pipelines imbriqués) peuvent être modifiés par les utilisateurs, équipes ou rôles spécifiés. Personne ne peut modifier les attributs du pipeline, tels que sa requête de filtre ou son ordre dans la liste globale des pipelines.
Accorder à un utilisateur l'accès à la liste des restrictions d'un pipeline n'accorde pas automatiquement les logs_write_pipelines ou logs_write_processors permissions. Les administrateurs doivent accorder ces permissions séparément.

Vous pouvez gérer ces permissions de manière programmatique via API et Terraform.

Prétraitement

Le prétraitement des journaux JSON se produit avant que les journaux n’entrent dans le traitement du pipeline. Le prétraitement exécute une série d’opérations basées sur des attributs réservés, tels que timestamp, status, host, service et message. Si vous avez des noms d’attributs différents dans vos journaux JSON, utilisez le prétraitement pour mapper vos noms d’attributs de journal à ceux de la liste des attributs réservés.

Le prétraitement des journaux JSON est livré avec une configuration par défaut qui fonctionne pour les expéditeurs de journaux standard. Pour modifier cette configuration afin d’adapter des approches d’expédition de journaux personnalisées ou spécifiques :

  1. Accédez à Pipelines dans Datadog et sélectionnez Prétraitement pour les journaux JSON.

    Remarque : Le prétraitement des journaux JSON est le seul moyen de définir l’un de vos attributs de journal comme host pour vos journaux.

  2. Modifier le mappage par défaut en fonction de l’attribut réservé :

Attribut source

Si un fichier journal au format JSON inclut l’attribut ddsource, Datadog interprète sa valeur comme la source du journal. Pour utiliser les mêmes noms de source que ceux utilisés par Datadog, consultez la Bibliothèque de pipeline d’intégration.

Remarque : Les journaux provenant d’un environnement conteneurisé nécessitent l’utilisation d’une variable d’environnement pour remplacer les valeurs par défaut de source et de service.

Attribut hôte

L’utilisation de l’Agent Datadog ou du format RFC5424 définit automatiquement la valeur de l’hôte dans vos journaux. Cependant, si un fichier journal au format JSON inclut l’attribut suivant, Datadog interprète sa valeur comme l’hôte du journal :

  • host
  • hostname
  • syslog.hostname

Remarque : Dans Kubernetes, si un journal JSON ingéré par l’Agent Datadog contient une clé d’attribut host, hostname ou syslog.hostname, cette valeur remplace le nom d’hôte par défaut de l’Agent pour ce journal. En conséquence, le journal n’hérite pas des balises de niveau hôte attendues, qui sont définies au niveau de l’hôte, du bon hôte. Dans ce cas, Datadog recommande de supprimer ces attributs pour s’assurer que vos journaux peuvent être attribués aux bons hôtes.

Attribut date

Par défaut, Datadog génère un horodatage et l’ajoute dans un attribut de date lorsque les journaux sont reçus. Cependant, si un fichier journal au format JSON inclut l’un des attributs suivants, Datadog interprète sa valeur comme la date officielle du journal :

  • @timestamp
  • timestamp
  • _timestamp
  • Timestamp
  • eventTime
  • date
  • published_date
  • syslog.timestamp

Vous pouvez préciser des attributs alternatifs à utiliser comme source pour la date d’un log en définissant un processeur de remappage de dates de log.

Remarque : Datadog rejette une entrée de journal si sa date officielle est antérieure de plus de 18 heures.

Les formats de date reconnus sont : ISO8601, UNIX (le format EPOCH en millisecondes), et RFC3164.

Attribut message

Par défaut, Datadog ingère la valeur du message comme le corps de l’entrée du journal. Cette valeur est ensuite mise en évidence et affichée dans le Log Explorer, où elle est indexée pour la recherche en texte intégral. Cependant, si un fichier journal au format JSON inclut l’un des attributs suivants, Datadog interprète sa valeur comme le message officiel du journal :

  • message
  • msg
  • log

Vous pouvez préciser des attributs alternatifs à utiliser comme source pour le message d’un log en définissant un processeur de remappage de messages de log.

Attribut statut

Chaque entrée de journal peut spécifier un niveau de statut qui est disponible pour la recherche facettée dans Datadog. Cependant, si un fichier journal au format JSON inclut l’un des attributs suivants, Datadog interprète sa valeur comme le statut officiel du journal :

  • status
  • severity
  • level
  • syslog.severity

Vous pouvez préciser des attributs alternatifs à utiliser comme source pour le statut d’un log en définissant un processeur de remappage de statut de log.

Attribut de service

L’utilisation de l’Agent Datadog ou du format RFC5424 définit automatiquement la valeur de service dans vos journaux. Cependant, si un fichier journal au format JSON inclut l’attribut suivant, Datadog interprète sa valeur comme le service du journal :

  • service
  • syslog.appname
  • dd.service

Vous pouvez préciser des attributs alternatifs à utiliser comme source pour le service d’un log en définissant un processeur de remappage de services de log.

Attribut ID de trace

Par défaut, les SDK Datadog peuvent automatiquement injecter des ID de trace et de span dans vos journaux. Cependant, si un journal au format JSON inclut les attributs suivants, Datadog interprète leur valeur comme le trace_idSpan ID du journal :

  • dd.trace_id
  • contextMap.dd.trace_id
  • named_tags.dd.trace_id
  • trace_id

Vous pouvez préciser des attributs alternatifs à utiliser comme source pour l’ID de trace d’un log en définissant un processeur de remappage d’ID de trace.

Attribut ID de span

Par défaut, les SDK Datadog peuvent automatiquement injecter des ID de span dans vos journaux. Cependant, si un journal au format JSON inclut les attributs suivants, Datadog interprète leur valeur comme le span_idSpan ID du journal :

  • dd.span_id
  • contextMap.dd.span_id
  • named_tags.dd.span_id
  • span_id

Créer un pipeline

  1. Accédez à Pipelines dans Datadog.

  2. Sélectionnez Nouveau Pipeline.

  3. Sélectionnez un journal dans l’aperçu en temps réel pour appliquer un filtre, ou appliquez votre propre filtre. Choisissez un filtre dans le menu déroulant ou créez votre propre requête de filtre en sélectionnant l’icône ****. Les filtres vous permettent de limiter les types de logs auxquels un pipeline s’applique.

    Remarque : Le filtrage des pipelines est appliqué avant tout processeur du pipeline. Pour cette raison, vous ne pouvez pas filtrer sur un attribut qui est extrait dans le pipeline lui-même.

  4. Nommez votre pipeline.

  5. (Optionnel) Ajoutez une description et des étiquettes au pipeline pour indiquer son objectif et sa propriété. Les étiquettes de pipeline n’affectent pas les journaux, mais peuvent être utilisées pour filtrer et rechercher dans la page des Pipelines.

  6. Appuyez sur Créer.

Voici un exemple de log transformé par un pipeline :

Un exemple de journal transformé par un pipeline.

Pipelines d’intégration

Les pipelines de traitement d’intégration sont disponibles pour certaines sources lorsqu’elles sont configurées pour collecter des journaux. Ces pipelines sont en lecture seule et analysent vos journaux de manière appropriée pour la source particulière. Pour les journaux d’intégration, un pipeline d’intégration est automatiquement installé pour s’occuper de l’analyse de vos journaux et ajoute la facette correspondante dans votre Explorateur de Journaux.

Pour voir un pipeline d’intégration, naviguez vers la page Pipelines. Pour modifier un pipeline d’intégration, clonez-le puis modifiez le clone :

Clonage de pipeline

Consultez l’exemple de logs ELB ci-dessous :

Post-traitement des journaux ELB

Remarque : Les pipelines d’intégration ne peuvent pas être supprimés, seulement désactivés.

Bibliothèque de pipelines d’intégration

Pour voir la liste complète des pipelines d’intégration que Datadog propose, parcourez la bibliothèque de pipelines d’intégration. La bibliothèque de pipelines montre comment Datadog traite différents formats de journaux par défaut.

Pour utiliser un pipeline d’intégration, Datadog recommande d’installer l’intégration en configurant le journal correspondant source. Après que Datadog ait reçu le premier journal avec cette source, l’installation est automatiquement déclenchée et le pipeline d’intégration est ajouté à la liste des pipelines de traitement. Pour configurer la source de journal, consultez la documentation d’intégration correspondante.

Il est également possible de copier un pipeline d’intégration à l’aide du bouton Clone.

Ajoutez un processeur ou un pipeline imbriqué

  1. Naviguez vers Pipelines dans Datadog.
  2. Survolez un pipeline et cliquez sur la flèche à côté pour développer les processeurs et les pipelines imbriqués.
  3. Sélectionnez Ajouter un processeur ou Ajouter un pipeline imbriqué.

Processeurs

Un processeur s’exécute au sein d’un pipeline pour réaliser une action de structuration des données. Consultez la documentation des processeurs pour apprendre à ajouter et configurer un processeur par type de processeur, dans l’application ou via l’API.

Consultez Analyse des dates pour en savoir plus sur les formats de date et d’heure personnalise9s et le parame8tre timezone requis pour les horodatages non-UTC.

Pipelines imbriqués

Les pipelines imbriqués sont des pipelines à l’intérieur d’un pipeline. Utilisez des pipelines imbriqués pour diviser le traitement en deux étapes. Par exemple, utilisez d’abord un filtre de haut niveau tel que l’équipe, puis un second niveau de filtrage basé sur l’intégration, le service ou tout autre tag ou attribut.

Un pipeline peut inclure des pipelines imbriqués et des processeurs, tandis qu’un pipeline imbriqué peut seulement contenir des processeurs.

Pipelines imbriqués

Déplacez un pipeline dans un autre pipeline pour le transformer en pipeline imbriqué :

  1. Survolez le pipeline que vous souhaitez déplacer et cliquez sur l’icône Déplacer vers.
  2. Sélectionnez le pipeline dans lequel vous souhaitez déplacer le pipeline d’origine. Remarque : Les pipelines contenant des pipelines imbrique9s ne peuvent eatre de9place9s qu’e0 une autre position de niveau supe9rieur. Ils ne peuvent pas être déplacés dans un autre pipeline.
  3. Cliquez sur Déplacer.

Gérez vos pipelines

Identifiez quand le dernier changement a été apporté à un pipeline ou à un processeur et quel utilisateur a effectué le changement en utilisant les informations de modification sur le pipeline. Filtrez vos pipelines en utilisant ces informations de modification, ainsi que d’autres propriétés facettées telles que si le pipeline est activé ou en lecture seule.

Comment gérer vos pipelines avec la recherche facettée, les informations de modification de pipeline et la modalité de réorganisation

Réorganisez les pipelines précisément avec l’option Move to dans le panneau d’options glissantes. Faites défiler et cliquez sur la position exacte pour déplacer le pipeline sélectionné à l’aide de la fenêtre modale Move to. Les pipelines ne peuvent pas être déplacés dans d’autres pipelines en lecture seule. Les pipelines contenant des pipelines imbriqués ne peuvent être déplacés qu’à d’autres positions de niveau supérieur. Ils ne peuvent pas être déplacés dans d’autres pipelines.

Comment réorganiser vos pipelines précisément en utilisant la fenêtre modale de déplacement

Clonez des pipelines pour réutiliser des règles et des processeurs existants sans avoir à recommencer. Lorsque vous clonez un pipeline, Datadog désactive automatiquement le pipeline que vous avez cloné. Cliquez sur le bouton pour activer.

Métriques d’utilisation estimées

Les métriques d’utilisation estimées sont affichées pour chaque pipeline. Cela montre le volume et le nombre de journaux étant ingérés et modifiés par chaque pipeline. Chaque pipeline inclut un lien vers le tableau de bord Métriques d’utilisation estimées des journaux prêt à l’emploi. Ce tableau de bord offre des graphiques détaillés des métriques d’utilisation du pipeline.

Comment obtenir une vue rapide des métriques d'utilisation de vos pipelines

Lectures complémentaires


*Logging without Limits est une marque déposée de Datadog, Inc.