Compartir vía


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

Nota:

Los planes Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retirada de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.

El plan de Consumo estándar y dedicado quedará obsoleto a partir del 30 de septiembre de 2024, con un cierre completo al cabo de seis meses. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte Migrar el consumo estándar y el plan dedicado de Azure Spring Apps a Azure Container Apps.

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 instala previamente el agente Java de New Relic en opt/agents/newrelic/java/newrelic-agent.jar. Los clientes pueden activar el agente en las opciones de JVM de las aplicaciones, así como 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 Apps en el panel de navegación.

    Captura de pantalla de Azure Portal que muestra la página Aplicaciones de una instancia de Azure Spring Apps.

  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.

    Captura de pantalla de Azure Portal que muestra la página Configuración de una aplicación con la pestaña Configuración general seleccionada.

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

    Captura de pantalla de Azure Portal que muestra la página Configuración de una aplicación con la pestaña Variables de entorno seleccionada.

  5. Consulte la página de resumen de la puerta de enlace o API de aplicación en el panel New Relic.

    Captura de pantalla del panel de New Relic que muestra la página de resumen de la puerta de enlace de API.

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

    Captura de pantalla del panel de New Relic que muestra la página Servicio de clientes.

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

    Captura de pantalla del panel de New Relic que muestra la página Service Map.

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

    Captura de pantalla del panel de New Relic que muestra la página JVM.

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

    Captura de pantalla del panel de New Relic que muestra la página Perfil de aplicación.

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 registros a New Relic y Registros de APM en contexto.

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

De manera 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 de las variables de entorno que proporciona New Relic para configurar el registro del agente nuevo, como NEW_RELIC_LOG_LEVEL para controlar el nivel de los registros. Para obtener más información, consulte Configuración del registro de New Relic.

Nota:

No use finer o finest a menos que el equipo de asistencia al cliente de New Relic 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 que no reemplace el comportamiento de registro predeterminado que proporciona Azure Spring Apps para 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 estas 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 actualizará el JDK de manera periódica. La actualización del agente puede afectar los escenarios siguientes.

  • Las aplicaciones existentes que utilicen el agente de Java de New Relic antes de la actualización no se modificarán.
  • 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 aplicaciones nuevas que se creen después de la actualización usarán la versión nueva 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