SLO vs SLA: Entendendo a Diferença
A boa prática é definir SLOs mais rigorosos que os SLAs. Se seu SLA garante 99.9%, defina o SLO em 99.95%. Isso cria uma margem de segurança (error budget interno) que permite detectar degradações antes que o SLA seja violado.
ServiceLevelObjective CRD
OServiceLevelObjective define uma meta de confiabilidade para um serviço, com alertas baseados em burn rate e tracking de error budget.
Campos do Spec
Raiz
SLOIndicator
Define o que medir. Otype determina a semântica e as queries Prometheus necessárias.
Tipos de indicador:
PrometheusQuerySpec:
- Availability
- Latency (P99 menor que 500ms)
- Error Rate
- Custom (Throughput)
SLOTarget
BurnRateWindow
Cada entrada define uma janela de alerta baseada em burn rate.SLOAlertPolicy
Como Funciona o Cálculo (Google SRE Model)
O sistema implementa o modelo de multi-window, multi-burn-rate alerting descrito no livro “Site Reliability Engineering” do Google.Error Budget
O error budget é a quantidade máxima de “erro” permitida dentro da janela do SLO.Burn Rate
O burn rate indica a velocidade com que o error budget está sendo consumido.1
Calcular error rate na janela
Usando as queries Prometheus, calcula-se a proporção de eventos bons vs total na janela especificada.
2
Calcular burn rate
Divide o error rate pelo error budget.
3
Verificar multi-window
Para disparar um alerta, AMBAS as janelas (short E long) devem exceder o threshold.
4
Classificar e notificar
Com base na severidade configurada, o alerta e roteado para a
NotificationPolicy correspondente.Multi-Window Alerting: Thresholds Padrão
Os thresholds padrão seguem a recomendação do Google SRE para um SLO de 30 dias:Exemplo Numérico Completo
Considere um SLO de 99.9% availability em 30 dias para o serviçoapi-gateway:
Error Budget Tracking
O status doServiceLevelObjective e atualizado periodicamente pelo reconciler:
Condições do SLO:
Budget Warning Thresholds:
Quando configurados, o sistema envia notificações ao atingir cada threshold:
IncidentSLA CRD
OIncidentSLA define contratos de tempo de resposta e resolução por severidade, com suporte a business hours e tracking de violações.
Campos do Spec
Raiz
ResponseTimeConfig
Response time é medido como o tempo entre a criação do Issue (estado
Detected) e a primeira transição para Analyzing ou Remediating. Resolution time é medido entre Detected e Resolved.BusinessHoursSpec
Como o Clock de Business Hours Funciona
O SLA clock conta apenas durante horário comercial. Fora do horário, o clock é pausado automaticamente.1
Incidente detectado
Issue criado as 17:45 (sexta-feira). Clock inicia.
2
Clock conta 15 minutos (sexta)
De 17:45 até 18:00 = 15 minutos de SLA clock.
Clock pausa às 18:00 (fim do horário comercial).
3
Fim de semana: clock pausado
Sábado e domingo inteiros: clock permanece pausado.
Tempo SLA acumulado: 15 minutos.
4
Segunda-feira: clock retoma
Clock retoma as 09:00 de segunda-feira.
Se o incidente é resolvido às 10:30 de segunda:
- Sexta: 15 minutos
- Segunda: 1h30 = 90 minutos
- Total SLA: 105 minutos (1h45)
5
Avaliação de compliance
Para severidade
critical com maxResolutionTime: 1h:- Tempo SLA gasto: 1h45 = 105 minutos
- Limite: 60 minutos
- VIOLAÇÃO: excedeu por 45 minutos
high com maxResolutionTime: 4h:- Tempo SLA gasto: 105 minutos
- Limite: 240 minutos
- DENTRO DO SLA
ViolationPolicySpec
CompliancePercentage Calculation
Exemplos YAML Completos
SLO de 99.9% Availability com Burn Rate Alerting
SLA P1=5min Response / 1h Resolution (Business Hours)
Para severidade
critical, mesmo com business hours habilitado, considere criar uma regra separada com businessHours.enabled: false. Problemas P1 geralmente exigem resposta 24/7.SLO com PrometheusQuery Custom (Latency P99)
Grafana Dashboards
A plataforma AIOps disponibiliza 4 dashboards Grafana pré-configurados para visualização de SLOs e SLAs:SLO Overview
Painel unificado com todos os SLOs, valores atuais, error budget restante e burn rate. Inclui heatmap de burn rate por serviço.
Error Budget Burn-Down
Gráfico burn-down do error budget ao longo do tempo. Mostra tendência e projeção de esgotamento. Linhas de referência para cada threshold de warning.
SLA Compliance Report
Relatório de compliance por severidade e período. Tabela com cada incidente, tempos de resposta/resolução e status de compliance. Exportável para PDF.
Incident Timeline
Timeline de incidentes com detecção, análise, remediação e resolução. Correlação visual com SLO burn rate e SLA clock.
Prometheus Metrics
O sistema de SLOs e SLAs expõe métricas detalhadas:Métricas de SLO
Métricas de SLA
Alertas Prometheus recomendados:
Próximo Passo
Notificações e Escalação
Sistema de notificações multi-canal e escalação automática
Workflow de Aprovação
Controle de mudanças com approval policies e blast radius
AIOps Platform
Deep-dive na arquitetura AIOps
K8s Operator
Configuração e CRDs do operator