Como monitorar aplicativos Spring Boot com o Dynatrace Java OneAgent
Observação
Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
O plano consumo e dedicado Standard será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano dedicado e consumo Standard dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.
Este artigo se aplica a:✅ Consumo padrão e dedicado (versão prévia) ✅ Empresa Básica/Padrão ❎️
Este artigo mostra como usar o Dynatrace OneAgent para monitorar aplicativos do Spring Boot no Azure Spring Apps.
Com o Dynatrace OneAgent é possível:
- Monitorar aplicativos com o Dynatrace OneAgent.
- Configurar o Dynatrace OneAgent usando variáveis de ambiente.
- Verificar todos os dados de monitoramento do painel do Dynatrace.
O vídeo a seguir apresenta o Dynatrace OneAgent.
Pré-requisitos
Ativar o Dynatrace OneAgent
As seções a seguir descrevem como ativar o Dynatrace OneAgent.
Preparar seu ambiente do Azure Spring Apps
- Criar uma instância do Azure Spring Apps.
- Crie um aplicativo que você deseja relatar para o Dynatrace executando o comando a seguir. Substitua os espaços reservados <...> pelos seus próprios valores.
az spring app create \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-name> \ --name <your-application-name> \ --is-public true
Determinar os valores para as variáveis de ambiente necessárias
Para ativar o Dynatrace OneAgent em sua instância do Azure Spring Apps, é necessário configurar quatro variáveis de ambiente: DT_TENANT
, DT_TENANTTOKEN
, DT_CONNECTION_POINT
e DT_CLUSTER_ID
. Para saber mais, confira Integrar o OneAgent com o Azure Spring Apps.
Para aplicativos com várias instâncias, o Dynatrace possui várias maneiras de agrupá-las. DT_CLUSTER_ID
é uma das maneiras. Para obter mais informações, consulte Detecção de grupo do processo.
Adicionar as variáveis de ambiente ao seu aplicativo
Você pode adicionar os pares de chave/valor das variáveis de ambiente ao seu aplicativo usando o portal do Azure ou a CLI do Azure.
Opção 1: CLI do Azure
Para adicionar os pares de chave/valor usando a CLI do Azure, execute o comando a seguir substituindo os espaços reservados <...> pelos valores determinados nas etapas anteriores.
az spring app deploy \
--resource-group <your-resource-group-name> \
--service <your-Azure-Spring-Apps-name> \
--name <your-application-name> \
--artifact-path app.jar \
--env \
DT_TENANT=<your-environment-ID> \
DT_TENANTTOKEN=<your-tenant-token> \
DT_CONNECTION_POINT=<your-communication-endpoint>
Opção 2: portal do Azure
Para adicionar os pares de chave/valor usando o portal do Azure, siga as seguintes etapas:
Na sua instância do Aplicativos Spring do Azure, selecione Aplicativos no painel de navegação.
Selecione o aplicativo na lista e selecione Configuração no painel de navegação.
Use a guia Variáveis de ambiente para adicionar ou atualizar as variáveis usadas pela sua aplicação.
Automatizar o provisionamento
Usando o Terraform, o Bicep ou um modelo do Azure Resource Manager (modelo do ARM), você também pode executar um pipeline de automação de provisionamento. Esse pipeline pode fornecer uma experiência pragmática completa para instrumentar e monitorar novos aplicativos que você criar e implantar.
Automatizar o provisionamento usando o Terraform
Para configurar as variáveis de ambiente em um modelo do Terraform, adicione o seguinte código ao modelo, substituindo os espaços reservados <...> por seus próprios valores. Para saber mais, confira Gerenciar uma Implantação Ativa do Azure Spring Apps.
environment_variables = {
"DT_TENANT": "<your-environment-ID>",
"DT_TENANTTOKEN": "<your-tenant-token>",
"DT_CONNECTION_POINT": "<your-communication-endpoint>",
"DT_CLUSTER_ID": "<your-cluster-ID>"
}
Automatizar o provisionamento usando um arquivo Bicep
Para configurar as variáveis de ambiente em um arquivo Bicep, adicione o seguinte código ao arquivo, substituindo os espaços reservados <...> pelos seus valores. Para obter mais informações, consulte Microsoft.AppPlatform Spring/apps/deployments.
environmentVariables: {
DT_TENANT: '<your-environment-ID>'
DT_TENANTTOKEN: '<your-tenant-token>'
DT_CONNECTION_POINT: '<your-communication-endpoint>'
DT_CLUSTER_ID: '<your-cluster-ID>'
}
Automatizar o provisionamento usando um modelo ARM
Para configurar as variáveis de ambiente em um modelo do ARM, adicione o seguinte código ao modelo, substituindo os espaços reservados <...> por seus próprios valores. Para obter mais informações, consulte Microsoft.AppPlatform Spring/apps/deployments.
"environmentVariables": {
"DT_TENANT": "<your-environment-ID>",
"DT_TENANTTOKEN": "<your-tenant-token>",
"DT_CONNECTION_POINT": "<your-communication-endpoint>",
"DT_CLUSTER_ID": "<your-cluster-ID>"
}
Exibir relatórios no Dynatrace
Esta seção descreve como localizar vários relatórios no Dynatrace.
Observação
O menu do Dynatrace e a interface do usuário evoluem gradualmente. Por esse motivo, o painel pode ser movido para outras seções no site do Dynatrace, e as capturas de tela a seguir podem não refletir a versão atual da interface do usuário.
Depois de adicionar as variáveis de ambiente ao seu aplicativo, o Dynatrace começará a coletar os dados. Para exibir os relatórios, use o menu do Dynatrace, vá até Serviços e, em seguida, selecione seu aplicativo.
É possível encontrar o fluxo do Serviço a partir do <seu nome de aplicativo /Detalhes/Fluxo de serviço:
É possível encontrar o Ponto de acesso do métodoa partir do< seu nome de aplicativo>/Detalhes/Pontos de acesso do método:
É possível encontrar as Instruções de banco de dadosa partir< do seu nome de aplicativo /Detalhes/Análise> do tempo de resposta:
A seguir, vá para a seção Análise multidimensional.
É possível encontrar as Instruções principais de banco de dados em Multidimensional analysis/Top database statements:
É possível encontrar a Visão geral das exceções em Multidimensional analysis/Exceptions overview:
Em seguida, vá para a seção Criação de perfil e otimização.
É possível encontrar a Análise de CPU em Profiling and optimization/CPU analysis:
Em seguida, vá para a seção Banco de dados.
É possível encontrar o Backtrace em Databases/Details/Backtrace:
Exibir logs do Dynatrace OneAgent
Por padrão, o Aplicativos Spring do Azure imprime os logs de nível de informação do Dynatrace OneAgent para STDOUT
. Os logs são misturados com os logs do aplicativo. Você pode encontrar a versão explícita do agente nos logs do aplicativo.
Você também pode obter os logs do agente do Dynatrace nos seguintes locais:
- Logs do Azure Spring Apps
- Application Insights do Azure Spring Apps
- LogStream do Azure Spring Apps
Você pode aplicar algumas variáveis de ambiente fornecidas pelo Dynatrace para configurar o registro em log para o Dynatrace OneAgent. Por exemplo, DT_LOGLEVELCON
controla o nível de registro em log. O valor padrão para DT_LOGLEVELCON
é info
. Você pode desabilitar os logs do agente configurando DT_LOGLEVELCON
para off
. Se o log estiver desabilitado, o suporte da Dynatrace solicitará que você primeiro habilite o log para diagnosticar quaisquer problemas do agente de forma eficaz. Você deve então reiniciar o aplicativo, o que é necessário para que a alteração tenha efeito. Para outros níveis de log, consulte a equipe de suporte da Dynatrace.
Cuidado
Recomendamos vivamente que não substitua o comportamento de registo padrão fornecido pelos Aplicativos Spring do Azure para Dynatrace. Se você fizer isso, os cenários de log descritos anteriormente serão bloqueados e os arquivos de log poderão ser perdidos. Por exemplo, você não deve enviar a variável de ambiente DT_LOGLEVELFILE
para seus aplicativos.
Atualização do Dynatrace OneAgent
A atualização automática do Dynatrace OneAgent está desabilitada e é atualizada trimestralmente com o JDK. A atualização do Agent pode afetar os seguintes cenários:
- Os aplicativos existentes que usam o Dynatrace OneAgent antes da atualização permanecem inalterados, mas exigem reinicialização ou reimplantação para ativar a nova versão do Dynatrace OneAgent.
- Os aplicativos criados após a atualização usam a nova versão do Dynatrace OneAgent.
Configuração de tráfego de saída da instância de injeção de rede virtual
Para uma instância de injeção de rede virtual dos Aplicativos Spring do Azure, é necessário garantir que o tráfego de saída para os pontos de extremidade de comunicação Dynatrace esteja configurado corretamente para Dynatrace OneAgent. Para obter informações sobre como obter communicationEndpoints
, consulte API de Implantação - GET connectivity information para o OneAgent. Para obter mais informações, consulte Responsabilidades do cliente para executar os Aplicativos Spring do Azure em uma rede virtual.
Modelo de suporte do Dynatrace
Para obter informações sobre limitações ao implantar o Dynatrace OneAgent no modo somente de aplicativo, consulte a seção Plataformas de aplicativo de nuvem da Matriz de suporte de plataforma e capacidade do OneAgent.
Próximas etapas
Usar o Agente Java em processo do Application Insights no Azure Spring Apps