Como monitorar aplicativos Spring Boot com o AppDynamics Java Agent
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 explica como usar o AppDynamics Java Agent para monitorar aplicativos Spring Boot no Azure Spring Apps.
Com o AppDynamics Java Agent, você pode:
- Monitorizar aplicações
- Configurar o AppDynamics Java Agent usando variáveis de ambiente
- Verifique todos os dados de monitoramento do painel do AppDynamics
O vídeo a seguir apresenta o agente em processo do AppDynamics Java.
Pré-requisitos
Ativar o agente em processo Java do AppDynamics
Para todo o fluxo de trabalho, você precisa:
- Ative o agente em processo Java do AppDynamics no Azure Spring Apps para gerar dados de métricas de aplicativo.
- Conecte o Agente do AppDynamics ao Controlador do AppDynamics para coletar e visualizar os dados no controlador.
Ativar um aplicativo com o AppDynamics Agent usando a CLI do Azure
Para ativar um aplicativo por meio da CLI do Azure, use as etapas a seguir.
Crie um grupo de recursos.
Crie uma instância do Azure Spring Apps.
Crie um aplicativo usando 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-instance-name>" \ --name "<your-app-name>" \ --is-public true
Crie uma implantação com o AppDynamics Agent usando variáveis de ambiente.
az spring app deploy \ --resource-group "<your-resource-group-name>" \ --service "<your-Azure-Spring-Apps-instance-name>" \ --name "<your-app-name>" \ --artifact-path app.jar \ --jvm-options="-javaagent:/opt/agents/appdynamics/java/javaagent.jar" \ --env APPDYNAMICS_AGENT_APPLICATION_NAME=<your-app-name> \ APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY=<your-agent-access-key> \ APPDYNAMICS_AGENT_ACCOUNT_NAME=<your-agent-account-name> \ APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME=true \ APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX=<your-agent-node-name> \ APPDYNAMICS_AGENT_TIER_NAME=<your-agent-tier-name> \ APPDYNAMICS_CONTROLLER_HOST_NAME=<your-AppDynamics-controller-host-name> \ APPDYNAMICS_CONTROLLER_SSL_ENABLED=true \ APPDYNAMICS_CONTROLLER_PORT=443
O Azure Spring Apps pré-instala o agente Java do AppDynamics no caminho /opt/agents/appdynamics/java/javaagent.jar. Você pode ativar o agente a partir das opções da JVM de seus aplicativos e, em seguida, configurar o agente usando variáveis de ambiente. Você pode encontrar valores para essas variáveis em Monitor Azure Spring Apps with Java Agent. Para obter mais informações sobre como essas variáveis ajudam a exibir e organizar relatórios na interface do usuário do AppDynamics, consulte Camadas e nós.
Ativar um aplicativo com o AppDynamics Agent usando o portal do Azure
Para ativar um aplicativo por meio do portal do Azure, use as etapas a seguir.
Navegue até sua instância do Azure Spring Apps no portal do Azure.
Selecione Aplicativos na seção Configurações do painel de navegação.
Selecione a aplicação e, em seguida, selecione Configuração no painel de navegação.
Use a guia Configurações gerais para atualizar valores como as opções da JVM.
Selecione Variáveis de ambiente para adicionar ou atualizar as variáveis usadas pelo seu aplicativo.
Automatize o provisionamento
Você também pode executar um pipeline de automação de provisionamento usando o modelo Terraform, Bíceps ou Azure Resource Manager (modelo ARM). 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.
resource "azurerm_spring_cloud_java_deployment" "example" {
...
jvm_options = "-javaagent:/opt/agents/appdynamics/java/javaagent.jar"
...
environment_variables = {
"APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
"APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
"APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
"APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
"APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
"APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
"APPDYNAMICS_CONTROLLER_PORT" : "443"
}
}
Automatize o provisionamento usando o 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.
deploymentSettings: {
environmentVariables: {
APPDYNAMICS_AGENT_APPLICATION_NAME : '<your-app-name>'
APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY : '<your-agent-access-key>'
APPDYNAMICS_AGENT_ACCOUNT_NAME : '<your-agent-account-name>'
APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME : 'true'
APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX : '<your-agent-node-name>'
APPDYNAMICS_AGENT_TIER_NAME : '<your-agent-tier-name>'
APPDYNAMICS_CONTROLLER_HOST_NAME : '<your-AppDynamics-controller-host-name>'
APPDYNAMICS_CONTROLLER_SSL_ENABLED : 'true'
APPDYNAMICS_CONTROLLER_PORT : '443'
}
jvmOptions: '-javaagent:/opt/agents/appdynamics/java/javaagent.jar'
}
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.
"deploymentSettings": {
"environmentVariables": {
"APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
"APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
"APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
"APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
"APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
"APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
"APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
"APPDYNAMICS_CONTROLLER_PORT" : "443"
},
"jvmOptions": "-javaagent:/opt/agents/appdynamics/java/javaagent.jar",
...
}
Revisar relatórios no painel do AppDynamics
Esta seção mostra vários relatórios no AppDynamics.
A captura de tela a seguir mostra uma visão geral de seus aplicativos no painel do AppDynamics:
A guia Aplicativos mostra as informações gerais de cada um dos seus aplicativos, conforme mostrado nas capturas de tela a seguir usando aplicativos de exemplo:
A captura de tela a seguir mostra como você pode obter informações básicas do painel Chamadas de Banco de Dados.
Você também pode obter informações sobre as chamadas de banco de dados mais lentas, conforme mostrado nestas capturas de tela:
A captura de tela a seguir mostra a análise de uso de memória na seção Heap da página Memória :
Você também pode ver o processo de coleta de lixo, como mostrado nesta captura de tela:
A captura de tela a seguir mostra a página Transações lentas :
Você pode definir mais métricas para a JVM, conforme mostrado nesta captura de tela do Navegador de métricas:
Exibir logs do AppDynamics Agent
Por padrão, o Azure Spring Apps imprime os logs de nível de informações do AppDynamics Agent 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 AppDynamics Agent dos seguintes locais:
- Logs do Azure Spring Apps
- Azure Spring Apps Application Insights
- Azure Spring Apps LogStream
Saiba mais sobre a atualização do AppDynamics Agent
O AppDynamics Agent é atualizado regularmente com JDK (trimestral). A atualização do agente pode afetar os seguintes cenários:
- Os aplicativos existentes que usam o AppDynamics Agent antes da atualização permanecem inalterados, mas exigem reinicialização ou reimplantação para ativar a nova versão do AppDynamics Agent.
- Os aplicativos criados após a atualização usam a nova versão do AppDynamics Agent.
Configurar o tráfego de saída da instância de injeção de rede virtual
Para instâncias de injeção de rede virtual do Azure Spring Apps, verifique se o tráfego de saída está configurado corretamente para o AppDynamics Agent. Para obter detalhes, consulte Domínios SaaS e intervalos de IP do Cisco AppDynamics e Responsabilidades do cliente para executar o Azure Spring Apps em uma rede virtual.
Compreender as limitações
Para entender as limitações do AppDynamics Agent, consulte Monitorar aplicativos Azure Spring com Java Agent.
Próximos passos
Utilizar o Agente Application Insights Java In-Process no Azure Spring Apps