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 Azure Portal que muestra el panel Registros con la página Consultas abierta y Ejecutar resaltada.

  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 Azure Portal que muestra el resultado de la consulta de Logs Analytics.

  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. Agregue la primera métrica seleccionando una de las métricas de .NET en Performance (.NET) o Solicitud (.NET) en la lista desplegable Métrica y Avg para Agregación para ver la escala de tiempo de esa métrica.

    Captura de pantalla de Azure Portal que muestra la página Métricas con filtros disponibles.

  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 de Azure Portal que muestra la página Métricas con las opciones Propiedad, Operador y Valores de filtro resaltadas.

  3. Descarte el filtro creado en el paso anterior, seleccione Aplicar división, y seleccione App para Valores para ver el uso de CPU por diferentes aplicaciones.

    Captura de pantalla de Azure Portal que muestra la página Métricas con las opciones de división Valores, Límite y Ordenación resaltadas.

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 Azure Portal que muestra la página seguimiento distribuido.

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

    Captura de pantalla de Azure Portal que muestra la página mapa de la 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 Azure Portal que muestra los detalles del mapa de la 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 Azure Portal que muestra 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 la salida de streaming de registros de la CLI de Azure.

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 Azure Portal que muestra la página Consultas con la opción Ejecutar resaltada.

  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 Azure Portal que muestra el resultado de la consulta de los registros filtrados.

Métricas

Vaya a la página Application Insights, y a continuación, vaya a la página Métricas. 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 Azure Portal que muestra la página Métricas de Application Insights con un gráfico de los valores seleccionados.

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

Puede ver estas métricas personalizadas en la página Métricas:

Captura de pantalla de Azure Portal que muestra la página Métricas de Application Insights 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 Azure Portal que muestra la página Disponibilidad de Application Insights con la sección prueba de disponibilidad resaltada.

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

Captura de pantalla de Azure Portal que muestra la página Métricas dinámicas de Application Insights.

Traza

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

Vaya a la página Mapa de aplicaciones:

Captura de pantalla de Azure Portal que muestra la página Mapa de aplicaciones de Application Insights con componentes de mapa.

Vaya a la página Rendimiento :

Captura de pantalla de Azure Portal que muestra la página Rendimiento de Application Insights con detalles de la operación.

Vaya a la pestaña Dependencias, donde puede ver el número de rendimiento de las dependencias, especialmente las llamadas SQL:

Captura de pantalla de Azure Portal que muestra la página Rendimiento de Application Insights con la tabla Depencies resaltada.

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

Captura de pantalla de Azure Portal que muestra la página Detalles de la transacción de un extremo a otro.

Vaya a la páginaErrores y a la pestañaExcepciones, donde puede ver una colección de excepciones:

Captura de pantalla de Azure Portal que muestra la página Errores de Application Insights.

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

Captura de pantalla de Azure Portal que muestra la página Detalles de la transacción de un extremo a otro con los detalles de la excepción y la pila de llamadas.

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: