Supervisión de aplicaciones de Spring Boot con Dynatrace Java OneAgent

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 dedicado estándar (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

  1. Cree una instancia de Azure Spring Apps.
  2. 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:

  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 Variables de entorno para agregar o actualizar las variables usadas por 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.

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:

Captura de pantalla del informe de flujo del servicio Dynatrace.

Puede encontrar las Zonas activas de método en <nombre de la aplicación>/Detalles/Zonas activas de método:

Captura de pantalla del informe de zonas activas del método Dynatrace.

Puede encontrar las Instrucciones de bases de datos en <nombre de la aplicación>/Detalles/Análisis del tiempo de respuesta:

Captura de pantalla del informe de análisis de tiempo de respuesta de Dynatrace y la sección Instrucciones de base de datos.

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:

Captura de pantalla del informe de instrucciones de base de datos Dynatrace Top.

Puede encontrar la Información general sobre excepciones en Multidimensional analysis/Exceptions overview:

Captura de pantalla del informe de información general sobre excepciones de Dynatrace.

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:

Captura de pantalla del informe de análisis de CPU de Dynatrace.

A continuación, vaya a la sección Bases de datos.

Puede encontrar el Seguimiento regresivo en Databases/Details/Backtrace:

Captura de pantalla del informe Dynatrace 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