Compatibilité entre Datadog et OpenTelemetry
Aperçu
Datadog propose plusieurs options de configuration pour s’adapter à divers cas d’utilisation, allant des implémentations complètes d’OpenTelemetry (OTel) aux configurations hybrides utilisant à la fois OpenTelemetry et des composants Datadog. Cette page couvre la compatibilité entre différentes configurations et les produits et fonctionnalités Datadog pris en charge, vous aidant à choisir la meilleure configuration pour vos besoins.
Configurations
Datadog prend en charge plusieurs configurations pour utiliser OpenTelemetry. La principale différence entre ces configurations réside dans le choix du SDK (OpenTelemetry ou Datadog) et le collecteur utilisé pour traiter et transmettre les données de télémétrie.
Compatibilité des fonctionnalités
Le tableau suivant montre la compatibilité des fonctionnalités à travers différentes configurations :
Prise en charge de l’API
Les SDK Datadog fournissent une prise en charge des API OpenTelemetry Traces, Metrics et Logs dans différents langages. Recherchez votre langue dans le tableau ci-dessous pour les guides de configuration et les détails de support.
Plus de détails
Observabilité LLM
Les traces OpenTelemetry qui ont des attributs d’IA générative sont automatiquement converties en traces d’Observabilité LLM. Pour désactiver cette conversion, voir Désactivation de la conversion d’Observabilité LLM.
Métriques d’exécution
- Configurations du SDK Datadog : Émettre des Métriques d’exécution en utilisant DogStatsD (port UDP 8125). Assurez-vous que DogStatsD est activé dans votre Agent Datadog.
- Configurations du SDK OpenTelemetry : Suivez la spécification des Métriques d’exécution OpenTelemetry et elles sont généralement envoyées en utilisant OTLP (port 4317/4318).
Surveillance des utilisateurs réels (RUM)
Pour activer la fonctionnalité complète de RUM, vous devez injecter les en-têtes pris en charge pour corréler RUM et traces.
Surveillance du réseau cloud (CNM)
La surveillance au niveau des spans ou des points de terminaison n’est pas prise en charge.
Pour plus d’informations, consultez Configuration de la surveillance du réseau cloud.
Intégration du code source
Pour les langages non pris en charge dans les configurations OpenTelemetry, configurez le marquage de télémétrie pour lier les données à un commit spécifique.
Niveaux de support
Datadog fournit différents niveaux de prise en charge pour les composants et configurations OpenTelemetry :
Bien que le Collecteur OpenTelemetry puisse être déployé dans de nombreux environnements, certaines plateformes ont des limitations spécifiques ou des exigences de support.
- AWS EKS Fargate : Cet environnement n’est pas actuellement supporté et entraînera une facturation incorrecte des hôtes d’infrastructure lorsqu’il est utilisé avec le Collecteur OpenTelemetry. Un support officiel est prévu pour une future version. Consultez le guide de configuration du Collecteur pour les informations les plus récentes.
Meilleures pratiques
Lors de l’utilisation de Datadog et d’OpenTelemetry ensemble, Datadog recommande les meilleures pratiques suivantes pour garantir des performances optimales et éviter d’éventuels problèmes :
- Évitez l’instrumentation mixte : Dans la plupart des cas, vous ne devez pas utiliser à la fois un SDK Datadog et un SDK OpenTelemetry dans la même application, car cela entraîne un comportement indéfini.
- Exception : Le support de certains langages, comme Python, nécessite que le SDK Datadog et le SDK OpenTelemetry soient installés.
- Suivez toujours la documentation d’instrumentation spécifique à chaque langage8 pour vous assurer que vous utilisez la configuration correcte et prise en charge.
- Évitez l’Agent et le Collecteur séparé sur le même hôte : Ne faites pas fonctionner l’Agent Datadog et un Collecteur OpenTelemetry séparé sur le même hôte, car cela peut causer des problèmes. Cependant, vous pouvez exécuter des Agents et des Collecteurs sur des hôtes différents au sein de la même flotte.
Lectures complémentaires
Documentation, liens et articles supplémentaires utiles: