Supervisión de aplicaciones de Spring Boot con el agente de Java de New Relic

Nota:

Azure Spring Apps es el nuevo nombre del servicio Azure Spring Cloud. Aunque el servicio tiene un nuevo nombre, verá el nombre antiguo en algunos lugares durante un tiempo mientras trabajamos para actualizar recursos, como capturas de pantalla, vídeos y diagramas.

Este artículo se aplica a: ✔️ Consumo estándar y dedicado (versión preliminar) ✔️ Básico/Estándar ❌ Enterprise

En este artículo se muestra cómo supervisar las aplicaciones de Spring Boot en Azure Spring Apps con el agente Java de New Relic.

Con el agente de Java de New Relic, puede hacer lo siguiente:

  • Consumir el agente de Java de New Relic.
  • Configurar el agente de Java de New Relic mediante variables de entorno.
  • Comprobar todos los datos de supervisión del panel de New Relic.

En el siguiente vídeo se describe cómo activar y supervisar las aplicaciones de Spring Boot en Azure Spring Apps mediante New Relic One.


Requisitos previos

Activación del agente de Java de New Relic en proceso

Use este procedimiento para acceder al agente:

  1. Cree una instancia de Azure Spring Apps.

  2. Crea una aplicación.

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --is-public true \
    
  3. Cree una implementación con el agente de New Relic y variables de entorno.

    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
    

Azure Spring Apps preinstala el agente de Java de New Relic en /opt/agents/newrelic/java/newrelic-agent.jar. Los clientes pueden activar el agente desde las opciones de JVM de las aplicaciones y configurar el agente mediante las variables de entorno del agente de Java de New Relic.

Azure portal

También puede activar este agente desde Azure Portal con el procedimiento siguiente.

  1. En la instancia de Azure Spring Apps, seleccione Aplicaciones en el panel de navegación.

    Screenshot of the Azure portal showing the Apps page for an Azure Spring Apps instance.

  2. Seleccione la aplicación de la lista y, a continuación, seleccione Configuración en el panel de navegación.

  3. Use la pestaña Configuración general para actualizar valores como las opciones de JVM.

    Screenshot of the Azure portal showing the Configuration page for an app with the General settings tab selected.

  4. Seleccione Variables de entorno para agregar o actualizar las variables que usa la aplicación.

    Screenshot of the Azure portal showing the Configuration page for an app with the Environment variables tab selected.

  5. Vea la página Resumen de la api o puerta de enlace de la aplicación desde el panel de New Relic.

    Screenshot of the New Relic dashboard showing the API Gateway summary page.

  6. Vea la página de resumen del servicio a los clientes de la aplicación en el panel de New Relic.

    Screenshot of the New Relic dashboard showing the Customers Service page.

  7. Vea la página Service Map en el panel de New Relic.

    Screenshot of the New Relic dashboard showing the Service Map page.

  8. Consulte la página de los JVM de la aplicación en el panel de New Relic.

    Screenshot of the New Relic dashboard showing the JVM page.

  9. Vea el perfil de la aplicación en el panel de New Relic.

    Screenshot of the New Relic dashboard showing the Application Profile page.

Aprovisionamiento automatizado

También puede ejecutar una canalización de automatización de aprovisionamiento mediante Terraform, Bicep o una plantilla de Azure Resource Manager (plantilla de ARM). Esta canalización puede proporcionar una experiencia práctica completa para instrumentar y supervisar las nuevas aplicaciones que cree e implemente.

Aprovisionamiento automatizado mediante Terraform

Para configurar las variables de entorno en una plantilla de Terraform, agregue el código que se muestra a continuación a la plantilla y reemplace los marcadores de posición <...> por sus propios valores. Para más información, consulte Administración de una implementación activa de 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>"
  }
}

Automatización del aprovisionamiento mediante un archivo de Bicep

Para configurar las variables de entorno en un archivo de Bicep, agregue el código a la plantilla que se muestra a continuación y reemplace los marcadores de posición <...> por sus propios valores. Para obtener más información, 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',
  ...
}

Aprovisionamiento automatizado mediante una plantilla de ARM

Para configurar las variables de entorno en una plantilla de ARM, agregue el código a la plantilla que se muestra a continuación y reemplace los marcadores de posición <...> por sus propios valores. Para obtener más información, 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",
  ...
}

Reenvío de registros de aplicaciones a New Relic

El agente de New Relic puede recopilar registros de aplicaciones directamente desde las aplicaciones y reenviarlos a New Relic. Para obtener más información, consulte Reenvío de los registros a los registros de New Relic y APM en contexto.

Visualización de los registros del agente de Java de New Relic

De forma predeterminada, Azure Spring Apps imprime los registros del agente de Java de New Relic en STDOUT. Los registros se mezclan con los registros de la aplicación. Puede encontrar la versión explícita del agente en los registros de aplicaciones.

También puede obtener los registros del agente de New Relic desde las ubicaciones siguientes:

  • Registros de Azure Spring Apps
  • Application Insights de Azure Spring Apps
  • LogStream de Azure Spring Apps

Puede usar algunas variables de entorno proporcionadas por New Relic para configurar el registro del nuevo agente, como, NEW_RELIC_LOG_LEVEL para controlar el nivel de registros. Para obtener más información, consulte Configuración del registro de New Relic.

Nota:

No use finer o finest a menos que New Relic Support le pida que lo haga. Estos niveles de registro pueden generar una sobrecarga excesiva. Para la mayoría de las situaciones, use info.

Precaución

Se recomienda encarecidamente no invalidar el comportamiento predeterminado de registro proporcionado por Azure Spring Apps for New Relic. Si lo hace, los escenarios de registro descritos anteriormente se bloquean y se pueden perder los archivos de registro. Por ejemplo, no debe pasar las siguientes variables de entorno a las aplicaciones. Es posible que los archivos de registro se pierdan después de reiniciar o volver a implementar las aplicaciones.

  • NEW_RELIC_LOG
  • NEW_RELIC_LOG_FILE_PATH

Actualización del agente de Java de New Relic

El agente de Java de New Relic actualiza o actualiza el JDK con regularidad. La actualización o actualización del agente puede afectar a los siguientes escenarios.

  • Las aplicaciones existentes que usan el agente de Java de New Relic antes de actualizar o actualizar no se modifican.
  • Es necesario reiniciar o volver a implementar las aplicaciones existentes que utilizan el agente de Java de New Relic antes de la actualización a fin de interactuar con la versión nueva del agente de Java de New Relic.
  • Las nuevas aplicaciones creadas después de actualizar o actualizar usan la nueva versión del agente de Java de New Relic.

Configuración del tráfico de salida de la instancia de inyección de red virtual

En el caso de una instancia de inyección de red virtual de Azure Spring Apps, debe asegurarse de que el tráfico de salida esté configurado correctamente para el agente Java de New Relic. Para más información, consulte Redes de New Relic.

Pasos siguientes

Uso del agente In-Process de Java de Application Insights en Azure Spring Apps