AZ-104

Deep Dive

D5 · Monitoreo

Log Analytics

Log Analytics es el motor de análisis de logs de Azure Monitor. El AZ-104 evalúa la configuración del workspace, queries KQL básicas, tablas importantes y la configuración del agente para recopilar datos de VMs.

Log Analytics Workspace

Un Log Analytics Workspace es el almacenamiento y entorno de consulta para logs en Azure Monitor. Es un recurso regional donde se centralizan los datos de múltiples recursos Azure, VMs y soluciones.

Qué se almacena

  • Activity Logs enviados mediante Diagnostic Settings
  • Resource Logs (diagnóstico de recursos)
  • Datos de Azure Monitor Agent de VMs
  • Application Insights (workspace-based)
  • Microsoft Sentinel (SIEM)
  • Datos de Microsoft Defender for Cloud

Diseño — cuántos workspaces

  • Un workspace centralizado: fácil de gestionar, queries across-subscription
  • Múltiples workspaces: separación por equipo/región/entorno, cumplimiento de soberanía de datos
  • Recomendación Microsoft: centralizado salvo requisitos de aislamiento
  • Limitaciones cross-region: el workspace debe estar en la misma o diferente región — sin restriction técnica, pero el egress tiene costo

Configuración clave

  • Retención: 30 días (defecto), configurable 30-730 días (más allá: Basic o Archive tier)
  • Commitment tiers: descuento por volumen comprometido (100 GB/día, etc.)
  • Table-level RBAC: control granular de qué tabla puede ver cada usuario/grupo
  • Purge data: eliminar datos específicos de compliance
  • Workspace replication (preview): redundancia de workspace entre regiones

KQL — Kusto Query Language

KQL (Kusto Query Language) es el lenguaje de consulta de Log Analytics. Es un lenguaje de solo lectura, orientado a pipelines — los datos fluyen de izquierda a derecha a través de operadores encadenados con el pipe |.

Operadores KQL fundamentales

whereFiltra filas por condición
projectSelecciona/renombra columnas
summarizeAgrega datos (count, avg, sum...)
order by / sort byOrdena resultados
top NDevuelve los N primeros resultados
extendAgrega columnas calculadas
joinUne dos tablas
unionCombina filas de múltiples tablas
renderVisualiza como gráfico (timechart, piechart...)
ago()Función de tiempo: ago(1h), ago(7d)

Queries KQL de ejemplo

// VMs con CPU mayor al 90% en la última hora

Perf

| where TimeGenerated > ago(1h)

| where ObjectName == "Processor"

| where CounterName == "% Processor Time"

| where CounterValue > 90

| summarize avg(CounterValue) by Computer

// Errores en Azure Activity Log últimas 24h

AzureActivity

| where TimeGenerated > ago(24h)

| where Level == "Error"

| project TimeGenerated, Caller, OperationName, ResourceGroup

| order by TimeGenerated desc

// Top 10 IPs con más conexiones rechazadas

AzureNetworkAnalytics_CL

| where FlowStatus_s == "D"

| summarize count() by SrcIP_s

| top 10 by count_

Tablas importantes en Log Analytics

TablaContenidoFuente
AzureActivityOperaciones del plano de control (create/update/delete de recursos, RBAC changes)Activity Log (automático)
HeartbeatLatido de agente: confirma que el agente en la VM está activoAzure Monitor Agent
PerfMétricas de rendimiento del OS (CPU, memoria, disco, red)Azure Monitor Agent
EventEventos del Windows Event Log (System, Application, Security)Azure Monitor Agent (Windows)
SyslogLogs del sistema Linux (syslog, auth, daemon, etc.)Azure Monitor Agent (Linux)
SecurityEventEventos de seguridad de Windows (login, policy change, account mgmt)Defender for Cloud / Sentinel
AzureDiagnosticsLogs de diagnóstico de múltiples recursos Azure (Legacy — tabla catch-all)Diagnostic Settings
StorageBlobLogsOperaciones sobre blobs (read, write, delete)Diagnostic Settings en Storage
AzureNetworkAnalytics_CLAnálisis de NSG Flow Logs procesados por Traffic AnalyticsTraffic Analytics
SigninLogsLogs de inicio de sesión de Entra IDEntra ID Diagnostic Settings
AuditLogsCambios en Entra ID (usuarios, grupos, apps, roles)Entra ID Diagnostic Settings
requests / exceptions / tracesTelemetría de Application InsightsApplication Insights SDK

