A ferramenta Datadog é utilizada para visualizar os logs de produção. Ele pode ser instalado em uma máquina MacOSX. A ferramenta é escrita em Java e pode ser usada para monitorar aplicativos Java. É gratuito e está disponível gratuitamente no site da empresa. As instruções abaixo são para a instalação local.
Vamos começar com “por que” alguém deveria se preocupar em configurar o Datadog na máquina local. Posso compartilhar minha motivação para configurá-lo
Meu forte 'porquê': tentando entender os testes esquisitos:
Tínhamos um amplo conjunto de testes de ponta a ponta com alta cobertura. Mas, infelizmente, os testes ficaram cada vez mais esquisitos com o tempo. Para minha consternação, quando os testes eram executados isoladamente, eles passavam. Quando executávamos todo o conjunto de testes, muitos testes começavam a falhar. Os logs do aplicativo correspondentes aos testes devem nos ajudar na depuração. Mas eu não conseguia nem entender onde os logs de um determinado teste começavam e terminavam, muito menos entendê-los.
Datadog para o resgate 🦸!
nós temos usado em nosso projeto para visualizar os logs de produção e achamos super útil. Foi quando tive uma epifania! E se eu configurar o Datadog localmente para dissecar esses logs? E foi isso que desencadeou o conteúdo desta postagem no blog.
Nosso aplicativo é escrito em Java e minha máquina local roda em MacOS. Você pode ajustar as etapas abaixo para atender às suas necessidades.
O que você precisa para configurar:
Inscreva-se no Datadog . Nosso escopo aqui é apenas depuração local, então um deve ser suficiente.
Datadog Agent é o software que monitora o host no qual é executado. Configurações como nome do serviço, ambiente, etc. podem ser feitas no agente.
, biblioteca Java do cliente APM (App Performance Monitoring) da Datadog. dd-trace-java é um jar que contém APIs para automaticamente ou manualmente e Aplicativos Java.
Passo 1 — Processo de inscrição:
Depois de fornecer seu ID de e-mail e outros detalhes, você será solicitado a escolher sua pilha de tecnologia na próxima página.
depois de clicar em 'Next', vem a parte mais importante. Você receberá as instruções de 'configuração do agente'. Minha máquina local é MacOSX, então escolhi apropriadamente. Anote os valores DD_API_KEY e DD_SITE , pois eles serão usados nas etapas subsequentes.
Passo 2— Instalação do Datadog Agent:
Para MacOS, você pode instalar via (gerenciador de pacotes para MacOS). Use o . ¹
Personalize o datadog-agent conforme mostrado abaixo
Depois que a etapa acima for concluída, você será solicitado a 'Concluir' no Datadog-web-UI.
Você será solicitado a adicionar quaisquer integrations . Você pode adicionar Java , Docker etc (conforme as necessidades do seu projeto).
Passo 3 — Instale o rastreador Datadog:
Baixe o jar dd-java-agent em ²
Para seu aplicativo Java, verifique se você está usando uma versão do Java que vem com um FlightRecorder embutido. Isso é necessário para rastreamento. O OpenJdK8 vem com um FlightRecorder embutido. Se você estiver usando o Oracle Java, precisará de uma licença comercial para usar o **FlightRecorder.**³
Executando seu aplicativo:
adicione as opções de VM para nosso aplicativo java:
Agora inicie seu aplicativo Java. Se o rastreamento estiver ocorrendo corretamente, você deverá ver os logs abaixo:
Fazendo login no Datadog:
Para permitir que os logs sejam transmitidos para o Datadog, siga as instruções na IU da Web do Datadog. ⁴
Para macOS — o diretório de configuração é ~/.datadog-agent/conf.d/java.d e o arquivo está presente em ~/.datadog-agent/conf.d/java.d/conf.yaml
e agora, os logs devem começar a fluir no Datadog.
Algumas dicas:
Adicione logs debug apropriados no início e no final de cada método em seu aplicativo. É muito útil durante a depuração.
Adicione um mecanismo para injetar span id e trace id . É um salva-vidas incrível e coloca os registros no contexto adequado.⁵
Conclusão:
Assim que coloquei o agente Datadog em funcionamento localmente, pude visualizar todas as solicitações contextualmente.
E voilá! Todos os meus testes de ponta a ponta estão passando agora 🙂 Feliz registro!
Informação adicional:
¹Como alternativa, você também pode baixar o e instale-o. Este link também pode ser obtido na etapa 'Configuração do agente' acima (consulte a captura de tela)
²Download direto do jar.
³ A partir do JDK 11, podemos usar FlightRecorder sem ativar nada. Mais detalhes podem ser encontrados .
⁴Mais detalhes estão .
⁵Se seu aplicativo for Java, você pode usar esta biblioteca para adicionar span_id e trace_id à solicitação.