Partilhar via


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:

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

  2. Crie um aplicativo.

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --is-public true \
    
  3. 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.

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

    Captura de ecrã do portal do Azure a mostrar a página Aplicações para uma instância do Azure Spring Apps.

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

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

    Captura de ecrã do portal do Azure a mostrar a página Configuração de uma aplicação com o separador Definições gerais selecionada.

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

    Captura de ecrã do portal do Azure a mostrar a página Configuração de uma aplicação com o separador Variáveis de Ambiente selecionada.

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

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

  6. Exiba a página Resumo do atendimento ao cliente do aplicativo no painel New Relic.

    Captura de ecrã do painel New Relic a mostrar a página Serviço de Apoio ao Cliente.

  7. Exiba a página Mapa de Serviço no painel Nova Relíquia.

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

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

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

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

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

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