Azure Monitor Agent (AMA)

El Azure Monitor Agent (AMA) es el agente unificado moderno para recopilar datos de VMs (métricas de OS, event logs, syslog). Reemplaza a los agentes legacy MMA (Microsoft Monitoring Agent / Log Analytics Agent) y Diagnostics Extension.

Características del AMA

  • • Soporta Windows y Linux
  • • Requiere Managed Identity en la VM (system-assigned)
  • • Configuración via Data Collection Rules (DCR) — no en el agente
  • • Puede enviar a múltiples workspaces simultáneamente
  • • Soporta Azure Arc (máquinas on-premises y otras nubes)
  • • Reemplaza: MMA, OMS agent, Diagnostics Extension (WAD/LAD)

Agentes legacy (en deprecación)

MMA / Log Analytics Agent

Deprecated — agosto 2024 fin de soporte. Migrar a AMA.

Diagnostics Extension (WAD/LAD)

Envía métricas de guest OS a Azure Monitor Metrics (no a Log Analytics directamente). Se puede usar junto con AMA.

Data Collection Rules (DCR)

Las Data Collection Rules (DCR) son recursos de Azure que definen qué datos recopilar, cómo transformarlos y a qué destinos enviarlos. Son el mecanismo de configuración del AMA — separando la configuración del agente.

Data Sources

Qué recopilar

  • Windows Event Logs (canales y niveles)
  • Linux Syslog (facilities y niveles)
  • Performance counters (CPU, memoria, disco...)
  • IIS Logs
  • Custom logs (texto, JSON)

Data Flows

Transformaciones opcionales

  • KQL transformation: filtrar, parsear, enriquecer datos en tránsito
  • Reduce volumen de datos antes de llegar al workspace
  • Útil para filtrar datos de bajo valor y reducir costos

Destinations

Dónde enviar

  • Log Analytics Workspace(s)
  • Azure Monitor Metrics (métricas de guest OS)
  • Event Hub (streaming)
  • Storage Account (archivado)
  • Múltiples destinos simultáneamente

Retención y modelo de costos

TierRetenciónQueryableCostoUso
Interactive (Analytics)30-730 díasSí — KQL fullPor GB ingestado + días extra 31-730Datos operacionales activos
Basic Logs8 díasLimitado — solo simple queriesMucho más barato por ingestiónLogs de alto volumen de bajo valor (verbose logs)
ArchiveHasta 12 añosNo directo — requiere Search JobMuy barato por almacenamientoRetención larga para compliance/auditoría

Modelo de precios de ingesta

  • Pay-as-you-go: precio por GB ingestado. Sin compromiso.
  • Commitment Tiers: 100, 200, 300, 400, 500, 1000, 2000, 5000 GB/día. Hasta 30% de descuento vs pay-as-you-go.
  • Free tier: primeros 5 GB/mes por suscripción gratuitos.
  • Retención: los primeros 31 días están incluidos. Días 32-730: costo adicional por GB/día.

Datos gratuitos en Log Analytics

  • • Azure Activity Log — sin costo de ingesta
  • • Microsoft Defender for Cloud security data — sin costo
  • • Microsoft Sentinel — primeros 31 días de ciertos tipos
  • • Application Insights SDK data — primeros 5 GB/mes gratuitos por recurso

¿Entendiste este tema?

Pon a prueba lo que acabas de aprender

¿Cuál es la tabla de Log Analytics que contiene los latidos (heartbeats) de los Azure Monitor Agents instalados en VMs, permitiendo verificar que están activos?