Como monitorar aplicativos Spring Boot com o Dynatrace Java OneAgent
Nota
Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão e dedicado 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 obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
Este artigo aplica-se a: ✔️ Consumo padrão e dedicado (Pré-visualização) ✔️ Básico/Padrão ❌️ Empresa
Este artigo mostra como usar o Dynatrace OneAgent para monitorar aplicativos Spring Boot no Azure Spring Apps.
Com o Dynatrace OneAgent, você pode:
- Monitore aplicativos com o Dynatrace OneAgent.
- Configure o Dynatrace OneAgent usando variáveis de ambiente.
- Verifique todos os dados de monitorização a partir 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
- Crie uma instância do Azure Spring Apps.
- Crie um aplicativo que você deseja relatar ao Dynatrace executando o seguinte comando. 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, você precisa configurar quatro variáveis de ambiente: DT_TENANT
, DT_TENANTTOKEN
, DT_CONNECTION_POINT
e DT_CLUSTER_ID
. Para obter mais informações, consulte Integrar o OneAgent ao Azure Spring Apps.
Para aplicativos com várias instâncias, o Dynatrace tem várias maneiras de agrupá-los. DT_CLUSTER_ID
é um dos caminhos. Para obter mais informações, consulte Deteção de grupo de processos.
Adicionar as variáveis de ambiente ao seu aplicativo
Você pode adicionar os pares chave/valor da variável 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 chave/valor usando a CLI do Azure, execute o seguinte comando, 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 chave/valor usando o portal do Azure, use as seguintes etapas:
Na sua instância do Azure Spring Apps, selecione Aplicativos no painel de navegação.
Selecione o aplicativo na lista e, em seguida, selecione Configuração no painel de navegação.
Use a guia Variáveis de ambiente para adicionar ou atualizar as variáveis usadas pelo seu aplicativo.
Automatize o provisionamento
Usando o modelo Terraform, Bíceps ou Azure Resource Manager (modelo ARM), você também pode executar um pipeline de automação de provisionamento. Esse pipeline pode fornecer uma experiência prática completa para instrumentar e monitorar quaisquer novos aplicativos que você criar e implantar.
Automatize o provisionamento usando o Terraform
Para configurar as variáveis de ambiente em um modelo Terraform, adicione o seguinte código ao modelo, substituindo os <espaços reservados ...> por seus próprios valores. Para obter mais informações, consulte Gerencia 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>"
}
Automatize 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 ...> 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>'
}
Automatize o provisionamento usando um modelo ARM
Para configurar as variáveis de ambiente em um modelo 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>"
}
Ver relatórios no Dynatrace
Esta secção descreve como encontrar vários relatórios no Dynatrace.
Nota
O menu e a interface de utilizador do Dynatrace evoluirão 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ça a coletar dados. Para exibir relatórios, use o menu Dynatrace, vá para Serviços e selecione seu aplicativo.
Você pode encontrar o fluxo de serviço no fluxo seu-app-name<>/Details/Service:
Você pode encontrar os hotspots Method em <your-app-name>/Details/Method hotspots:
Você pode encontrar as instruções Database na <análise your-app-name>/Details/Response time:
Em seguida, vá para a seção Análise multidimensional.
Você pode encontrar as instruções Top database de Multidimensional analysis/Top database statements:
Você pode encontrar a visão geral de exceções em Visão geral de análise multidimensional/exceções:
Em seguida, vá para a seção Criação de perfil e otimização .
Você pode encontrar a análise da CPU em Criação de perfil e otimização/análise da CPU:
Em seguida, vá para a seção Bancos de dados .
Você pode encontrar Backtrace em Databases/Details/Backtrace:
Exibir logs do Dynatrace OneAgent
Por padrão, o Azure Spring Apps imprime os logs de nível de informações do Dynatrace OneAgent em 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 Dynatrace dos seguintes locais:
- Logs do Azure Spring Apps
- Azure Spring Apps Application Insights
- Azure Spring Apps LogStream
Você pode aplicar algumas variáveis de ambiente fornecidas pelo Dynatrace para configurar o log para o Dynatrace OneAgent. Por exemplo, DT_LOGLEVELCON
controla o nível de logs. O valor padrão para DT_LOGLEVELCON
é info
. Você pode desabilitar os logs do agente definindo DT_LOGLEVELCON
como off
. Se o registro em log estiver desabilitado, o suporte do Dynatrace solicitará que você primeiro habilite o registro para diagnosticar quaisquer problemas do agente de forma eficaz. Em seguida, reinicie o aplicativo, o que é necessário para que a alteração entre em vigor. Para outros níveis de log, consulte a equipe de suporte do Dynatrace.
Atenção
É altamente recomendável que você não substitua o comportamento de log padrão fornecido pelo Azure Spring Apps for Dynatrace. Se você fizer isso, os cenários de log descritos anteriormente serão bloqueados e o(s) arquivo(s) de log poderá(ão) ser perdido(s). Por exemplo, você não deve exportar a DT_LOGLEVELFILE
variável de ambiente para seus aplicativos.
Atualização do Dynatrace OneAgent
A atualização automática do Dynatrace OneAgent está desativada e é atualizada trimestralmente com o JDK. A atualização do agente 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 do Azure Spring Apps, você precisa verificar se o tráfego de saída para pontos de extremidade de comunicação do Dynatrace está configurado corretamente para o Dynatrace OneAgent. Para obter informações sobre como obter communicationEndpoints
o , consulte API de implantação - informações de conectividade GET para OneAgent. Para obter mais informações, consulte Responsabilidades do cliente para executar o Azure Spring Apps em uma rede virtual.
Modelo de suporte Dynatrace
Para obter informações sobre limitações ao implantar o Dynatrace OneAgent no modo somente aplicativo, consulte a seção Plataformas de aplicativos em nuvem da matriz de suporte de recursos e plataforma OneAgent.
Próximos passos
Utilizar o Agente Application Insights Java In-Process no Azure Spring Apps