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.
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 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:
Regístrese en Datadog . Nuestro alcance aquí es solo la depuración local, por lo que un 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.
, 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 y 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 (administrador de paquetes para MacOS). Utilizar el . ¹
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 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 ²
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:
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 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.
¡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 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 frasco.
³ A partir de JDK 11, podemos usar FlightRecorder sin activar nada. Se pueden encontrar más detalles .
⁴Más detalles son .
⁵Si tu aplicación es Java, podrías usar esta librería para agregar span_id y trace_id a la solicitud.