Inicio rápido: supervisión de aplicaciones de Azure Spring Apps con registros, métricas y seguimiento

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: ✔️ Nivel Básico o Estándar ❌ Nivel Enterprise

Con la funcionalidad de supervisión integrada de Azure Spring Apps, puede depurar y supervisar problemas complejos. Azure Spring Apps integra el seguimiento distribuido de Steeltoe con Application Insights de Azure. Esta integración proporciona una eficaz funcionalidad de registros, métricas y seguimiento distribuido desde Azure Portal.

En los procedimientos siguientes se explica cómo usar el streaming de registro, Log Analytics, las métricas y el seguimiento distribuido con la aplicación de ejemplo que implementó en las guías de inicio rápido anteriores.

Requisitos previos

Registros

Hay dos maneras de ver los registros en Azure Spring Apps: Streaming de registros de registros en tiempo real por instancia de aplicación o Log Analytics para registros agregados con la funcionalidad de consulta avanzada.

Secuencias de registro

El streaming de registro se puede usar en la CLI de Azure con el siguiente comando.

az spring app logs --name solar-system-weather --follow

Se muestra una salida similar a la del ejemplo siguiente:

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing action method Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather) - Validation state: Valid
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController[0]

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Retrieved weather data from 4 planets
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing ObjectResult, writing value of type 'System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]][]'.
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]

Sugerencia

Use az spring app logs -h para explorar más parámetros y la funcionalidad de las secuencias de registro.

Log Analytics

  1. En Azure Portal, vaya a la página Servicio | Información general y seleccione Registros en la sección Supervisión. Seleccione Ejecutar en una de las consultas de ejemplo de Azure Spring Apps.

    Captura de pantalla de la página de apertura de los registros.

  2. Edite la consulta para quitar las cláusulas WHERE que limitan la presentación a los registros de advertencias y errores.

  3. Seleccione Run (Ejecutar). Se muestran los registros. Para más información, consulte Introducción a las consultas de registro en Azure Monitor.

    Captura de pantalla de una consulta de análisis de registros.

  4. Para más información sobre el lenguaje de consulta que se utiliza en Log Analytics, consulte Consultas de registros de Azure Monitor. Para consultar todos los registros de Log Analytics desde un cliente centralizado, vea Azure Data Explorer.

Métricas

  1. En Azure Portal, vaya a la página Servicio | Información general y seleccione Métricas en la sección Supervisión. Para agregar la primera métrica, seleccione una de las métricas de .NET en Rendimiento (.NET) o Solicitud (.NET) , en la lista desplegable Métrica y Avg en Agregación para ver la línea de tiempo de esa métrica.

    Captura de pantalla de la página Métricas.

  2. Seleccione Agregar filtro en la barra de herramientas y seleccione App=solar-system-weather para ver el uso de la CPU solo para la aplicación solar-system-weather.

    Captura de pantalla en la que se añade un filtro.

  3. Descarte el filtro que creado en el paso anterior, seleccione Apply Splitting (Aplicar separación) y seleccione App en Valores para ver el uso que las diferentes aplicaciones hacen de la CPU.

    Captura de pantalla en la que se aplica la división.

Seguimiento distribuido

  1. En Azure Portal, vaya a la página Servicio | Información general y seleccione Seguimiento distribuido en la sección Supervisión. Luego, seleccione la pestaña View application map (Ver mapa de la aplicación) de la derecha.

    Captura de pantalla de la página Seguimiento distribuido.

  2. Ya puede ver el estado de las llamadas entre las aplicaciones.

    Captura de pantalla de la página Mapa de aplicación.

  3. Seleccione el vínculo entre solar-system-weather y planet-weather-provider para ver más detalles, como las llamadas más lentas por métodos HTTP.

    Captura de pantalla de los detalles del mapa de aplicación.

  4. Por último, seleccione Investigate Performance (Investigar rendimiento) para explorar un análisis del rendimiento integrado más eficaz.

    Captura de pantalla de la página Rendimiento.

Con la funcionalidad de supervisión integrada de Azure Spring Apps, puede depurar y supervisar problemas complejos. Azure Spring Apps integra Spring Cloud Sleuth con Application Insights de Azure. Esta integración proporciona una eficaz funcionalidad de registros, métricas y seguimiento distribuido desde Azure Portal. En los procedimientos siguientes se explica cómo usar el streaming de registro, Log Analytics, las métricas y el seguimiento distribuido con aplicaciones de PetClinic implementadas.

