Des journaux bruts aux données structurées: travailler avec les pipelines de journal de la forme de données

Introduction
Les journaux provenant de différents services suivent souvent des formats incohérents, des conventions de dénomination et des structures. Cela rend difficile la recherche, analyser et corréler les événements sur vos systèmes. La gestion du journal de datadog résout ce défi avec des pipelines, des processeurs et des attributs standard, ce qui vous permet d’extraire des champs clés, de normaliser les attributs et d’enrichir les données de journal à grande échelle. Dans ce blog, nous allons expliquer comment créer un pipeline personnalisé, utiliser le scanner du pipeline pour valider le traitement et appliquer des attributs standard pour unifier les données de journal à partir de plusieurs sources.
Objectif
À la fin de ce blog, vous pourrez faire ce qui suit:
- Créez et modifiez un pipeline de journaux à partir de zéro.
- Gérer les pipelines de journal et le traitement à l’aide du scanner de pipeline
- Ajoutez des attributs standard pour normaliser les noms d’attribut associés entre les journaux traités.
Traitement des journaux de différentes sources
- Datadog suggère d’ingestion des journaux au format JSON. Pourtant, toutes les sources de journal ne peuvent pas être configurées pour produire des journaux dans ce format. De nombreuses sources émettront des journaux en tant que messages texte semi-structurés. Datadog propose des pipelines de journal et des processeurs pour vous aider à extraire les attributs et à améliorer les détails du journal pour ces journaux ingérés.
Log traité par un pipeline d’intégration.
- Datadog dispose de plus de 260 à 270 pipelines d’intégration prédéfinies pour le traitement prêt à l’emploi pour les journaux à partir de sources courantes, telles que les langages de codage populaires, les serveurs Web et les services cloud.
- Lorsque vous configurez l’une de ces sources de gestion des journaux dans Datadog, vous n’avez qu’à inclure la balise source ou l’attribut DDSORCE afin que Datadog sait que les journaux sont ingérés à partir de cette source.
- Datadog ajoutera automatiquement le pipeline d’intégration à votre liste de pipelines afin que les journaux puissent être filtrés et traités par le pipeline d’intégration.
Path de traitement du journal avec des pipelines intégrations dans la liste des pipelines.
- Pour les sources de journal qui n’ont pas de pipeline d’intégration, vous pouvez créer des pipelines de journal à partir de zéro pour traiter les journaux de ces sources selon les besoins.
Pipeline de journal construit à partir de zéro.
- Lorsque vous travaillez avec de nombreuses sources de journal et ajoutez plus de pipelines à votre liste de pipelines, vous devrez gérer les pipelines et optimiser comment les journaux sont traités. Par exemple, vous voudrez savoir si un pipeline traite le bon ensemble de journaux et si le pipeline traite correctement les journaux. Vous pouvez le faire en utilisant le scanner du pipeline.
- Vous constaterez également qu’il existe des attributs communs, tels que Network.Client.ip, qui sont partagés entre différentes sources de journal, telles que Nginx, Apache, etc. Plusieurs fois, ces attributs ont des noms différents car ils proviennent de différentes sources. Par exemple, le client IP pour le réseau de l’utilisateur peut être répertorié avec le nom d’attribut ClientIp, Client, Client_IP ou tout autre nom. Dans Datadog, vous pouvez utiliser la fonction d’attribut standard pour remédier aux différents noms d’un attribut à un nom d’attribut standard.
La fonction d’attribut standard mélange différents noms pour le même attribut à un nom standard.
Scanner de pipeline
- Votre organisation peut avoir des dizaines à des centaines de pipelines qui modifient les journaux de diverses sources. Ces pipelines peuvent être configurés et gérés par différentes équipes pour leurs cas d’utilisation spécifiques, par exemple la surveillance de la sécurité, les audits de conformité et DevOps.
- Lorsque vous envoyez vos journaux à Datadog, vous voudrez vous assurer que les filtres de pipeline correspondent aux journaux entrants et que les pipelines traitent correctement les journaux. Vous pouvez utiliser le scanner Pipeline pour dépanner et gérer la façon dont les journaux sont traités par vos pipelines de journal en temps réel.
- Dans le scanner du pipeline, vous pouvez ajouter des critères de recherche particuliers pour tracer des événements de journal spécifiques et identifier rapidement les pipelines et quels processeurs de ces pipelines traitent les journaux qui correspondent aux critères de recherche. Un exemple de cas d’utilisation du scanner de pipeline est illustré ci-dessous. La colonne à gauche répertorie les journaux qui correspondent aux critères de recherche Source: Webserver « [error]». Le premier journal de la liste a été sélectionné, et la colonne de droite indique le pipeline et les processeurs dans le pipeline (en surbrillance en vert) qui ont traité le journal.
Utilisez le scanner du pipeline pour vous assurer que les processeurs attendus sont appliqués dans un pipeline.
Attributs standard
- La mise en œuvre des attributs standard et de l’aliasing est une partie importante du traitement des journaux. Une convention de dénomination standardisée peut unifier les journaux entre toutes les sources et les équipes, vous permettant d’analyser et de rechercher des données de votre environnement avec une simplicité
- Vous pouvez ajouter un processeur Remapper dans des pipelines individuels pour remédier au nom d’un attribut au nom standard de cet attribut. Mais, si vous avez des journaux de différentes sources avec le même attribut et que vous souhaitez vous assurer que l’attribut a le même nom sur tous les journaux, vous pouvez utiliser un attribut standard au lieu d’ajouter un processeur Remapper. Un attribut standard agit comme un remappeur global pour l’attribut et est appliqué à tous les journaux après l’étape de traitement du pipeline.
- Par exemple, vous avez un environnement avec des sources de journaux ELB et NGINX. ELB et NGINX produisent tous deux des journaux d’accès Web avec des détails similaires, tels que la méthode, le code d’état et l’IP client, mais ils utilisent différentes conventions de dénomination. Il est difficile d’analyser le trafic HTTP sur l’ensemble de l’environnement. ELB étiquette les adresses IP du client en tant que client tandis que Nginx les étiquette en tant que Remote_Addr (les deux sont mis en évidence en rose). Les différents noms rendent difficile d’explorer les activités d’un client spécifiques entre les deux sources.

