Développeurs

Présentation

La section Développeurs contient des références sur le développement pour Datadog. Il peut être intéressant de développer une solution pour Datadog si vous souhaitez visualiser des données jusque là indisponibles dans Datadog. Dans ce cas, il est possible que Datadog prenne d’ores et déjà en charge la technologie dont vous avez besoin. Consultez le tableau des technologies fréquemment demandées pour trouver un produit ou une intégration susceptible de répondre à vos besoins.

Technologies fréquemment demandées

Si vous souhaitez surveiller des données avec Datadog alors qu’elles ne sont actuellement pas prises en charge, avant de développer quoi que ce soit, passez en revue les solutions et intégrations Datadog suivantes :

logo
OpenMetricsThe Agent includes the OpenMetrics check capable of scraping Prometheus endpoints. Metrics retrieved by this integration are considered custom metrics.
logo
JMX BeansThe JMX integration enables collection of metrics, logs, and traces from JVM-based applications. For example, the JMX integration is already used for official integrations like Solr, Tomcat, Cassandra, and more. Metrics generated through JMX-based integrations not natively supported by Datadog are considered custom metrics.
logo
Custom metrics and integrationsSubmit custom metrics for business stats using DogStatsD and the API. Datadog Agent integrations are Python files querying for metrics. All Agent code is open source, so it’s possible to write your own custom Agent check or custom Agent integration. The integrations-extras GitHub repository contains many community-developed custom integrations.
logo
LogsUse Log Management to view, monitor, and analyze the logs from your applications and infrastructure. The Datadog Agent provides advanced functionality for sending logs to your Datadog account, but you can also submit logs directly to the Logs API.
logo
APMAPM and Continuous Profiler provide out-of-the-box performance dashboards for web services, queues, and databases to monitor requests, errors, and latency. You can use the Datadog Tracing Library for your environment and language, whether you are tracing a proxy or tracing across AWS Lambda functions and hosts, using automatic instrumentation, dd-trace-api, or OpenTelemetry.
logo
ProcessesThe Processes integration collects resource usage metrics for specific running processes on any host, such as CPU, memory, I/O, and others. Use Live Process Monitoring (which is like htop without having to SSH) to query across all your running processes.
logo
Files and DirectoriesThe Directory check measures the age of files, the number of files in a directory, or the size of a directory."
logo
EndpointUse the Agent-based HTTP check, or configure Synthetic Monitoring from the Datadog application to validate if an endpoint or URL is running and accessible. Use either option to test both public and private endpoints. Combine with Service Level Objectives, or SLOs to define clear targets for performance.
logo
SNMP and Network TrafficNetwork Device Monitoring enables you to collect SNMP (Simple Network Management Protocol) metrics emitted from network devices, such as routers, switches, and printers. Network Performance Monitoring tracks all network traffic in and out of a host, providing visibility into your network traffic between services, containers, availability zones, and any other tag in Datadog. Connection data at the IP, port, and PID levels is aggregated into application-layer dependencies between meaningful source and destination endpoints.
logo
Cloud ProvidersAll the major Cloud providers (AWS, Azure, GCP, Alibaba) emit metrics through APIs. Use the Datadog integration tiles in your account to configure these integrations, which use Datadog servers to crawl for metrics.
logo
Windows Performance CountersUse the Windows performance counters integration to monitor performance and behavior in Windows environments.

Si la solution dont vous avez besoin n’est pas du tout disponible, vous pouvez contacter l’assistance Datadog pour demander l’ajout d’une fonctionnalité. Il est également possible de créer votre propre solution à l’aide des références de cette page.

Partenaires et Marketplace Datadog

Nos partenaires ont également la possibilité de contribuer à la plateforme Datadog en proposant leur solution sur le Marketplace Datadog ou en développant une intégration communautaire.


Pour découvrir comment devenir partenaire Datadog, rendez-vous sur le site dédié au réseau de partenaires Datadog.

Créer votre propre solution

Vous n’avez pas trouvé d’alternative pour surveiller le type de données souhaité ? Vous disposez de plusieurs options pour envoyer des données non prises en charge à Datadog.

  • DogStatsD est un service d’agrégation de métriques qui prend en charge les métriques custom, les événements et les checks de service.

  • Les checks custom vous permettent de recueillir des métriques à partir d’applications ou de systèmes personnalisés. Les checks custom d’Agent peuvent être utilisés dans de nombreux scénarios. Pour répondre à des besoins plus avancés (par exemple, pour le pré-traitement des métriques), il peut être plus pertinent d’écrire un check OpenMetrics.

  • Les intégrations vous permettent également de recueillir des métriques, des événements et des checks de service à partir d’applications ou de systèmes personnalisés. Elles sont réutilisables. Vous pouvez développer une intégration que vous seul pourrez utiliser, ou écrire une intégration publique incluse dans le référentiel d’intégrations de la communauté Datadog, afin que d’autres développeurs puissent en tirer profit.

