Supervisión de aplicaciones de Spring Boot con el agente de Java de New Relic
Nota:
Los planes de Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retiro 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
- Una cuenta de New Relic.
- CLI de Azure, versión 2.0.67 o posterior.
Activación del agente de Java de New Relic en proceso
Use este procedimiento para acceder al agente:
Cree una instancia de Azure Spring Apps.
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 \
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.
En la instancia de Azure Spring Apps, seleccione Apps en el panel de navegación.
Seleccione la aplicación de la lista y, a continuación, seleccione Configuración en el panel de navegación.
Use la pestaña Configuración general para actualizar valores como las opciones de JVM.
Seleccione Variables de entorno para agregar o actualizar las variables que usa la aplicación.
Consulte la página de resumen de la puerta de enlace o API de aplicación en el panel New Relic.
Vea la página de resumen del servicio a los clientes de la aplicación en el panel de New Relic.
Vea la página Service Map en el panel de New Relic.
Consulte la página de los JVM de la aplicación en el panel de New Relic.
Vea el perfil de la aplicación en el panel de New Relic.
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