AZ-900
Deep Dive
Azure Monitor, Log Analytics, Application Insights y Service Health. El monitoreo no es solo métricas: es la capacidad de detectar problemas antes de que impacten a los usuarios y demostrar cumplimiento de SLA.
Contenido
Azure Monitor es el servicio paraguas que recolecta, analiza y actúa sobre datos de telemetría de todos los recursos de Azure. No es un solo producto sino una plataforma que unifica múltiples capacidades.
Arquitectura de Azure Monitor
Fuentes de datos
Almacenamiento
Consumo
Las métricas son valores numéricos que se recolectan a intervalos regulares (típicamente 1 minuto). Describen algún aspecto del sistema en un momento dado.
Métricas por tipo de recurso
Virtual Machine
Azure SQL Database
App Service
Storage Account
Métricas de SLA — los "nines"
| SLA | Downtime/año | Downtime/mes |
|---|---|---|
| 99% | 3.65 días | 7.3 horas |
| 99.9% | 8.7 horas | 43.8 min |
| 99.95% | 4.4 horas | 21.9 min |
| 99.99% | 52.6 min | 4.4 min |
| 99.999% | 5.3 min | 26.3 seg |
Regla rápida para el examen
99.9% (3 nines) = ~43 min downtime/mes. 99.99% (4 nines) = ~4 min downtime/mes. Cada nine extra = 10x menos downtime.
Los logs son registros detallados de eventos. A diferencia de las métricas (números), los logs contienen contexto: qué pasó, quién lo hizo, cuándo, con qué resultado.
Tipos de logs en Azure
Activity Log
Registro de operaciones en el plano de control de Azure: quién creó/modificó/borró qué recurso. Retención 90 días.
María borró la VM "web-01" el 2024-01-15 a las 14:32
Resource Logs (Diagnostics)
Logs operacionales de recursos específicos: queries SQL, requests HTTP, operaciones de storage. Hay que habilitarlos.
Query SQL: SELECT * FROM orders tardó 4,523ms (lento)
Entra ID Sign-in Logs
Todos los intentos de autenticación: éxitos, fallos, MFA, Conditional Access. Retención 30 días (P1/P2) o 7 días (free).
Login fallido desde 185.134.21.1 (Rusia) para admin@contoso.com
Alert Logs
Historial de alertas disparadas. Cuándo, por qué métrica/condición, qué acción se tomó.
Alert "CPU > 90%" disparada para VM "prod-web-01" a las 09:45
KQL — Kusto Query Language
Log Analytics usa KQL para consultar logs. El AZ-900 no evalúa escribir KQL, pero sí saber que existe y para qué sirve.
Errores de la última hora
AzureActivity | where TimeGenerated > ago(1h) | where ActivityStatus == "Failed" | project TimeGenerated, Caller, OperationName
Top 10 IPs con más fallos de login
SigninLogs | where ResultType != "0" | summarize Fallos=count() by IPAddress | top 10 by Fallos
CPU promedio de VMs en las últimas 24h
Perf | where TimeGenerated > ago(24h) | where ObjectName == "Processor" | summarize avg(CounterValue) by Computer
Métricas vs Logs — diferencia clave para el examen
Métricas
Logs
Las alertas monitorizan condiciones y notifican (o actúan) cuando se cumplen. Un Action Group define quién recibe la notificación y qué acción se toma.
Anatomía de una alerta
¿Sobre qué recurso? (VM, SQL, Subscription, RG)
¿Qué condición? Métrica > umbral, log query resultado, activity log event
¿Qué hacer cuando se dispara? Email, SMS, Azure Function, Logic App, ITSM
Nombre, severidad (0-4), descripción
Action Groups — tipos de acciones
Notifications
Email, SMS, Push (Azure app), Voice call
Actions - ITSM
Crear ticket en ServiceNow, Jira, PagerDuty
Actions - Automation
Trigger Azure Function, Logic App, Webhook
Actions - Runbook
Ejecutar Azure Automation Runbook (ej: reiniciar VM)
Severidades: 0=Critical, 1=Error, 2=Warning, 3=Informational, 4=Verbose. Se usan para filtrar y priorizar.
Application Insights es el servicio de Application Performance Management (APM) de Azure. Monitorea aplicaciones en tiempo real: rendimiento, errores, usuarios, dependencias.
Live Metrics
Métricas en tiempo real con latencia < 1 segundo. Ver requests, dependencias y errores mientras ocurren.
Request Tracking
Cada HTTP request registrado: URL, duración, código de respuesta, éxito/fallo. Percentiles p50, p95, p99.
Dependency Tracking
Llamadas a SQL, APIs externas, queues. Detecta qué dependencia es el cuello de botella.
Exception Tracking
Errores no controlados y excepciones con stack trace completo. Agrupados por tipo.
User Analytics
Cuántos usuarios activos, flujos de navegación, funnels de conversión, retención.
Availability Tests
Pruebas sintéticas desde múltiples regiones. Alerta si tu URL no responde en < X ms o devuelve error.
Application Insights vs Azure Monitor
Application Insights es una característica de Azure Monitor. Azure Monitor es la plataforma general para infraestructura. Application Insights está especializado en aplicaciones. Ambos almacenan datos en Log Analytics Workspace. Los datos de App Insights son consultables con KQL desde Azure Monitor.
Azure Service Health informa sobre el estado de los servicios de Azure que tú usas, en las regiones que usas. Distingue entre problemas de la plataforma y problemas de tu configuración.
Azure Status
Estado global de Azure: incidents que afectan a múltiples clientes o regiones completas. Información pública en status.azure.com.
Cuándo usar
Consultar cuando hay un incidente mayor que afecta a muchos clientes.
Service Health
Estado personalizado para los servicios y regiones QUE TÚ USAS. Incluye service issues, planned maintenance y health advisories.
Cuándo usar
Monitoreo diario de los servicios relevantes para tu organización.
Resource Health
Estado de tus recursos individuales específicos. ¿Esta VM específica está sana? ¿Tuvo un reinicio no planeado?
Cuándo usar
Diagnóstico cuando un recurso específico tiene problemas.
Cuando una solución depende de múltiples servicios en serie, el SLA compuesto es el producto de los SLAs individuales. Cada componente reduce el SLA total.
Ejemplo: app web típica
SLA compuesto
0.9995 × 0.9999 × 0.999 = 0.9983
SLA compuesto ≈ 99.83% → ~12.6 horas de downtime potencial al año
Regla importante
El SLA compuesto es SIEMPRE menor o igual al SLA más bajo de los componentes. Agregar más servicios en serie siempre reduce el SLA total. Para mejorar: usar redundancia (Availability Zones, multi-region) que multiplica el uptime en paralelo.
¿Entendiste este tema?
Pon a prueba lo que acabas de aprender
¿Qué servicio de Azure permite crear alertas automáticas cuando el uso de CPU de una VM supera el 90% durante 5 minutos?