Requisitos previos

Registros

Hay dos maneras de ver los registros en Azure Spring Apps: Streaming de registros de registros en tiempo real por instancia de aplicación o Log Analytics para registros agregados con la funcionalidad de consulta avanzada.

Secuencias de registro

El streaming de registro se puede usar en la CLI de Azure con el siguiente comando.

az spring app logs \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name api-gateway \
    --follow

Se muestran registros como este:

Captura de pantalla de salida de registro CLI.

Sugerencia

Use az spring app logs -h para explorar más parámetros y funcionalidades de las secuencias de registro.

Para más información sobre el lenguaje de consulta que se utiliza en Log Analytics, consulte Consultas de registros de Azure Monitor. Para consultar todos los registros de Log Analytics desde un cliente centralizado, eche un vistazo a Azure Data Explorer.

Log Analytics

  1. Vaya a la página servicio | Información general y seleccione Registros en la sección Supervisión. Seleccione Ejecutar en una de las consultas de ejemplo de Azure Spring Apps.

    Captura de pantalla de la página de apertura de los registros.

  2. A continuación, se muestran los registros filtrados. Para más información, consulte Introducción a las consultas de registro en Azure Monitor.

    Captura de pantalla de registros filtrados.

Métricas

Vaya a la hoja Application insights y, luego, a la hoja Metrics. Puede ver las métricas aportadas por las aplicaciones de Spring Boot, los módulos de Spring y las dependencias.

En el gráfico siguiente se muestra gateway-requests (Spring Cloud Gateway), hikaricp_connections (Conexiones JDBC) y http_client_requests.

Captura de pantalla de las solicitudes de puerta de enlace.

Spring Boot registra varias métricas principales, como JVM, CPU, Tomcat y Logback. La configuración automática de Spring Boot permite la instrumentación de las solicitudes que controla Spring MVC. Los tres controladores REST (OwnerResource, PetResource y VisitResource) están instrumentados mediante la anotación de Micrometer @Timed en el nivel de clase.

La aplicación customers-service tiene las siguientes métricas personalizadas habilitadas:

  • @Timed: petclinic.owner
  • @Timed: petclinic.pet

La aplicación visits-service tiene las siguientes métricas personalizadas habilitadas:

  • @Timed: petclinic.visit

Estas métricas personalizadas se pueden ver en el panel Metrics:

Captura de pantalla de la hoja Métricas con métricas personalizadas.

Puede usar la característica Prueba de disponibilidad de Application Insights y supervise la disponibilidad de las aplicaciones:

Captura de pantalla de la característica Prueba de disponibilidad.

Vaya a la hoja Live Metrics para ver las métricas dinámicas con latencias bajas (menos de un segundo):

Captura de pantalla de métricas dinámicas.

Traza

Abra la instancia de Application Insights creada por Azure Spring Apps y empiece a supervisar aplicaciones de Spring.

Vaya a la hoja Application Map:

Captura de pantalla de la hoja Mapa de aplicación.

Vaya a la hoja Performance:

Captura de pantalla de la hoja Rendimiento.

Vaya a la hoja Performance/Dependenices puede ver el número de rendimiento de las dependencias, especialmente las llamadas SQL:

Captura de pantalla de la hoja Rendimiento/Dependencias.

Seleccione una llamada SQL para ver la transacción completa en contexto:

Captura de pantalla de los detalles de la transacción de un extremo a otro.

Vaya al panel Failures/Exceptions puede ver una colección de excepciones:

Captura de pantalla de la hoja Errores/Excepciones.

Seleccione una excepción para ver la transacción completa y el seguimiento de la pila en contexto:

Captura de pantalla de los detalles de la excepción.

Limpieza de recursos

Si planea seguir trabajando en otros inicios rápidos y tutoriales, considere la posibilidad de dejar estos recursos activos. Cuando ya no lo necesite, elimine el grupo de recursos, que elimina los recursos que contiene. Para eliminar el grupo de recursos mediante la CLI de Azure, use estos comandos:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

En una guía de inicio rápido anterior, también estableció el nombre del grupo de recursos predeterminado. Si no desea continuar con la siguiente guía de inicio rápido, borre ese nombre predeterminado con el siguiente comando de la CLI:

az config set defaults.group=

Pasos siguientes

Para explorar más funcionalidades de supervisión de Azure Spring Apps, consulte: