Configurar Data Streams Monitoring para Java
Requisitos previos
Bibliotecas compatibles
Instalación
Java utiliza la instrumentación automática para inyectar y extraer metadatos adicionales requeridos por Data Streams Monitoring para medir latencias de extremo a extremo y la relación entre colas y servicios. Para habilitar Data Streams Monitoring, configura la variable de entorno DD_DATA_STREAMS_ENABLED
en true
en servicios que envían mensajes a (o que consumen mensajes de) Kafka, SQS o RabbitMQ.
Además, configura la variable DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED
en true
de modo que DD_SERVICE
se utilice como nombre de servicio en trazas (traces).
Por ejemplo:
entorno:
- DD_DATA_STREAMS_ENABLED: "true"
- DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED: "true"
Como alternativa, puedes configurar la propiedad del sistema -Ddd.data.streams.enabled=true
ejecutando lo siguiente cuando inicies tu aplicación Java:
java -javaagent:/path/to/dd-java-agent.jar -Ddd.data.streams.enabled=true -Ddd.trace.remove.integration-service-names.enabled=true -jar path/to/your/app.jar
Instalación con un solo clic
Para configurar Data Streams Monitoring desde la interfaz de usuario Datadog sin necesidad de reiniciar tu servicio, utiliza la configuración en tiempo de ejecución. Ve a la página de servicios APM y Enable DSM
.
Monitorización de pipelines de SQS
Data Streams Monitoring utiliza un atributo de mensaje para rastrear la ruta de un mensaje a través de una cola SQS. Como Amazon SQS tiene un límite máximo de 10 atributos de mensaje permitidos por mensaje, todos los mensajes transmitidos a través de los pipelines de datos deben tener 9 o menos atributos de mensaje definidos, lo que permite que el atributo restante sea para Data Streams Monitoring.
Monitorización de pipelines SNS a SQS
Para monitorizar un pipeline de datos en el que Amazon SNS habla directamente con Amazon SQS, debes realizar los siguientes pasos adicionales de configuración:
Monitorización de pipelines de Kinesis
No existen atributos de mensaje en Kinesis para propagar el contexto y seguir la ruta completa de un mensaje a través de un flujo (stream) de Kinesis. Como resultado, las métricas de latencia de extremo a extremo de Data Streams Monitoring se aproximan sumando la latencia en segmentos de la ruta de un mensaje, desde el servicio productor, a través del flujo de Kinesis, hasta un servicio consumidor. Las métricas de rendimiento se basan en segmentos desde el servicio productor, a través de un flujo de Kinesis, hasta el servicio consumidor. La topología completa de los flujos de datos puede seguir visualizándose a través de los servicios de instrumentación.
Instrumentación manual
Data Streams Monitoring propaga el contexto a través de las cabeceras de los mensajes. Si utilizas una tecnología de cola de mensajes no compatible con DSM, una tecnología sin cabeceras (como Kinesis) o Lambda, utiliza la instrumentación manual para configurar DSM.
Para leer más
Más enlaces, artículos y documentación útiles: