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 expéditeur de journaux, consultez la documentation dédiée pour Rsyslog, Syslog-ng, NXlog, FluentD ou Logstash.

Consultez la liste des points de terminaison de collecte de journaux Datadog disponibles 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.

Configuration

  1. Installez le Datadog Agent.
  2. Pour activer la collecte des 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 des journaux de l’Agent Hôte pour plus d’informations et d’exemples.
  3. Une fois activé, l’Agent Datadog peut être configuré pour suivre les fichiers journaux ou écouter les journaux envoyés par UDP/TCP, filtrer les journaux ou supprimer des données sensibles, et agréger des journaux multi-lignes.
  1. Installez le Datadog Agent.
  2. Pour activer la collecte des 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 des journaux de l’Agent Hôte pour plus d’informations et d’exemples.
  3. Suivez les instructions d’installation de votre langage d’application pour configurer un logger et commencer à générer des journaux :
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 Forwarder Datadog, une fonction AWS Lambda qui envoie des journaux de votre environnement vers Datadog. Pour activer la collecte des journaux dans votre environnement sans serveur AWS, consultez la documentation du Forwarder Datadog.

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 des journaux sont liées. Vous pouvez utiliser le fichier de configuration par défaut d’une intégration pour activer des processeurs, l’analyse et les facettes dédiés dans Datadog. Pour commencer la collecte des journaux avec une intégration :

  1. Sélectionnez une intégration sur 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éduisez les frais de transfert de données

Utilisez la surveillance du réseau Cloud de Datadog pour identifier les applications à plus fort 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 l’internet public et réduire vos frais de transfert de données. Après être passé aux 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 à soumettre des journaux depuis votre vérification d’Agent personnalisée, consultez la 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.

Points de terminaison 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 personnalisé ou bibliothèque de journalisation 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 de Datadog pour commencer.

Notes:

  • L’API HTTPS prend en charge des journaux de tailles 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 journal ne doit pas avoir plus de 100 balises, et chaque balise ne doit pas dépasser 256 caractères pour un maximum de 10 millions de balises 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 être inférieure à 1024 caractères si elle est promue en tant que facette.
  • Les événements de journal peuvent être soumis avec un timestamp qui remonte jusqu’à 18 heures 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 y a 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 le Logs Explorer. 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. Remarque : 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.
UETCP 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. Remarque : Ce point de terminaison peut être utile avec d’autres fournisseurs de cloud.
UETCP 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 balises

Les attributs définissent les facettes des journaux, utilisés pour filtrer et rechercher dans l’Explorateur de journaux. Consultez la documentation dédiée aux attributs et à l’aliasing pour consulter la liste des attributs réservés et standards et pour apprendre à appliquer une convention de nommage pour les attributs de journaux et l’aliasing.

Attributs pour les traces de pile

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 la catégorie d’une erreur (par exemple, “Exception” ou “OSError”)

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

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

Prochaines étapes

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

Journaux apparaissant dans l'Explorateur de journaux

Lectures complémentaires


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