Como monitorar aplicativos Spring Boot usando o agente New Relic Java
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/Standard ❌ Enterprise
Este artigo mostra como monitorar aplicativos Spring Boot no Azure Spring Apps com o agente New Relic Java.
Com o agente New Relic Java, você pode:
- Consuma o agente New Relic Java.
- Configure o agente New Relic Java usando variáveis de ambiente.
- Verifique todos os dados de monitorização a partir do painel do New Relic.
O vídeo a seguir descreve como ativar e monitorar aplicativos Spring Boot no Azure Spring Apps usando o New Relic One.
Pré-requisitos
Ativar o New Relic Java no agente de processo
Use o seguinte procedimento para acessar o agente:
Crie uma instância do Azure Spring Apps.
Crie um aplicativo.
az spring app create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <app-name> \ --is-public true \
Crie uma implantação com o agente New Relic e variáveis de ambiente.
az spring app deploy \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <app-name> \ --artifact-path app.jar \ --jvm-options="-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar" \ --env NEW_RELIC_APP_NAME=appName \ NEW_RELIC_LICENSE_KEY=newRelicLicenseKey
O Azure Spring Apps pré-instala o agente New Relic Java em /opt/agents/newrelic/java/newrelic-agent.jar. Os clientes podem ativar o agente a partir das opções JVM dos aplicativos e configurá-lo usando as variáveis de ambiente do agente Java New Relic.
Portal do Azure
Você também pode ativar esse agente no portal do Azure com o procedimento a seguir.
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 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.
Exiba a página Resumo da api/gateway do aplicativo no painel New Relic.
Exiba a página Resumo do atendimento ao cliente do aplicativo no painel New Relic.
Exiba a página Mapa de Serviço no painel Nova Relíquia.
Exiba a página JVMs do aplicativo no painel New Relic.
Visualize o perfil do aplicativo no painel New Relic.
Automatize o provisionamento
Você também pode executar um pipeline de automação de provisionamento usando Terraform, Bíceps ou um modelo do 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/newrelic/java/newrelic-agent.jar"
...
environment_variables = {
"NEW_RELIC_APP_NAME": "<app-name>",
"NEW_RELIC_LICENSE_KEY": "<new-relic-license-key>"
}
}
Automatize o provisionamento usando um arquivo Bicep
Para configurar as variáveis de ambiente em um arquivo Bicep, 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: {
NEW_RELIC_APP_NAME : '<app-name>',
NEW_RELIC_LICENSE_KEY : '<new-relic-license-key>'
},
jvmOptions: '-javaagent:/opt/agents/newrelic/java/newrelic-agent.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": {
"NEW_RELIC_APP_NAME" : "<app-name>",
"NEW_RELIC_LICENSE_KEY" : "<new-relic-license-key>"
},
"jvmOptions": "-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar",
...
}
Encaminhar logs de aplicativos para New Relic
O agente New Relic pode coletar logs de aplicativos diretamente de seus aplicativos e encaminhá-los para New Relic. Para obter mais informações, consulte Encaminhar seus logs para New Relic e logs APM no contexto.
Ver logs do New Relic Java Agent
Por padrão, o Azure Spring Apps imprime os logs do agente New Relic Java 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 New Relic dos seguintes locais:
- Logs do Azure Spring Apps
- Azure Spring Apps Application Insights
- Azure Spring Apps LogStream
Você pode usar algumas variáveis de ambiente fornecidas pelo New Relic para configurar o log do New Agent, como, por exemplo, NEW_RELIC_LOG_LEVEL
para controlar o nível de logs. Para obter mais informações, consulte Configuração de log de Nova Relíquia.
Nota
Não utilize finer
ou finest
a menos que o New Relic Support lhe peça para o fazer. Esses níveis de registro podem gerar sobrecarga excessiva. Para a maioria das situações, use info
.
Atenção
É altamente recomendável que você não substitua o comportamento padrão de log fornecido pelo Azure Spring Apps for New Relic. 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 passar as seguintes variáveis de ambiente para seus aplicativos. O(s) arquivo(s) de log pode(m) ser perdido(s) após a reinicialização ou reimplantação do(s) aplicativo(s).
- NEW_RELIC_LOG
- NEW_RELIC_LOG_FILE_PATH
Atualização/atualização do New Relic Java Agent
O agente New Relic Java atualiza/atualiza o JDK regularmente. A atualização/atualização do agente pode afetar os seguintes cenários.
- Os aplicativos existentes que usam o agente New Relic Java antes da atualização/atualização permanecem inalterados.
- Os aplicativos existentes que usam o agente New Relic Java antes da atualização/atualização exigem reinicialização ou reimplantação para ativar a nova versão do agente New Relic Java.
- Novos aplicativos criados após a atualização/upgrade usam a nova versão do agente New Relic Java.
Configuração de tráfego de saída da instância de injeção de VNET
Para uma instância de injeção de vnet do Azure Spring Apps, você precisa certificar-se de que o tráfego de saída está configurado corretamente para o agente New Relic Java. Para obter mais informações, consulte Redes de novas relíquias.
Próximos passos
Utilizar o Agente Application Insights Java In-Process no Azure Spring Apps