Desarrolladores

Información general

La sección para desarrolladores contiene material de referencia para desarrollar en Datadog. Es posible que quieras desarrollar en Datadog si hay datos que quieres ver en el producto y que no estás viendo. En ese caso, es posible que Datadog ya sea compatible con la tecnología que necesitas. Consulta la tabla de las tecnologías más solicitadas para encontrar el producto o la integración que satisfaga tus necesidades.

Tecnologías más solicitadas

Si hay datos que quieres monitorizar con Datadog y que no estás viendo, antes de crear algo personalizado, considera los siguientes productos e integraciones de Datadog:

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 solución que necesitas realmente no está disponible, puedes ponerte en contacto con el servicio de asistencia de Datadog para solicitar una función. También puedes crear tu propia solución utilizando los materiales de referencia de esta sección.

Socios y marketplace de Datadog

También puedes ser socio, crear en Datadog y contribuir al marketplace de Datadog o a la comunidad de integraciones de Datadog.


Para obtener más información sobre cómo convertirte en socio de Datadog, visita la página Red de socios de Datadog.

Crear tu propia solución

¿Sigues sin poder ver el tipo de datos que necesitas? Los desarrolladores tienen varias opciones para enviar datos no compatibles a Datadog.

  • DogStatsD es un servicio de agregación de métricas que acepta métricas, eventos y checks de servicios personalizados.

  • Los checks personalizados permiten recopilar métricas de aplicaciones o sistemas personalizados. Los checks personalizados del Agent son adecuados para muchas necesidades. Para requisitos más avanzados como el pre-procesamiento de métricas, puedes optar por escribir un check de OpenMetrics.

  • Las integraciones también permiten recopilar métricas, eventos, y checks de servicios de aplicaciones o sistemas personalizados. Las integraciones son reutilizables. Puedes mantener tu integración privada o contribuir al repositorio de la comunidad integraciones de Datadog escribiendo una integración pública para que la utilicen otros desarrolladores.

Comparación entre checks personalizados e integraciones

La principal diferencia entre los checks personalizados y las integraciones es que estas últimas son componentes reutilizables que pueden volverse parte del ecosistema Datadog. Suelen requerir más esfuerzo (tiempo de desarrollo) y se adaptan mejor a casos de uso general, como marcos de aplicaciones, proyectos de código abierto o software de uso común. Para los escenarios más específicos, como la monitorización de servicios que no se utilizan ampliamente fuera de tu equipo u organización, escribir un check personalizado puede ser la opción más eficaz.

Sin embargo, puedes optar por escribir una integración, en lugar de un check personalizado, si tu caso de uso particular requiere que publiques y despliegues tu solución como un wheel de Python (.whl). Las métricas emitidas mediante checks personalizados se consideran métricas personalizadas que tienen un coste asociado según tu plan de suscripción. Sin embargo, una vez que una integración es aceptada en el ecosistema Datadog, las métricas que emite ya no se consideran métricas personalizadas y no se tienen en cuenta en el recuento de métricas personalizadas. Para obtener más información sobre cómo esto puede afectar al coste, consulta Tarifas de Datadog.

¿Cómo se crea una integración?

Escribir una integración pública (es decir, una que forme parte del ecosistema Datadog, pueda instalarse con el comando datadog-agent integration y sea aceptada en los repositorios de integraciones-extras o integraciones-principales de Datadog) requiere más trabajo que una integración privada. Estas integraciones deben superar todos los pasos de ddev validate, deben disponer de tests utilizables y deben someterse a una revisión del código. La persona que crea el código debe encargarse activamente de la integración y es responsable de garantizar su funcionalidad.

El objetivo inicial es generar un código que recopile las métricas deseadas de forma fiable y asegurarse de que el marco general de integración es el correcto. Empieza escribiendo la funcionalidad básica como un check personalizado y, a continuación, rellena los detalles del marco en Crear una integración del Agent.

Luego, abre una solicitud pull en el repositorio de integrations-extras. Esto indica a Datadog que estás listo para que empiecen a revisar el código juntos. No te preocupes si tienes preguntas acerca de los tests, los aspectos internos de Datadog u otros temas. El equipo del ecosistema de Datadog está listo para ayudarte y la solicitud pull es un buen lugar para abordar estas preocupaciones.

Una vez que se han validado la funcionalidad, el cumplimiento del marco y la calidad general del código de la integración, esta se integra a integrations-extras, donde pasa a formar parte del ecosistema Datadog.

A la hora de decidir cómo enviar datos no compatibles a Datadog, las principales consideraciones son el esfuerzo (tiempo de desarrollo) y el presupuesto (coste de métricas personalizadas). Si estás intentando ver datos que no son compatibles con Datadog, empieza por decidir qué método es el más lógico para empezar a enviar datos:

TipoEsfuerzoMétricas personalizadasLenguaje
DogStatsDMás bajoCualquiera
Check personalizadoBajoPython
Integración privadaMedioPython
Integración públicaAltoNoPython

¿Por qué crear una integración?

Los checks personalizados son geniales para informes ocasionales o en los casos en los que el origen de los datos es único o muy limitado. Para casos de uso más general, como marcos de aplicaciones, proyectos de código abierto o software de uso común, tiene más sentido escribir una integración.

Las métricas informadas por las integraciones aceptadas no se contabilizan como métricas personalizadas y, por tanto, no afectan a la asignación de métricas personalizadas. (Las integraciones que emiten métricas potencialmente ilimitadas pueden seguir considerándose personalizadas.) Garantizar la compatibilidad nativa con Datadog reduce la fricción relativa a la adopción e incentiva el uso de tu producto, servicio o proyecto. Además, formar parte del ecosistema Datadog es una buena forma de mejorar la visibilidad.

¿Cuál es la diferencia entre un check personalizado y un check de servicio?

El check personalizado, también conocido como check personalizado del Agent, te permite enviar datos internos de servicios a Datadog. El check de servicio es mucho más sencillo y te permite monitorizar el estado en ascenso o en descenso del servicio específico. Aunque ambos son checks, tienen diferentes funcionalidades y pueden utilizarse juntos o por separado, en función de tus necesidades de monitorización. Para obtener más información sobre cada uno de ellos, consulta las secciones con la documentación de los checks personalizados y los check de servicios.

Envío de métricas por tipos de integración


Envío de datos por tipos de datos


Involucrarse con la comunidad de desarrolladores


Leer más

PREVIEWING: brett0000FF/node-compatibility