Supervisión de la solución completa
En esta unidad, nos fijamos en la supervisión de toda la solución.
Introducción
La habilitación de la supervisión en los entornos informáticos complejos actuales requiere la recopilación de datos operativos de cada capa y componente de un sistema distribuido. Necesita información detallada sobre estos datos y combinarla con distintas perspectivas para apoyar a la multitud de partes interesadas de su organización.
Azure Monitor recopila datos de diferentes tipos de orígenes, donde puede usarlo para el análisis, la visualización y las alertas. Ofrece información detallada de todos los recursos supervisados e incluso con datos de otros servicios que almacenan sus datos en Azure Monitor.
Log Analytics
Los registros son eventos que se produjeron dentro del sistema. Los registros pueden contener diferentes tipos de datos y pueden estar estructurados o de forma libre con una marca de tiempo. Los registros se pueden crear esporádicamente a medida que los eventos del entorno generan entradas de registro. Normalmente, un sistema con mucha carga generará más volumen de registro.
Los registros de Azure Monitor son valiosos para identificar las causas principales de los problemas. Los datos que recopilan los registros de Azure Monitor se almacenan en una o varias áreas de trabajo de Log Analytics. Los datos se recuperan de un área de trabajo de Log Analytics mediante una consulta de registros, que es una solicitud de solo lectura para procesar datos y devolver resultados. Las consultas de registro se escriben en Lenguaje de consulta Kusto (KQL), que es el mismo lenguaje de consulta que usa Azure Data Explorer.
Nota:
La aplicación de ejemplo de Azure Spring Apps ya se ha configurado con un área de trabajo de Log Analytics. Para más información sobre la sintaxis de KQL, vea la unidad Resumen al final de este aprendizaje.
Uso de Log Analytics
En realidad, hay tres maneras de acceder a los registros de la aplicación: Azure Storage, Azure Events Hub y Log Analytics. Nos centraremos aquí en Log Analytics porque es la más común y se integra en Azure Spring Apps para la supervisión de métricas.
Importante
El tiempo de ingesta de datos de Azure Monitor puede tardar hasta 15 minutos. Si no se encuentran datos en Log Analytics, puede tardar más tiempo en ingerir datos de registro de Azure Spring Apps.
Abra Azure Portal.
Seleccione Azure Spring Apps en la lista de servicios de Azure.
Seleccione la instancia de Azure Spring Apps.
A continuación, en la sección Supervisión, seleccione Registros.
En el cuadro de búsqueda Consulta:
Para ver los registros, ejecute una consulta como:
AppPlatformLogsforSpring | limit 50
Para ver las métricas, escriba una consulta como:
AzureMetrics | limit 50
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 50
Análisis de los registros de aplicaciones
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 la sección siguiente, se proporcionan consultas que le ayudarán a comprender los estados actuales y pasados de la aplicación.
Visualización de los registros de aplicaciones de Azure Spring Apps
Abra Azure Portal.
Seleccione Azure Spring Apps en la lista de servicios de Azure.
Seleccione la instancia de Azure Spring Apps.
A continuación, en la sección Supervisión, seleccione Registros.
En el cuadro de búsqueda Consulta:
Para revisar una lista de los registros de aplicaciones de Azure Spring Apps 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
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"
Para crear un gráfico circular en el que se muestre el número de errores y excepciones que registra la aplicación, ejecute la consulta siguiente:
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
Supervisión de bases de datos
La supervisión de los datos sobre los servidores le permite solucionar problemas y optimizar la carga de trabajo. Azure Database for MySQL proporciona diversas métricas que proporcionan información sobre el comportamiento del servidor.
En Azure Database for MySQL, el registro de consultas lentas está disponible para los usuarios. No se admite el acceso al registro de transacciones. Puede usar el registro de consultas lentas para identificar cuellos de botella de rendimiento para solucionar problemas.
En nuestra aplicación de ejemplo, los registros de consultas lentas están configurados para canalizarse a los registros de Azure Monitor mediante Registros de diagnóstico, y puede realizar un análisis más exhaustivo de las consultas lentas. A continuación se muestran consultas de ejemplo que le ayudarán a empezar a trabajar/
Importante
El tiempo de ingesta de datos de registro de MySQL en Azure Monitor puede tardar hasta 30 minutos. Si no se encuentran datos en Log Analytics, la ingesta de datos de registro de MySQL puede tardar más tiempo.
Inicie sesión en Azure Portal.
Seleccione el servidor de Azure Database for MySQL que use para Azure Spring Apps.
A continuación, en la sección Supervisión, seleccione Registros.
En el cuadro de búsqueda Consulta:
Para recuperar todas las consultas de más de un segundo, ejecute la consulta siguiente:
AzureDiagnostics | where Category == 'MySqlSlowLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s
Para enumerar las cinco consultas más largas, ejecute la consulta siguiente:
AzureDiagnostics | where Category == 'MySqlSlowLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s | order by query_time_d desc | take 5
Para resumir las consultas lentas por tiempo mínimo, máximo, promedio y desviación estándar, ejecute la consulta siguiente:
AzureDiagnostics | where Category == 'MySqlSlowLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s | summarize count(), min(query_time_d), max(query_time_d), avg(query_time_d), stdev(query_time_d), percentile(query_time_d, 95) by LogicalServerName_s
Para grafo de la distribución de consultas lentas en un servidor determinado, ejecute la consulta siguiente:
AzureDiagnostics | where Category == 'MySqlSlowLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s | summarize count() by LogicalServerName_s, bin(TimeGenerated, 5m) | render timechart
También puede usar el registro de auditoría para realizar un seguimiento de la actividad de nivel de base de datos. Normalmente se usa para el cumplimiento. Los registros de auditoría están integrados en los registros de diagnóstico de Azure Monitor. En el ejemplo, hemos habilitado los registros de auditoría en el servidor MySQL para que pueda realizar un análisis más exhaustivo de los eventos auditados.
Esta es una consulta de ejemplo que recupera el registro general de MySQL:
AzureDiagnostics | where Category == 'MySqlAuditLogs' and event_class_s == "general_log" | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s | order by TimeGenerated desc
Supervisión de la interfaz de usuario
Si se agrega Application Insights al script de la página, obtendrá los intervalos de carga de la página y de las llamadas AJAX, recuentos y detalles sobre las excepciones del explorador y los errores de AJAX, además de recuentos de usuarios y sesiones. Puede segmentar todas estas métricas por página, sistema operativo cliente y versión del explorador, ubicación geográfica y otras dimensiones. Puede establecer alertas sobre recuentos de errores o carga lenta de páginas e insertar llamadas de seguimiento en el código JavaScript, puede realizar un seguimiento de cómo se usan las distintas características de la aplicación de página web.
Puede usar Application Insights con cualquier página web; solo tiene que agregar una breve parte de JavaScript. Si el servicio web es Java, puede usar los SDK del lado servidor junto con el SDK de JavaScript del lado cliente para obtener una descripción del rendimiento de la aplicación.
Nota:
Para obtener más información sobre la supervisión de la interfaz de usuario, vea la unidad Resumen al final de este aprendizaje.