Construyendo un Stack de Observabilidad para SRE

La observabilidad es la piedra angular de la Ingenieria de Fiabilidad de Sitios. Sin visibilidad adecuada de tus sistemas, estas volando a ciegas. Asi es como abordo la construccion de un stack de observabilidad desde cero.

Los Tres Pilares

La observabilidad se apoya en tres pilares, cada uno proporcionando una perspectiva diferente del comportamiento del sistema:

  • Metricas - Mediciones numericas a lo largo del tiempo (latencia, tasas de error, throughput)
  • Logs - Eventos discretos con informacion contextual
  • Trazas - Flujos de peticiones de extremo a extremo entre servicios

Metricas con Prometheus

Prometheus es el estandar para la recoleccion de metricas en entornos cloud-native. Consideraciones clave:

Recording Rules

Pre-calcula consultas costosas para mejorar el rendimiento de los dashboards:

groups:
  - name: sli_rules
    rules:
      - record: job:http_request_duration_seconds:p99
        expr: histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, job))

      - record: job:http_requests:error_rate
        expr: sum(rate(http_requests_total{status=~"5.."}[5m])) by (job) / sum(rate(http_requests_total[5m])) by (job)

Reglas de Alerta

Alerta sobre sintomas, no causas:

groups:
  - name: slo_alerts
    rules:
      - alert: HighErrorRate
        expr: job:http_requests:error_rate > 0.01
        for: 5m
        labels:
          severity: critical
        annotations:
          summary: "Tasa de error por encima del SLO del 1%"

SLIs, SLOs y Error Budgets

Define que significa “fiable” para tus servicios:

ServicioSLISLOError Budget (30d)
APITasa de exito de peticiones99.9%43.2 minutos
APILatencia p99 < 200ms99.5%3.6 horas
WebCarga de pagina < 2s99%7.2 horas

Politica de Error Budget

Cuando el error budget se agota:

  1. Congela releases de features hasta que el budget se recupere
  2. Prioriza trabajo de fiabilidad en el sprint
  3. Realiza postmortems exhaustivos para incidentes que consumen budget
  4. Aumenta la cobertura de monitorizacion en areas afectadas

Dashboards con Grafana

Los dashboards efectivos siguen el Metodo USE (Utilizacion, Saturacion, Errores) y el Metodo RED (Rate, Errors, Duration):

Jerarquia de Dashboards

  1. Dashboard general - Salud de servicios de alto nivel (estado SLO)
  2. Dashboards de servicio - Metricas detalladas por servicio
  3. Dashboards de infraestructura - Metricas de nodos, pods y cluster
  4. Dashboards de debug - Paneles de detalle para investigacion de incidentes

Respuesta a Incidentes

Una buena observabilidad acelera la respuesta a incidentes:

  1. Salta la alerta - El ingeniero de guardia recibe la notificacion
  2. Triaje - Consulta el dashboard general para evaluar el impacto
  3. Investigacion - Correlaciona metricas, logs y trazas
  4. Mitigacion - Aplica un fix rapido para restaurar el servicio
  5. Resolucion - Despliega el fix permanente
  6. Postmortem - Documenta aprendizajes y acciones

Conclusion

La observabilidad no es una configuracion unica; es una practica que evoluciona con tus sistemas. Empieza con lo basico, itera en tus dashboards y refina continuamente tus alertas.