paint-brush
Una guía para la depuración local con Datadog Agentpor@hacker5281989
7,311 lecturas
7,311 lecturas

Una guía para la depuración local con Datadog Agent

por Dhivya Dandapani4m2023/03/21
Read on Terminal Reader

Demasiado Largo; Para Leer

La herramienta Datadog se utiliza para visualizar los registros de producción. Se puede instalar en una máquina MacOSX. La herramienta está escrita en Java y se puede utilizar para monitorear aplicaciones Java. Es gratuito y está disponible de forma gratuita en el sitio web de la empresa. Las instrucciones a continuación son para la instalación local.
featured image - Una guía para la depuración local con Datadog Agent
Dhivya Dandapani HackerNoon profile picture
0-item
1-item

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 perro de datos en nuestro proyecto para visualizar los registros de producción y lo encontramos súper útil. ¡Fue entonces cuando tuve una epifanía! ¿Qué pasa si configuro Datadog localmente para diseccionar estos registros? Y eso es lo que desencadenó el contenido de esta publicación de blog.


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:

componentes necesarios para la instalación

  1. Regístrese en Datadog aquí . Nuestro alcance aquí es solo la depuración local, por lo que un prueba gratis debería ser suficiente.
  2. 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.
  3. 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 manualmente rastro y perfil 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.


instrucciones para instalar el agente

Paso 2— Instalación del Agente de Datadog:

Para MacOS, puede instalar a través de elaborar cerveza (administrador de paquetes para MacOS). Utilizar el comandos dados aquí para la instalación . ¹


abra el paquete de cerveza descargado e instálelo usando el asistente

  • Personalice el datadog-agent como se muestra a continuación


personalizar-local-datadog-agent-settings

  • Después de completar el paso anterior, se le pedirá que "Finalice" en la interfaz de usuario web de Datadog.


solicitud para finalizar la configuración de Datadog

  • Se le pedirá que agregue cualquier integrations . Puede agregar Java , Docker , etc. (según las necesidades de su proyecto).

Paso 3: instale el rastreador Datadog:

  • Descargue el jar de dd-java-agent de aquí ²


  • 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 


Argumentos JVM para la aplicación Java



  • Si está utilizando una tarea gradle , puede incluir jvmArgs como se muestra a continuación:

Argumentos de JVM para la tarea de Gradle


 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:

Se inició el seguimiento de Datadog: 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. ⁴

configurar el origen del registro

  • 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

un ejemplo de archivo 'conf.yaml' de local

  • y ahora, los logs deberían comenzar a fluir en Datadog.


registros de perro de datos


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 y trace 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.

Mis pruebas: antes de depurar y después de usar Datadog

¡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 detalles aquí .


  • ⁴Más detalles son aquí .


  • ⁵Si tu aplicación es Java, podrías usar esta librería primavera-nube-detective para agregar span_id y trace_id a la solicitud.