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:
| Servicio | SLI | SLO | Error Budget (30d) |
|---|---|---|---|
| API | Tasa de exito de peticiones | 99.9% | 43.2 minutos |
| API | Latencia p99 < 200ms | 99.5% | 3.6 horas |
| Web | Carga de pagina < 2s | 99% | 7.2 horas |
Politica de Error Budget
Cuando el error budget se agota:
- Congela releases de features hasta que el budget se recupere
- Prioriza trabajo de fiabilidad en el sprint
- Realiza postmortems exhaustivos para incidentes que consumen budget
- 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
- Dashboard general - Salud de servicios de alto nivel (estado SLO)
- Dashboards de servicio - Metricas detalladas por servicio
- Dashboards de infraestructura - Metricas de nodos, pods y cluster
- Dashboards de debug - Paneles de detalle para investigacion de incidentes
Respuesta a Incidentes
Una buena observabilidad acelera la respuesta a incidentes:
- Salta la alerta - El ingeniero de guardia recibe la notificacion
- Triaje - Consulta el dashboard general para evaluar el impacto
- Investigacion - Correlaciona metricas, logs y trazas
- Mitigacion - Aplica un fix rapido para restaurar el servicio
- Resolucion - Despliega el fix permanente
- 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.