Comparaison entre les checks custom et les intégrations

Ce qui différencie avant tout les checks custom des intégrations, c’est que les intégrations sont des composants réutilisables qui peuvent intégrer l’écosystème Datadog. Leur développement est généralement plus difficile et nécessite plus de temps. Elles sont particulièrement utiles pour des outils généraux (frameworks d’application, projets open source ou logiciels couramment utilisés). Si vous souhaitez répondre à des besoins plus spécifiques, par exemple surveiller des services peu utilisés en dehors de votre équipe ou de votre organisation, Datadog vous recommande d’écrire un check custom.

Il peut toutefois être plus pertinent de concevoir une intégration qu’un check custom si votre scénario implique la publication et le déploiement de votre solution en tant que wheel Python (.whl). Les métriques générées par les checks custom sont considérées comme des métriques custom : leur coût est donc calculé en fonction de votre offre d’abonnement. À l’inverse, dès lors qu’une intégration rejoint l’écosystème Datadog, ses métriques ne sont plus considérées comme des métriques custom, et ne sont donc pas comptabilisées dans votre total de métriques custom. Pour en savoir plus sur l’impact de cette particularité sur vos coûts, consultez les tarifs Datadog.

Comment créer une intégration ?

Il est plus difficile de concevoir une intégration publique (à savoir, une intégration incluse dans l’écosystème Datadog, pouvant être installée avec la commande datadog-agent integration et faisant partie du référentiel integrations-extras ou integrations-core de Datadog) qu’une intégration privée. En effet, les intégrations publiques doivent réussir toutes les étapes ddev validate, proposer des tests utilisables et faire l’objet d’un examen de leur code. En tant qu’auteur du code, vous devez vous occuper activement de l’intégration et êtes responsable de son bon fonctionnement.

L’objectif initial est de générer du code permettant de recueillir les métriques souhaitées de façon fiable et de s’assurer que le framework d’intégration général fonctionne correctement. Commencez par développer la fonction de base en tant que check custom, puis ajoutez les détails du framework en suivant les instructions de la section Créer une intégration pour l’Agent.

Ensuite, ouvrez une pull request sur le référentiel integrations-extras. Cela indique à Datadog que vous êtes prêt à commencer à réviser le code ensemble. Ne vous inquiétez pas si vous avez des questions à propos des tests, des procédures internes de Datadog ou d’autres sujets : l’équipe Écosystème est là pour vous aider, et les pull requests constituent le moyen idéal d’aborder ces questions.

Une fois que les fonctionnalités, la conformité du framework et la qualité générale du code de votre intégration ont été validées, cette dernière est ajoutée au référentiel integrations-extras. Elle fait alors officiellement partie de l’écosystème Datadog.

Pour bien choisir l’approche à adopter pour envoyer des données non prises en charge à Datadog, il convient avant tout de tenir compte de la difficulté (durée du développement) et du budget associé (coût des métriques custom). Si vous essayez de visualiser des données que Datadog ne prend pas en charge, commencez par opter pour la méthode qui vous paraît la plus logique :

TypeDifficultéCustom MetricsLangage
DogStatsDMinimaleOuiTous
Check customFaibleOuiPython
Intégration privéeMediumOuiPython
Intégration publiqueHighNonPython

Pourquoi créer une intégration ?

Les checks custom conviennent pour des transmissions occasionnelles, ou si la source de données est unique ou très limitée. Pour des cas d’utilisation plus généraux, comme des frameworks d’application, des projets open source ou un logiciel couramment utilisé, il est conseillé d’écrire une intégration.

Les métriques transmises à partir d’intégrations acceptées ne sont pas considérées comme des métriques custom et n’ont par conséquent aucune incidence sur votre quota autorisé. (Les intégrations qui transmettent des métriques potentiellement illimitées sont toutefois susceptibles d’être considérées comme custom.) En proposant une prise en charge native de Datadog aux utilisateurs, ceux-ci seront plus enclins à adopter votre produit, service ou projet. En outre, le fait de figurer dans l’écosystème Datadog vous garantira également une plus grande visibilité.

Quelle est la différence entre les checks custom et les checks de service ?

Les checks custom, ou checks custom d’Agent, vous permettent d’envoyer des données sur un service interne à Datadog. Les check de service sont bien plus simples : ils surveillent le statut de disponibilité d’un service spécifique. Bien que ces deux outils soient des checks, leur fonctionnement diffère. Ils peuvent être utilisés de façon distincte ou conjointe en fonction de vos besoins en matière de surveillance. Pour en savoir plus sur ces ressources, consultez les sections Checks custom et Check de service.

Envoyer des métriques en fonction du type d’intégration


Envoyer des données en fonction de leur type


Échanger avec la communauté des développeurs


Pour aller plus loin