Vous pouvez utiliser le plug-in FluentD de Datadog pour transférer directement les logs depuis Fluentd vers votre compte Datadog.
Ajouter des métadonnées à vos logs
Pour tirer pleinement parti de vos logs dans Datadog, vous devez pouvoir compter sur des métadonnées pertinentes (notamment, le hostname et la source). Normalement, les champs hostname et timestamp sont correctement remappés par défaut grâce au remappage d’attributs réservés.
# Associer les événements avec le tag "datadog.**" et
# les envoyer à Datadog
<match datadog.**>
@type datadog
@id awesome_agent
api_key <votre_clé_api>
# Facultatif
include_tag_key true
tag_key 'tag'
# Tags facultatifs
dd_source '<NOM_INTÉGRATION>'
dd_tags '<KEY1:VALUE1>,<KEY2:VALUE2>'
<buffer>
@type memory
flush_thread_count 4
flush_interval 3s
chunk_limit_size 5m
chunk_limit_records 500
</buffer>
</match>
Par défaut, le plug-in est configuré de façon à envoyer des logs via HTTPS (port 443) à l’aide de la compression gzip.
Vous pouvez modifier ce comportement avec les paramètres suivants :
use_http : définissez ce paramètre sur false pour utiliser la connexion TCP. Vous devez modifier les paramètres host et port en conséquence. Valeur par défaut : true.
use_compression : la compression est uniquement disponible pour les transmissions HTTP. Définissez ce paramètre sur false pour la désactiver. Valeur par défaut : true.
compression_level : définissez le niveau de compression via HTTP. Choisissez une valeur entre 1 (ratio le plus faible) et 9 (ratio le plus élevé). Valeur par défaut : 6.
Il est possible d’utiliser des paramètres supplémentaires pour changer l’endpoint utilisé afin de passer par un proxy :
host : l’endpoint proxy pour les logs qui ne sont pas directement transmis à Datadog. Valeur par défaut : http-intake.logs.datadoghq.com.
port : le port proxy pour les logs qui ne sont pas directement transmis à Datadog. Valeur par défaut : 80.
ssl_port : le port utilisé pour les logs transmis via une connexion TCP/SSL sécurisée à Datadog. Valeur par défaut : 443.
use_ssl : indique à l’Agent d’initialiser une connexion TCP/SSL sécurisée vers Datadog. Valeur par défaut : true.
no_ssl_validation : désactive la validation du hostname SSL. Valeur par défaut : false.
Remarque : définissez host et port sur votre région http-intake.logs.datadoghq.com443.
Les tags Datadog s’avèrent indispensables pour passer d’une partie du produit à une autre. De la même façon, il est crucial d’associer des métadonnées pertinentes à vos logs pour passer de la vue d’un conteneur ou de métriques de conteneur aux logs connexes.
Si vos logs contiennent un ou plusieurs des attributs suivants, ces attributs sont automatiquement ajoutés en tant que tags Datadog à vos logs :
kubernetes.container_image
kubernetes.container_name
kubernetes.namespace_name
kubernetes.pod_name
docker.container_id
Bien que l’Agent Datadog recueille automatiquement les métadonnées Docker et Kubernetes, FluentD doit utiliser un plug-in pour y parvenir. Datadog vous conseille d’utiliser fluent-plugin-kubernetes_metadata_filter pour recueillir ces métadonnées.
Exemple de configuration :
# Recueillir les métadonnées des logs avec le tag "kubernetes.**"
<filter kubernetes.*>
type kubernetes_metadata
</filter>
fluentd.is_ok Renvoie OK si fluentd et son agent de surveillance sont en cours d’exécution. Si ce n’est pas le cas, renvoie CRITICAL. Statuses: ok, critical