Journaux ELB et NGINX pour la dénomination des attributs non standard
- Vous pouvez inclure un processeur Remapper dans le pipeline pour chacune de ces sources de journal, ou vous pouvez ajouter un attribut standard, pour remédier à ces noms à un nom standard pour cet attribut. Datadog utilise le réseau préfixe pour identifier automatiquement les informations liées à la communication réseau. Après le remappage, vous pouvez utiliser ce nom d’attribut pour explorer collectivement les données d’adresse IP client à partir de ces sources de journal.

Exemple de définition d’un attribut standard dans la liste des attributs standard.
- L’image ci-dessous montre les journaux des deux sources après la remontage des attributs (mis en évidence en vert).

Journaux ELB et NGINX avec noming d’attribut standard. Les noms d’attribut qui représentent les mêmes données attribut sont mis en évidence avec la même couleur.
Conclusion
Datadog propose plus de 260 pipelines d’intégration prédéfinies pour traiter les journaux à partir de sources courantes. Vous pouvez facilement cloner ces pipelines et les modifier au besoin. Cependant, vous devrez peut-être construire des pipelines de journal personnalisés à partir de zéro pour traiter les journaux semi-structurés à partir de sources peu communes.
Pour rendre l’analyse des journaux plus cohérente, vous pouvez également utiliser des attributs standard pour remapper les attributs communs entre les journaux pour avoir des noms d’attribut standard pour pouvoir rechercher et analyser les données de journal à partir de différentes sources de journal. Combiné avec un scanner de pipeline, vous pouvez vous assurer que les pipelines s’exécutent correctement et résoudre les problèmes de traitement en temps réel.
En appliquant ces méthodes, vous pouvez améliorer la qualité et la cohérence des journaux et également rendre la surveillance, le dépannage et la collaboration transversale plus rapidement et plus efficaces.
Vous pouvez maintenant faire ce qui suit:
- Créez et modifiez un pipeline de journaux à partir de zéro.
- Gérez les pipelines de journal et le traitement à l’aide du scanner de pipeline.
- Ajoutez des attributs standard pour normaliser les noms d’attribut associés entre les journaux traités.
Source link