El uso de Sentry SDK con Error Tracking está en Vista previa.
El uso del SDK de Sentry con Error Tracking te ayuda a migrar a Datadog. Sin embargo, para sacar el máximo partido de Error Tracking, se recomienda utilizar los SDK de Datadog. Consulta Seguimiento de errores frontend y Seguimiento de errores backend.
Información general
Puedes utilizar SDK de Sentry para enviar tus eventos a Datadog, para que puedas empezar a utilizar Error Tracking en aplicaciones existentes, instrumentadas utilizando SDK de Sentry.
La configuración del SDK de Sentry con Datadog requiere un cambio mínimo de código para apuntar el SDK a un nombre de fuente de datos (DSN) de Datadog.
Los eventos y los mensajes de eventos que no son de error aparecen en Datadog como logs en el explorador de logs. No se admiten otros tipos de elementos (trazas (traces), archivos adjuntos, sesiones, etc.).
SDK compatibles
Se comprobó que los siguientes SDK de Sentry funcionan con Error Tracking:
Plataforma
Versión probada
JavaScript
@sentry/node@9.13.0 @sentry/browser@9.13.0
Python
sentry-sdk==2.26.1
Java
io.sentry:sentry:8.6.0
.NET
Sentry 5.5.1
Go
sentry-go v0.32.0
Ruby
sentry-Ruby 5.23.0
Configuración
Requisitos previos
Los eventos de los SDK de Sentry se envían a Datadog como logs. Debes tener activado el Error Tracking para logs para que los errores aparezcan en Error Tracking.
Nota: Por defecto, al activar Error Tracking para logs se activa Error Tracking en todos tus logs. Puedes utilizar reglas para configurar Error Tracking para logs de forma que recopile sólo errores del SDK de Sentry. Para ello, crea una regla para logs con un contexto source:sentry-sdk y crea una regla de exclusión para todos los demás logs.
Configuración del servicio
Para configurar el SDK de Sentry para enviar eventos a Datadog:
Configura un nombre de fuente de datos (DSN) de Datadog. Sigue las instrucciones en la aplicación para generar tu DSN único.
Define una etiqueta (tag) servicio en todos los eventos. Esta acción se utiliza para separar errores y se muestra en la interfaz de usuario Datadog:
Sentry.initdo|config|config.dsn=https://<TOKEN>@sentry-intake.<DD_SITE>/1'
end
Sentry.set_tags('service': 'my-app')
Cargar mapas fuente de JavaScript
Si tu código fuente de JavaScript del frontend está minimizado, puedes cargar mapas de código fuente en Datadog para desofuscar trazas de stack tecnológico en Error Tracking. Consulta Cargar mapas fuente de JavaScript.
La version en los mapas fuente coincide con la releaseconfigurada en el SDK de Sentry.
Integración del código fuente
La integración del código fuente de Datadog te permite conectar tu telemetría con tus repositorios Git. Funciona con los SDK de Sentry configurando etiquetas de telemetría:
La configuración del SDK de Sentry puede utilizarse simultáneamente con la configuración recomendada. Es posible que se notifiquen errores dos veces.
Enviar eventos tanto a Sentry como a Datadog
Los eventos pueden enviarse tanto a Sentry (o a cualquier otro backend compatible con Sentry) como a Datadog. Esto te permite empezar a utilizar Datadog conservando tu solución actual. Existen un par de formas de conseguirlo:
Puedes configurar los SDK de Sentry para enviar eventos a varios DSN a la vez. En la mayoría de los SDK de Sentry, puedes anular el transporte predeterminado para lograr esto.
// Change to import from "@sentry/react", "@sentry/nextjs", etc. as needed
import*asSentryfrom"@sentry/browser";import{makeFetchTransport}from"@sentry/browser";// import { makeNodeTransport } from "@sentry/node" for Node.js
import{makeMultiplexedTransport}from"@sentry/core";constsentryDsn='<SENTRY_DSN>';constdatadogDsn='<DATADOG_DSN>';Sentry.init({dsn:sentryDsn,transport:makeMultiplexedTransport(makeFetchTransport,()=>[sentryDsn,datadogDsn]),// ...
});Sentry.setTag('service','my-app');
El espejo de Sentry es un proxy que replica el tráfico a varios DSN. Lo ejecutas en tu propio entorno y apuntas tus aplicaciones al DSN de entrada del espejo de Sentry.
El espejo de Sentry se configura mediante un archivo YAML:
ip:0.0.0.0port:3000keys:- de entrada:http://1234567890abcdef1234567890abcdef@my-domain.example/123de salida:- <SENTRY_DSN>- <DATADOG_DSN>