Supervisión de aplicaciones de Spring Boot con Dynatrace Java OneAgent
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 obtener más información, consulte Migrar el plan de consumo y dedicado Azure Spring Apps Standard 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 explica cómo usar Dynatrace OneAgent para supervisar aplicaciones de Spring Boot en Azure Spring Apps.
Con Dynatrace OneAgent, puede hacer lo siguiente:
- Supervisar las aplicaciones con Dynatrace OneAgent.
- Configurar Dynatrace OneAgent mediante variables de entorno.
- Comprobar todos los datos de supervisión del panel de Dynatrace.
En el siguiente vídeo se presenta Dynatrace OneAgent.
Requisitos previos
Activación de Dynatrace OneAgent
En las secciones siguientes se describe cómo activar Dynatrace OneAgent.
Preparación del entorno de Azure Spring Apps
- Cree una instancia de Azure Spring Apps.
- Cree una aplicación de la que desee informar a Dynatrace mediante la ejecución del siguiente comando. Reemplace los marcadores de posición <...> por sus propios valores.
az spring app create \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-name> \ --name <your-application-name> \ --is-public true
Determinación de los valores de las variables de entorno necesarias
Para activar Dynatrace OneAgent en la instancia de Azure Spring Apps, debe configurar cuatro variables de entorno: DT_TENANT
, DT_TENANTTOKEN
, DT_CONNECTION_POINT
y DT_CLUSTER_ID
. Para más información, consulte Integración de OneAgent con Azure Spring Apps.
En el caso de aplicaciones con varias instancias, Dynatrace tiene varias formas de agruparlas. DT_CLUSTER_ID
es una de las formas. Para obtener más información, consulte Detección de grupos de control de procesos.
Incorporación de las variables de entorno a la aplicación
Puede agregar los pares clave-valor de variable de entorno a la aplicación mediante Azure Portal o el CLI de Azure.
Opción 1: CLI de Azure
Para agregar los pares clave-valor mediante la CLI de Azure, ejecute el siguiente comando, reemplazando los marcadores de posición <...> por los valores determinados en los pasos anteriores.
az spring app deploy \
--resource-group <your-resource-group-name> \
--service <your-Azure-Spring-Apps-name> \
--name <your-application-name> \
--artifact-path app.jar \
--env \
DT_TENANT=<your-environment-ID> \
DT_TENANTTOKEN=<your-tenant-token> \
DT_CONNECTION_POINT=<your-communication-endpoint>
Opción 2: Azure Portal
Para agregar los pares clave-valor mediante Azure Portal, siga estos pasos:
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 Variables de entorno para agregar o actualizar las variables usadas por la aplicación.
Aprovisionamiento automatizado
Con Terraform, Bicep o plantilla de Azure Resource Manager (plantilla de ARM) también puede ejecutar una canalización de automatización de aprovisionamiento. 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.
environment_variables = {
"DT_TENANT": "<your-environment-ID>",
"DT_TENANTTOKEN": "<your-tenant-token>",
"DT_CONNECTION_POINT": "<your-communication-endpoint>",
"DT_CLUSTER_ID": "<your-cluster-ID>"
}
Automatización del aprovisionamiento mediante un archivo de Bicep
Para configurar las variables de entorno en un archivo de Bicep, agregue el código siguiente al archivo y reemplace los marcadores de posición <…> por sus propios valores. Para obtener más información, consulte Microsoft.AppPlatform Spring/apps/deployments.
environmentVariables: {
DT_TENANT: '<your-environment-ID>'
DT_TENANTTOKEN: '<your-tenant-token>'
DT_CONNECTION_POINT: '<your-communication-endpoint>'
DT_CLUSTER_ID: '<your-cluster-ID>'
}
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.
"environmentVariables": {
"DT_TENANT": "<your-environment-ID>",
"DT_TENANTTOKEN": "<your-tenant-token>",
"DT_CONNECTION_POINT": "<your-communication-endpoint>",
"DT_CLUSTER_ID": "<your-cluster-ID>"
}
Visualización de informes en Dynatrace
En esta sección se describe cómo buscar varios informes en Dynatrace.
Nota:
El menú y la interfaz de usuario de Dynatrace evolucionarán gradualmente. Por este motivo, el panel puede moverse a otras secciones del sitio web de Dynatrace y es posible que las capturas de pantalla que se muestran a continuación no reflejen la versión actual de la interfaz de usuario.
Después de agregar las variables de entorno a la aplicación, Dynatrace comienza a recopilar datos. Para ver informes, use el menú de Dynatrace, vaya a Servicios y, a continuación, seleccione la aplicación.
Puede encontrar el Flujo de servicio en <nombre de la aplicación>/Detalles/Flujo de servicio:
Puede encontrar las Zonas activas de método en <nombre de la aplicación>/Detalles/Zonas activas de método:
Puede encontrar las Instrucciones de bases de datos en <nombre de la aplicación>/Detalles/Análisis del tiempo de respuesta:
A continuación, vaya a la sección Multidimensional analysis (Análisis multidimensional).
Puede encontrar las Instrucciones principales de bases de datos en Multidimensional analysis/Top database statements:
Puede encontrar la Información general sobre excepciones en Multidimensional analysis/Exceptions overview:
A continuación, vaya a la sección Profiling and optimization (Generación de perfiles y optimización).
Puede encontrar el Análisis de CPU en Profiling and optimization/CPU analysis:
A continuación, vaya a la sección Bases de datos.
Puede encontrar el Seguimiento regresivo en Databases/Details/Backtrace:
Visualización de registros de Dynatrace OneAgent
De manera predeterminada, Azure Spring Apps imprimirá los registros de nivel de información de Dynatrace OneAgent 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 Dynatrace desde las siguientes ubicaciones:
- Registros de Azure Spring Apps
- Application Insights de Azure Spring Apps
- LogStream de Azure Spring Apps
Puede aplicar algunas variables de entorno proporcionadas por Dynatrace para configurar el registro de Dynatrace OneAgent. Por ejemplo, DT_LOGLEVELCON
controla el nivel de registros. El valor predeterminado de DT_LOGLEVELCON
es info
. Puede deshabilitar los registros del agente estableciendo DT_LOGLEVELCON
en off
. Si el registro está deshabilitado, Dynatrace admite solicitudes que primero habilite el registro para diagnosticar cualquier problema del agente de forma eficaz. A continuación, debe reiniciar la aplicación, lo que es necesario para que el cambio surta efecto. Para otros niveles de registro, consulte el equipo de soporte técnico de Dynatrace.
Precaución
Se recomienda encarecidamente no invalidar el comportamiento de registro predeterminado proporcionado por Azure Spring Apps para Dynatrace. Si lo hace, los escenarios de registro descritos anteriormente se bloquean y se pueden perder los archivos de registro. Por ejemplo, no debe generar la variable de entorno DT_LOGLEVELFILE
en las aplicaciones.
Actualización de Dynatrace OneAgent
La actualización automática de Dynatrace OneAgent está deshabilitada y se actualiza trimestralmente con el JDK. La actualización del agente puede afectar a los escenarios siguientes:
- Las aplicaciones existentes que usan Dynatrace OneAgent antes de la actualización no cambian, pero requieren reiniciar o volver a implementar para interactuar con la nueva versión de Dynatrace OneAgent.
- Las aplicaciones creadas después de la actualización usan la nueva versión de Dynatrace OneAgent.
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 de los puntos de conexión de comunicación de Dynatrace esté configurado correctamente para Dynatrace OneAgent. Para más información sobre cómo obtener communicationEndpoints
, consulte el tema acerca de la API de implementación: obtención de información de conectividad para OneAgent. Para más información, consulte Responsabilidades del cliente para ejecutar Azure Spring Apps en una red virtual.
Modelo de compatibilidad de Dynatrace
Para obtener información sobre las limitaciones al implementar Dynatrace OneAgent en modo de solo aplicación, consulte la sección Plataformas de aplicaciones en la nube de la matriz de compatibilidad de funcionalidad y plataforma de OneAgent.
Pasos siguientes
Uso del agente In-Process de Java de Application Insights en Azure Spring Apps