Collecte de logs et intégrations

Aperçu

Choisissez une option de configuration ci-dessous pour commencer à ingérer vos journaux. Si vous utilisez déjà un démon de transfert de journaux, consultez la documentation dédiée pour Rsyslog, Syslog-ng, NXlog, FluentD ou Logstash.

Consultez la liste des points de collecte de journaux disponibles de Datadog si vous souhaitez envoyer vos journaux directement à Datadog.

Remarque : Lors de l’envoi de journaux au format JSON à Datadog, il existe un ensemble d’attributs réservés qui ont une signification spécifique au sein de Datadog. Consultez la section des Attributs Réservés pour en savoir plus.

Implémentation

  1. Installez l’Agent Datadog.
  2. Pour activer la collecte de journaux, changez logs_enabled: false en logs_enabled: true dans le fichier de configuration principal de votre Agent (datadog.yaml). Consultez la documentation de collecte de journaux de l’Agent Hôte pour plus d’informations et d’exemples.
  3. Une fois la collecte activée, vous pouvez configurer l’Agent Datadog afin de suivre les fichiers de log ou de détecter les logs envoyés via UDP/TCP, de filtrer les logs ou de nettoyer les données sensibles et d’agréger les logs multiligne.
  1. Installez l’Agent Datadog.
  2. Pour activer la collecte de journaux, changez logs_enabled: false en logs_enabled: true dans le fichier de configuration principal de votre Agent (datadog.yaml). Consultez la documentation de collecte de journaux de l’Agent Hôte pour plus d’informations et d’exemples.
  3. Suivez les instructions d’installation correspondant au langage de votre application pour configurer un logger et commencer à générer des logs :
Java
Python
go
Ruby
.Net
PHP
Node.js
Javascript
React Native
Android
ios
Flutter
Roku
Kotlin Multiplatform

Choisissez un fournisseur de conteneurs ou d’orchestrateurs et suivez les instructions relatives à la collecte de logs :

Docker
Kubernetes
Red Hat OpenShift
Amazon ECS
ECS Fargate

Remarques :

Utilisez le Datadog Forwarder, une fonction AWS Lambda qui expédie les journaux de votre environnement vers Datadog. Pour activer la collecte de journaux dans votre environnement sans serveur AWS, consultez la documentation du Datadog Forwarder.

Sélectionnez votre fournisseur de Cloud ci-dessous pour savoir comment recueillir automatiquement vos logs et les transférer à Datadog :

Docker
Kubernetes
Amazon ECS
Oracle Cloud Infrastructure
Amazon ECS

Les intégrations Datadog et la collecte de journaux sont liées. Vous pouvez utiliser le fichier de configuration par défaut d’une intégration pour activer des processeurs, analyses et facettes dédiés dans Datadog. Pour commencer la collecte de journaux avec une intégration :

  1. Sélectionnez une intégration depuis la page des intégrations et suivez les instructions de configuration.
  2. Suivez les instructions de collecte des journaux de l’intégration. Cette section explique comment décommenter la section des journaux dans le fichier conf.yaml de cette intégration et le configurer pour votre environnement.

Réduire les frais de transfert de données

Utilisez le Monitoring Réseau Cloud de Datadog pour identifier les applications à plus haut débit de votre organisation. Connectez-vous à Datadog via des connexions privées prises en charge et envoyez des données sur un réseau privé pour éviter Internet public et réduire vos frais de transfert de données. Après avoir basculé vers des liens privés, utilisez les outils de Gestion des Coûts Cloud de Datadog pour vérifier l’impact et surveiller la réduction de vos coûts cloud.

Pour plus d’informations, consultez Comment envoyer des logs à Datadog tout en réduisant les frais de transfert de données (en anglais).

Si vous développez une intégration d’Agent personnalisée, vous pouvez soumettre des journaux de manière programmatique depuis votre vérification d’Agent en utilisant la méthode send_log. Cela permet à votre intégration personnalisée d’émettre des journaux aux côtés des métriques, des événements et des vérifications de service.

Pour apprendre comment soumettre des journaux depuis votre vérification d’Agent personnalisée, consultez Collecte des Journaux d’Intégration d’Agent.

Options de configuration supplémentaires

Points de terminaison de journalisation

Datadog fournit des points de terminaison de journalisation pour les connexions SSL chiffrées et non chiffrées. Utilisez le point de terminaison chiffré lorsque cela est possible. L’Agent Datadog utilise le point de terminaison chiffré pour envoyer des journaux à Datadog. Plus d’informations sont disponibles dans la documentation de sécurité de Datadog.

Endpoints pris en charge

Utilisez le menu déroulant situé à droite de la page pour sélectionner votre site Datadog et afficher les endpoints qu’il prend en charge.

SiteTypePoint de terminaisonPortDescription
HTTPS443Utilisé par le forwarder personnalisé pour envoyer des journaux au format JSON ou texte brut via HTTPS. Consultez la documentation de l’API HTTP des journaux.
HTTPS443Utilisé par l’Agent pour envoyer des journaux au format JSON via HTTPS. Consultez la documentation de collecte des journaux de l’Agent Hôte.
HTTPS443Utilisé par les fonctions Lambda pour envoyer des journaux au format brut, Syslog ou JSON via HTTPS.
HTTPSlogs.443Utilisé par le SDK du Navigateur pour envoyer des journaux au format JSON via HTTPS.

Transfert de journaux personnalisé

Tout processus ou bibliothèque de journalisation personnalisée capable de transférer des journaux via HTTP peut être utilisé en conjonction avec Datadog Logs.

Vous pouvez envoyer des journaux à la plateforme Datadog via HTTP. Référez-vous à la documentation de l’API HTTP des journaux Datadog pour commencer.

