Análisis de registros y métricas con la configuración de diagnóstico
Este artículo se aplica a: ✔️ Java ✔️ C#
Mediante la funcionalidad de diagnóstico de Azure Spring Cloud puede analizar los registros y las métricas con uno de los siguientes servicios:
- Use Azure Log Analytics, donde los datos se escriben en Azure Storage. Se produce un retraso al exportar registros a Log Analytics.
- Guarde los registros en una cuenta de almacenamiento para auditarlos o para inspeccionarlos manualmente. Puede especificar el tiempo de retención (en días).
- Transmita los registros al centro de eventos para la ingesta en un servicio de terceros o una solución de análisis personalizada.
Elija la categoría de registro y la categoría de métrica que desea supervisar.
Sugerencia
¿Solo desea transmitir en secuencias los registros? Consulte este comando de la CLI de Azure.
Registros
| Log | Descripción |
|---|---|
| ApplicationConsole | Registro de la consola de todas las aplicaciones del cliente. |
| SystemLogs | Actualmente, solo el servidor de configuración de Spring Cloud mantiene registros en esta categoría. |
| IngressLogs | Registros de entrada de todas las aplicaciones del cliente, solo registros de acceso. |
Métricas
Para obtener una lista completa de las métricas, consulte la sección Métricas de Spring Cloud.
Para empezar, habilite uno de estos servicios para recibir los datos. Para más información sobre la configuración de Log Analytics, consulte Introducción a los análisis de registros de Azure Monitor.
Configuración de valores de diagnóstico
En Azure Portal, vaya a la instancia de Azure Spring Cloud.
Seleccione la opción Configuración de diagnóstico y después, Agregar configuración de diagnóstico.
Escriba un nombre para la configuración y elija dónde desea enviar los registros. También puede seleccionar cualquier combinación de las tres opciones siguientes:
- Archivar en una cuenta de almacenamiento
- Transmisión a un centro de eventos
- Enviar a Log Analytics
Elija la categoría de registro y de métrica que desea supervisar y especifique el tiempo de retención (en días). El tiempo de retención solo se aplica a la cuenta de almacenamiento.
Seleccione Guardar.
Nota
- Puede transcurrir un intervalo de hasta 15 minutos desde que se emiten los registros o las métricas hasta que aparecen en la cuenta de almacenamiento, el centro de eventos o Log Analytics.
- Si se elimina o se mueve la instancia de Azure Spring Cloud, la operación no se realizará en cascada a los recursos de la configuración de diagnósticos. Los recursos de la administración de diagnósticos se deben eliminar manualmente antes de la operación en su elemento primario, la instancia de Azure Spring Cloud. De lo contrario, si se aprovisiona una nueva instancia de Azure Spring Cloud con el mismo id. de recurso que la eliminada o si la instancia de Azure Spring Cloud se vuelve a trasladar, los recursos de la configuración de diagnósticos anteriores siguen extendiéndola.
Visualización de registros y métricas
Existen varios métodos para ver los registros y las métricas, tal y como se describe en los apartados siguientes.
Uso de la hoja Registros
En Azure Portal, vaya a la instancia de Azure Spring Cloud.
Para abrir el panel Búsqueda de registros, seleccione Registros.
En el cuadro de texto Tablas
- Para ver los registros, escriba una consulta simple como la siguiente:
AppPlatformLogsforSpring | limit 50- Para ver las métricas, escriba una consulta simple como la siguiente:
AzureMetrics | limit 50Para ver el resultado de la búsqueda, seleccione Ejecutar.
Uso de Log Analytics
En Azure Portal, en el panel izquierdo, seleccione Log Analytics.
Seleccione el área de trabajo de Log Analytics que eligió al agregar la configuración de diagnóstico.
Para abrir el panel Búsqueda de registros, seleccione Registros.
En el cuadro de texto Tablas,
- Para ver los registros, escriba una consulta simple como la siguiente:
AppPlatformLogsforSpring | limit 50- Para ver las métricas, escriba una consulta simple como la siguiente:
AzureMetrics | limit 50Para ver el resultado de la búsqueda, seleccione Ejecutar.
Puede buscar los registros de la aplicación o instancia específicas con una condición de filtro:
AppPlatformLogsforSpring | where ServiceName == "YourServiceName" and AppName == "YourAppName" and InstanceName == "YourInstanceName" | limit 50Nota
==distingue mayúsculas de minúsculas, pero=~no.
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.
Uso de la cuenta de almacenamiento
- En Azure Portal, busque Cuentas de almacenamiento en el panel de navegación de la izquierda o en el cuadro de búsqueda.
- Seleccione la cuenta de almacenamiento que eligió al agregar la configuración de diagnóstico.
- Para abrir el panel Contenedor de blobs, seleccione Blobs.
- Para revisar los registros de aplicaciones, busque un contenedor llamado insights-logs-applicationconsole.
- Para revisar las métricas de aplicaciones, busque un contenedor llamado insights-metrics-pt1m.
Para más información sobre cómo enviar información de diagnóstico a una cuenta de almacenamiento, consulte Almacenamiento y visualización de los datos de diagnóstico en Azure Storage.
Uso del centro de eventos
En Azure Portal, busque Event Hubs en el panel de navegación de la izquierda o en el cuadro de búsqueda.
Busque y seleccione el centro de eventos que eligió al agregar la configuración de diagnóstico.
Para abrir el panel Event Hub List (Lista de centros de eventos), seleccione Centros de eventos.
Para revisar los registros de aplicaciones, busque un centro de eventos llamado insights-logs-applicationconsole.
Para revisar las métricas de aplicaciones, busque un centro de eventos llamado insights-metrics-pt1m.
Para más información sobre cómo enviar información de diagnóstico a un centro de eventos, consulte Transmisión de datos de Azure Diagnostics en la ruta de acceso activa mediante Event Hubs.
Análisis de los registros
Azure Log Analytics se ejecuta con un motor Kusto para que pueda consultar los registros para el análisis. Revise el tutorial de Log Analytics para una introducción rápida a la consulta de registros con Kusto.
Los registros de aplicaciones proporcionan información crítica y registros detallados sobre el estado de la aplicación, el rendimiento y mucho más. En las siguientes secciones se muestran algunas consultas sencillas que le ayudarán a comprender los estados actual y anterior de la aplicación.
Visualización de los registros de aplicaciones de Azure Spring Cloud
Para revisar una lista de los registros de aplicaciones de Azure Spring Cloud ordenados por tiempo donde los más recientes se muestran en primer lugar, ejecute la siguiente consulta:
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| sort by TimeGenerated desc
Visualización de las entradas de registro con errores o excepciones
Para revisar las entradas de registro sin ordenar que mencionan un error o una excepción, ejecute la siguiente consulta:
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| where Log contains "error" or Log contains "exception"
Use esta consulta para buscar errores o modificar los términos de la consulta para encontrar códigos de error específicos o excepciones.
Visualización del número de errores y excepciones que ha notificado la aplicación durante la última hora
Para crear un gráfico circular que muestre el número de errores y excepciones registrados por la aplicación en la última hora, ejecute la siguiente consulta:
AppPlatformLogsforSpring
| where TimeGenerated > ago(1h)
| where Log contains "error" or Log contains "exception"
| summarize count_per_app = count() by AppName
| sort by count_per_app desc
| render piechart
Visualización de las entradas de registro de entrada que contienen un host específico
Para revisar las entradas de registro generadas por un host específico, ejecute la consulta siguiente:
AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and Host == "ingress-asc.test.azuremicroservices.io"
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated
Use esta consulta para buscar respuestas sobre Status, RequestTime y otras propiedades de los registros de entrada de este host específico.
Visualización de las entradas de registro de entrada que contienen un host específico
Para revisar las entradas de registro de un valor de requestId específico <request_ID> , ejecute la siguiente consulta:
AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and ReqId == "<request_ID>"
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated
Más información sobre la consulta de registros de aplicaciones
Azure Monitor proporciona buen soporte técnico para consultar los registros de aplicaciones mediante Log Analytics. Para más información sobre este servicio, consulte Introducción a las consultas de registro en Azure Monitor. Para más información sobre la compilación de consultas para analizar los registros de aplicaciones, consulte Introducción a las consultas de registro en Azure Monitor.
Preguntas más frecuentes
¿Cómo se convierten los seguimientos de la pila de Java de varias líneas en una única línea?
Hay una solución alternativa para convertir los seguimientos de la pila de varias líneas en una única línea. Puede modificar la salida del registro de Java para volver a dar formato a los mensajes de seguimiento de la pila, reemplazando los caracteres de nueva línea por un token. Si usa la biblioteca Logback de Java, puede volver a dar formato a los mensajes de seguimiento de la pila con la adición de %replace(%ex){'[\r\n]+', '\\n'}%nopex como se indica a continuación:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
level: %level, message: "%logger{36}: %msg", exceptions: "%replace(%ex){'[\r\n]+', '\\n'}%nopex"%n
</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
Puede reemplazar el token por caracteres de nueva línea en Log Analytics como se indica a continuación:
AppPlatformLogsforSpring
| extend Log = array_strcat(split(Log, '\\n'), '\n')
Es posible que pueda usar la misma estrategia para otras bibliotecas de registro de Java.