Introducción
En esta unidad, analizamos la supervisión de conceptos de aplicaciones Java.
¿Por qué se debe supervisar?
En cualquier entorno, es importante realizar un seguimiento de la forma en que las personas usan el sistema, realizar un seguimiento del uso de recursos y supervisar generalmente el estado y el rendimiento del sistema. Esta información se puede usar como herramienta de diagnóstico para detectar y corregir problemas y para ayudar a detectarlos antes de que se produzcan.
Formas de supervisión
Por lo general, la supervisión adopta cuatro formas:
Registros: Registros permanentes inmutables de eventos almacenados en un formato tabular coherente, si no están en una base de datos completa. Un evento podría indicar una de muchas condiciones, entre las que se incluyen:
- Un cambio en el estado de un componente supervisado (por ejemplo, de "ocupado" a "disponible").
- Completar una tarea o una secuencia de instrucciones.
- Un hito en la progresión de datos a través de una red o la disponibilidad de unidades en una red.
- Un error, que en este contexto es un comportamiento que el sistema o la aplicación no se han programado para controlar o mitigar
Métricas: Valores que representan el estado relativo, la estabilidad y la disponibilidad de un servicio o aplicación o la infraestructura que lo hospeda.
Seguimientos: Registros de las rutas de ejecución de programas y servicios, especialmente en un sistema altamente distribuido, que indica la secuencia de instrucciones que podrían haber desencadenado un evento directa o indirectamente.
Alertas: Las alertas le notifican de forma proactiva cuando se encuentran problemas con la infraestructura o la aplicación. Le permiten identificar y solucionar los problemas antes de que los usuarios del sistema puedan verlos.
Plataformas de supervisión de Azure
Azure proporciona Azure Monitor, que incluye un conjunto de servicios que los desarrolladores y administradores pueden usar para recopilar, analizar y actuar en la telemetría sobre el rendimiento de las aplicaciones y la infraestructura que las hospeda.
Log Analytics es una herramienta de Azure Portal para editar y ejecutar consultas de registro de datos que recopilan los registros de Azure Monitor y analizar de forma interactiva sus resultados. Puede usar consultas de Log Analytics para recuperar registros que coincidan con determinados criterios, identificar tendencias, analizar patrones y proporcionar diversa información sobre los datos.
Application Insights, una característica de Azure Monitor, es un servicio extensible de Administración del rendimiento de aplicaciones (APM) para desarrolladores y profesionales de DevOps. Detecta automáticamente anomalías de rendimiento e incluye herramientas de análisis que le ayudarán a diagnosticar problemas y a comprender qué hacen realmente los usuarios con la aplicación.
alertas de Azure Monitor: Los datos de supervisión también se pueden enviar a otras ubicaciones para admitir determinados escenarios y algunos recursos pueden escribir en otras ubicaciones antes de que se puedan recopilar en registros o métricas.
- Las alertas de métricas proporcionan un desencadenador de alertas para cuando se supera un umbral especificado. Por ejemplo, una alerta de métrica puede notificarle cuando el uso de CPU sea superior al 95 %.
- Las alertas de registro se basan en los datos escritos en los archivos de registro. Por ejemplo, una alerta de registro puede notificarle cuando un servidor web haya devuelto varias respuestas 404 o 500.
Puede supervisar aplicaciones, servicios e infraestructura de Azure mediante cualquier sistema de supervisión que prefiera, como Elastic Stack, Splunk, New Relic, Dynatrace y App Dynamics. Sin embargo, en este módulo nos centraremos en Azure Monitor, Log Analytics y Application Insights.