Comencemos con "por qué" debería uno siquiera molestarse en configurar Datadog en la máquina local. Puedo compartir mi motivación para configurarlo
Mi fuerte 'por qué': tratando de dar sentido a las pruebas escamosas:
Tuvimos un extenso conjunto de pruebas de extremo a extremo con alta cobertura. Pero, lamentablemente, las pruebas se volvieron cada vez más escamosas con el tiempo. Para mi consternación, cuando las pruebas se realizaron de forma aislada, pasaban. Cuando ejecutamos todo el conjunto de pruebas, muchas pruebas comenzaban a fallar. Los registros de la aplicación correspondientes a las pruebas deberían ayudarnos a depurar. Pero ni siquiera podía entender dónde comenzaban y terminaban los registros de una prueba en particular, y mucho menos entenderlos.
¡Datadog al rescate 🦸!
hemos estado usando
Nuestra aplicación está escrita en Java y mi máquina local se ejecuta en MacOS. Puede modificar los pasos a continuación para satisfacer sus necesidades.
Qué necesitas para configurar:
- Regístrese en Datadog
aquí . Nuestro alcance aquí es solo la depuración local, por lo que unprueba gratis debería ser suficiente. - Datadog Agent es el software que monitorea el host en el que se ejecuta. Los ajustes como el nombre del servicio, el entorno, etc. se pueden realizar en el agente.
dd-trace-java , la biblioteca Java del cliente APM (App Performance Monitoring) de Datadog.dd-trace-java
es un jar que contiene APIs para automáticamente o manualmenterastro yperfil Aplicaciones Java.
Paso 1 — Proceso de registro:
Después de proporcionar su identificación de correo electrónico y otros detalles, se le pedirá que elija su pila de tecnología en la página siguiente.
después de hacer clic en 'Siguiente', viene la parte más importante. Recibirá las instrucciones de 'configuración del agente'. Mi máquina local es MacOSX, así que la elegí apropiadamente. Anote los valores DD_API_KEY y DD_SITE , ya que se utilizarán en los pasos siguientes.
Paso 2— Instalación del Agente de Datadog:
Para MacOS, puede instalar a través de
Personalice el
datadog-agent
como se muestra a continuación
Después de completar el paso anterior, se le pedirá que "Finalice" en la interfaz de usuario web de Datadog.
- Se le pedirá que agregue cualquier
integrations
. Puede agregarJava
,Docker
, etc. (según las necesidades de su proyecto).
Paso 3: instale el rastreador Datadog:
Descargue el jar de
dd-java-agent
deaquí ²
Para su aplicación Java, asegúrese de estar usando una versión de Java que venga con un FlightRecorder integrado. Esto es necesario para el rastreo. OpenJdK8 viene con un FlightRecorder incorporado. Si usa Oracle Java, necesita una licencia comercial para usar **FlightRecorder.**³
Ejecutando su aplicación:
- agregue las opciones de VM para nuestra aplicación Java:
-javaagent:"/Users/home/Downloads/dd-java-agent.jar" -Ddd.profiling.enabled=true -Ddd.logs.injection=true -Ddd.agent.port=8126 -Ddd.service=ecommerce-service -Ddd.env=local -XX:FlightRecorderOptions=stackdepth=256
- Si está utilizando una tarea
gradle
, puede incluirjvmArgs
como se muestra a continuación:
jvmArgs = ["-javaagent:/Users/home/Downloads/dd-java-agent.jar", "-XX:FlightRecorderOptions=stackdepth=256", "-Ddd.profiling.enabled=true", "-Ddd.logs.injection=true", "-Ddd.agent.port=8126", "-Ddd.service=ecommerce-service", "-Ddd.env=local"]
- Ahora inicie su aplicación Java. Si el seguimiento se realiza correctamente, debería ver los siguientes registros:
Iniciar sesión en Datadog:
- Para habilitar la transmisión de registros a Datadog, siga las instrucciones en la interfaz de usuario web de Datadog. ⁴
- Para
macOS
: el directorio de configuración es~/.datadog-agent/conf.d/java.d
y el archivo está presente en~/.datadog-agent/conf.d/java.d/conf.yaml
y ahora, los
logs
deberían comenzar a fluir en Datadog.
Algunos consejos:
Agregue registros
debug
apropiados al principio y al final de cada método en su aplicación. Es muy útil durante la depuración.
Agregue un mecanismo para inyectar
span id
ytrace id
. Es un salvavidas increíble y pone los troncos en el contexto adecuado.⁵
Conclusión:
Una vez que tuve el agente de Datadog funcionando localmente, pude ver todas las solicitudes contextualmente.
¡Y voilá! Todas mis pruebas de extremo a extremo están pasando ahora 🙂 ¡Feliz inicio de sesión!
Información adicional:
¹Alternativamente, también puede descargar el
paquete dmg e instalarlo. Este enlace también se puede obtener en el paso anterior 'Configuración del agente' (consulte la captura de pantalla)
²Descarga directa del
dd-trace-java frasco.
³ A partir de JDK 11, podemos usar
FlightRecorder
sin activar nada. Se pueden encontrar más detallesaquí .
⁴Más detalles son
aquí .
⁵Si tu aplicación es Java, podrías usar esta librería
primavera-nube-detective para agregarspan_id
ytrace_id
a la solicitud.