Compartilhar via


Como monitorar aplicativos Spring Boot usando o agente Java New Relic

Observação

Os planos Básico, Padrão e Empresarial 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, consulte o anúncio de desativação do Aplicativos Spring do Azure.

O plano Padrão de consumo e dedicado será preterido a partir de 30 de setembro de 2024, com desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, consulte Migrar o plano Padrão de consumo e dedicado do Aplicativos Spring do Azure para Aplicativos de Contêiner do Azure.

Este artigo se aplica a: ✔️ Padrão de consumo e dedicado (Versão prévia) ✔️ Básico/Padrão ❌ Empresarial

Este artigo mostra como monitorar aplicativos Spring Boot no Azure Spring Apps com o agente Java New Relic.

Com o agente do New Relic Java, você pode:

  • Consumir o agente do New Relic Java.
  • Configurar o agente do New Relic Java usando variáveis de ambiente.
  • Verificar todos os dados de monitoramento do painel New Relic.

O vídeo a seguir mostra 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

Usar o seguinte procedimento para acessar o agente:

  1. Criar uma instância do Azure Spring Apps.

  2. Criar um aplicativo.

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --is-public true \
    
  3. Criar uma implantação com o agente do 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 Aplicativos Spring do Azure pré-instala o agente New Relic Java em /opt/agents/newrelic/java/newrelic-agent.jar. Os clientes podem ativar o agente nas opções da JVM do aplicativo e configurar o agente usando as variáveis de ambiente do agente New Relic Java.

Portal do Azure

Você também pode ativar esse agente no portal do Azure com o procedimento a seguir.

  1. Na sua instância do Aplicativos Spring do Azure, selecione Aplicativos no painel de navegação.

    Captura de tela do portal do Azure mostrando a página Aplicativos de uma instância do Aplicativos Spring do Azure.

  2. Selecione o aplicativo na lista e selecione Configuração no painel de navegação.

  3. Use a guia Configurações gerais para atualizar valores como as opções de JVM.

    Captura de tela do portal do Azure mostrando a página de Configurações de um aplicativo com a guia de configurações gerais selecionada.

  4. Selecione Variáveis de ambiente para adicionar ou atualizar as variáveis usadas pelo aplicativo.

    Captura de tela do portal do Azure mostrando a página Configuração de um aplicativo com a guia Variáveis ambientais selecionada.

  5. Exiba a página Resumo do gateway de API/aplicativo no painel do New Relic.

    Captura de tela do painel do New Relic mostrando a página de resumo do Gateway de API.

  6. Veja a página Resumo do serviço de clientes do aplicativo do painel New Relic.

    Captura de tela do painel do New Relic mostrando a página de Serviço de Clientes.

  7. Veja a página Mapa do Serviço no painel New Relic.

    Captura de tela do painel do New Relic mostrando a página Mapa do Serviço.

  8. Veja a página JVMs do aplicativo no painel New Relic.

    Captura de tela do painel do New Relic mostrando a página da JVM.

  9. Veja o perfil do aplicativo no painel New Relic.

    Captura de tela do painel do New Relic mostrando a página de Perfil do Aplicativo.

Automatizar o provisionamento

Também é possível executar um pipeline de automação de provisionamento usando o Terraform, o Bicep ou um modelo do ARM (Azure Resource Manager). 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.

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>"
  }
}

Automatizar 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',
  ...
}

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.

"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 o New Relic

O agente New Relic pode coletar logs do aplicativo diretamente de seus aplicativos e encaminhá-los para o New Relic. Para mais informações, veja Encaminhe seus logs para o New Relic e Logs do APM no contexto.

Exibir logs do agente Java New Relic

Por padrão, o Aplicativos Spring do Azure 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.

Também é possível obter os logs do agente New Relic nos seguintes locais:

  • Logs do Azure Spring Apps
  • Application Insights do Azure Spring Apps
  • LogStream do Azure Spring Apps

Você pode usar algumas variáveis de ambiente fornecidas pelo New Relic para configurar o registro em log do Novo Agente, como NEW_RELIC_LOG_LEVEL para controlar o nível de logs. Para mais informações, consulte Configuração de registro de logs do New Relic.

Observação

Não use finer ou finest a menos que o Suporte do New Relic solicite isso. Esses níveis de registros de logs podem gerar sobrecarga excessiva. Para a maioria das situações, use info.

Cuidado

Recomendamos fortemente que você não substitua o comportamento padrão de registro em log fornecido pelo Aplicativos Spring do Azure para o New Relic. 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 passar as seguintes variáveis de ambiente para seus aplicativos. Os arquivos de log podem ser perdidos após a reinicialização ou a reimplantação dos aplicativos.

  • NEW_RELIC_LOG
  • NEW_RELIC_LOG_FILE_PATH

Atualização/upgrade do agente do New Relic Java

O agente New Relic Java faz atualização/upgrade do JDK regularmente. A atualização/upgrade do agente pode afetar os seguintes cenários.

  • Aplicativos existentes que usam o agente New Relic Java antes da atualização/upgrade não são alterados.
  • Os aplicativos que usam o agente do New Relic Java antes da atualização/upgrade precisam ser reinicializados ou reimplantados para envolver 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 da VNet

Para uma instância de injeção da VNet do Azure Spring Apps, verifique se o tráfego de saída está configurado corretamente para o agente Java New Relic. Para obter mais informações, confira Redes do New Relic.

Próximas etapas

Usar o Agente Java em processo do Application Insights no Azure Spring Apps