Notes :

  • L’API HTTPS prend en charge des journaux d’une taille allant jusqu’à 1 Mo. Cependant, pour des performances optimales, il est recommandé qu’un journal individuel ne dépasse pas 25 Ko. Si vous utilisez l’Agent Datadog pour la journalisation, il est configuré pour diviser un journal à 900 Ko (900000 octets).
  • Un événement de log ne doit pas avoir plus de 100 tags, et chaque tag ne doit pas dépasser 256 caractères pour un maximum de 10 millions de tags uniques par jour.
  • Un événement de journal converti au format JSON doit contenir moins de 256 attributs. Chacune des clés de ces attributs doit comporter moins de 50 caractères, être imbriquée en moins de 20 niveaux successifs, et leur valeur respective doit comporter moins de 1024 caractères si promue en facette.
  • Les événements de log peuvent être envoyés avec un timestamp jusqu’à 18 h dans le passé.
Aperçu disponible : Vous pouvez soumettre des journaux des 7 derniers jours, au lieu de la limite actuelle de 18 heures. Inscrivez-vous pour l'Aperçu.

Les événements de journal qui ne respectent pas ces limites peuvent être transformés ou tronqués par le système ou non indexés s’ils sont en dehors de la plage horaire fournie. Cependant, Datadog essaie de préserver autant de données utilisateur que possible.

Il existe une troncature supplémentaire dans les champs qui s’applique uniquement aux journaux indexés : la valeur est tronquée à 75 Ko pour le champ message et 25 Ko pour les champs non-message. Datadog stocke toujours le texte complet, et il reste visible dans les requêtes de liste régulières dans l’Explorateur de journaux. Cependant, la version tronquée sera affichée lors de l’exécution d’une requête groupée, comme lors du regroupement des journaux par ce champ tronqué ou lors de l’exécution d’opérations similaires qui affichent ce champ spécifique.

TCP log collection is not supported. Datadog provides no delivery or reliability guarantees when using TCP, and log data may be lost without notice. For reliable ingestion, use the HTTP intake endpoint, an official Datadog Agent, or forwarder integration instead. For more information, see Log Collection.
SiteTypePoint de terminaisonPortDescription
USTCPagent-intake.logs.datadoghq.com10514Utilisé par l’Agent pour envoyer des journaux sans TLS.
USTCP et TLSagent-intake.logs.datadoghq.com10516Utilisé par l’Agent pour envoyer des journaux avec TLS.
USTCP et TLSintake.logs.datadoghq.com443Utilisé par des transmetteurs personnalisés pour envoyer des journaux au format brut, Syslog ou JSON via une connexion TCP chiffrée SSL.
USTCP et TLSfunctions-intake.logs.datadoghq.com443Utilisé par les fonctions Azure pour envoyer des journaux au format brut, Syslog ou JSON via une connexion TCP chiffrée SSL. Note: Ce point de terminaison peut être utile avec d’autres fournisseurs de cloud.
USTCP et TLSlambda-intake.logs.datadoghq.com443Utilisé par les fonctions Lambda pour envoyer des journaux au format brut, Syslog ou JSON via une connexion TCP chiffrée SSL.
EUTCP et TLSagent-intake.logs.datadoghq.eu443Utilisé par l’Agent pour envoyer des journaux au format protobuf via une connexion TCP chiffrée SSL.
EUTCP et TLSfunctions-intake.logs.datadoghq.eu443Utilisé par les fonctions Azure pour envoyer des journaux au format brut, Syslog ou JSON via une connexion TCP chiffrée SSL. Note: Ce point de terminaison peut être utile avec d’autres fournisseurs de cloud.
EUTCP et TLSlambda-intake.logs.datadoghq.eu443Utilisé par les fonctions Lambda pour envoyer des journaux au format brut, Syslog ou JSON via une connexion TCP chiffrée SSL.

Attributs et étiquettes

Les attributs prescrivent les facettes des journaux, qui sont utilisés pour le filtrage et la recherche dans l’Explorateur de journaux. Consultez la documentation dédiée aux attributs et à l’aliasing pour une liste des attributs réservés et standard et pour apprendre à soutenir une convention de nommage avec les attributs de journaux et l’aliasing.

Attributs pour les stack traces

Lorsque vous enregistrez des traces de pile, des attributs spécifiques disposent d’un affichage de l’interface utilisateur dédié au sein de votre application Datadog, comme le nom du logger, le thread actuel, le type d’erreur et la trace de pile.

Attributs pour une trace de pile analysée

Pour activer ces fonctionnalités, utilisez les noms d’attribut suivants :

AttributDescription
logger.nameNom du logger
logger.thread_nameNom du thread actuel
error.stackTrace de pile actuelle
error.messageMessage d’erreur contenu dans la trace de pile
error.kindLe type ou le “genre” d’une erreur (par exemple, “Exception” ou “OSError”)

Note : Par défaut, les pipelines d’intégration tentent de remapper les paramètres de la bibliothèque de journalisation par défaut à ces attributs spécifiques et d’analyser les traces de pile ou les retours en arrière pour extraire automatiquement le error.message et le error.kind.

Pour en savoir plus, consultez la documentation relative aux attributs de code source.

Étapes suivantes

Une fois les journaux collectés et ingérés, ils sont disponibles dans Log Explorer. Log Explorer est l’endroit où vous pouvez rechercher, enrichir et visualiser des alertes sur vos journaux. Consultez la documentation de Log Explorer pour commencer à analyser vos données de journal, ou consultez la documentation supplémentaire sur la gestion des journaux ci-dessous.

Journaux apparaissant dans le Log Explorer

Lectures supplémentaires


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