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
Complete las guías de inicio rápido anteriores de esta serie:
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
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.
Edite la consulta para quitar las cláusulas WHERE que limitan la presentación a los registros de advertencias y errores.
Seleccione Run (Ejecutar). Se muestran los registros. Para más información, consulte Introducción a las consultas de registro en Azure Monitor.
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
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.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.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.
Seguimiento distribuido
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.
Ya puede ver el estado de las llamadas entre las aplicaciones.
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.
Por último, seleccione Investigate Performance (Investigar rendimiento) para explorar un análisis del rendimiento integrado más eficaz.
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
Complete las guías de inicio rápido anteriores de esta serie:
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:
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
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.
A continuación, se muestran los registros filtrados. Para más información, consulte Introducción a las consultas de registro en Azure Monitor.
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
.
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
:
Puede usar la característica Prueba de disponibilidad de Application Insights y supervise la disponibilidad de las aplicaciones:
Vaya a la hoja Live Metrics
para ver las métricas dinámicas con latencias bajas (menos de un segundo):
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
:
Vaya a la hoja Performance
:
Vaya a la hoja Performance/Dependenices
puede ver el número de rendimiento de las dependencias, especialmente las llamadas SQL:
Seleccione una llamada SQL para ver la transacción completa en contexto:
Vaya al panel Failures/Exceptions
puede ver una colección de excepciones:
Seleccione una excepción para ver la transacción completa y el seguimiento de la pila en contexto:
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: