O Motor de Decisão nunca age às cegas. Cada decisão passa por um pipeline de
ajustes de confiança, verificações de circuit breaker e validação de padrões
antes de qualquer ação ser executada.
Visão Geral da Arquitetura
Confiança Base (AIInsight)
Todo o processo começa com o campoconfidence do AIInsight CR, que é gerado pelo provedor LLM durante a análise de causa raiz. Esse valor representa a certeza da IA sobre o diagnóstico e as ações sugeridas.
Confiança Alta
0.90 - 1.00 — A IA identificou o problema com alta precisão. Cenários bem
conhecidos como OOMKilled, CrashLoopBackOff com imagem inválida.
Confiança Média
0.70 - 0.89 — Diagnóstico provável mas com incerteza. Problemas de
performance, resource pressure, dependências intermitentes.
Confiança Baixa
0.50 - 0.69 — A IA não tem certeza suficiente. Problemas complexos com
múltiplas causas possíveis.
Confiança Muito Baixa
< 0.50 — Cenário desconhecido ou dados insuficientes. Sempre requer
intervenção humana.
Fatores de Ajuste de Confiança
A confiança base nunca é usada diretamente. Ela passa por 5 fatores de ajuste que a refinam com base no contexto operacional atual.1. Taxa de Sucesso Histórica
Consulta o Pattern Store
O engine calcula a taxa de sucesso de remediações anteriores para o mesmo
tipo de sinal (
signalType).2. Pattern Match (Correspondência de Padrão)
Quando o Pattern Store encontra um padrão previamente resolvido que corresponde ao incidente atual, a confiança recebe um boost significativo.| Condição | Ajuste |
|---|---|
| Padrão encontrado com resolução bem-sucedida | +0.15 |
| Nenhum padrão correspondente | 0.00 |
3. Horário do Dia (Time of Day)
Ações automáticas fora do horário comercial carregam risco adicional porque há menos engenheiros disponíveis para intervir caso algo dê errado.| Condição | Ajuste |
|---|---|
| Dentro do horário comercial (09:00-18:00 local) | 0.00 |
| Fora do horário comercial | -0.05 |
4. Issues Ativas Simultâneas
Quando o cluster está sob pressão com múltiplos incidentes ativos, o motor se torna mais conservador para evitar ações em cadeia que possam agravar a situação.| Condição | Ajuste |
|---|---|
| Até 3 issues ativas | 0.00 |
| Cada issue além de 3 | -0.02 por issue |
5. Severidade do Incidente
A severidade doIssue CR aplica um modificador fixo que reflete o risco operacional inerente.
| Severidade | Ajuste | Justificativa |
|---|---|---|
| critical | -0.10 | Impacto em produção, requer máxima cautela |
| high | -0.05 | Risco significativo, conservadorismo moderado |
| medium | 0.00 | Nível padrão, sem ajuste |
| low | +0.05 | Baixo risco, favorece automação |
Exemplo Prático de Cálculo
Cenário: CrashLoopBackOff após deploy em horário comercial
Cenário: CrashLoopBackOff após deploy em horário comercial
Dados do incidente:Decisão: Confiança 1.00 + severidade high = Requer aprovação (threshold ≥0.80 + high).Mesmo com confiança máxima, incidentes
- Confiança base do AIInsight: 0.88
- Severidade: high
- Horário: 14:30 (horário comercial)
- Issues ativas: 2
- Pattern Store: padrão encontrado (rollback bem-sucedido há 5 dias)
- Taxa de sucesso histórica: 90%
high sempre exigem aprovação humana.Cenário: Pod com OOMKilled em namespace de staging à noite
Cenário: Pod com OOMKilled em namespace de staging à noite
Dados do incidente:Decisão: Confiança 1.00 + severidade low = Auto-remediação (threshold ≥0.95 + low).
- Confiança base do AIInsight: 0.92
- Severidade: low
- Horário: 02:15 (fora do horário comercial)
- Issues ativas: 1
- Pattern Store: padrão encontrado (ajuste de memória bem-sucedido)
- Taxa de sucesso histórica: 95%
Cenário: Problema desconhecido em cluster sobrecarregado
Cenário: Problema desconhecido em cluster sobrecarregado
Dados do incidente:Decisão: Confiança 0.35 + severidade critical = Apenas manual (<0.70 ou critical).
- Confiança base do AIInsight: 0.65
- Severidade: critical
- Horário: 10:00 (horário comercial)
- Issues ativas: 8
- Pattern Store: nenhum padrão correspondente
- Taxa de sucesso histórica: 30%
Thresholds de Decisão
A combinação de confiança final e severidade determina o nível de autonomia permitido.- Auto-Remediação Completa
- Auto com Notificação
- Requer Aprovação
- Apenas Manual
Requisitos: Confiança ≥ 0.95 e severidade
lowA plataforma executa a remediação automaticamente sem qualquer intervenção humana.
O RemediationPlan é criado e executado imediatamente.Circuit Breaker
O circuit breaker é um mecanismo de segurança que bloqueia todas as auto-remediações quando detecta falhas consecutivas, prevenindo que a plataforma cause danos em cascata.Monitoramento de Falhas
Cada falha de remediação é registrada com timestamp. O circuit breaker
mantém uma janela deslizante de 1 hora.
Disparo do Circuit Breaker
Quando 3 ou mais falhas ocorrem dentro da janela de 1 hora, o circuit
breaker abre e bloqueia toda auto-remediação no namespace.
Estado Aberto
Enquanto aberto, todos os
RemediationPlan CRs são criados com
requiresApproval: true, independente da confiança calculada.Pattern Store
O Pattern Store é o sistema de aprendizado de padrões da plataforma. Ele permite que a AIOps “lembre” de incidentes passados e use essa memória para tomar decisões mais informadas.Fingerprinting SHA256
Cada padrão é identificado por uma fingerprint única calculada como:| Signal Type | Resource Kind | Severity | Fingerprint (truncada) |
|---|---|---|---|
CrashLoopBackOff | Deployment | high | a3f8c2... |
OOMKilled | Pod | medium | 7b1d9e... |
FailedScheduling | Pod | low | c4e6a1... |
ImagePullBackOff | Deployment | high | 2d8f5b... |
Armazenamento em ConfigMap
Os padrões são persistidos em umConfigMap dedicado no namespace do operator:
RecordResolution e RecordFailure
Cálculo do Confidence Boost
O boost de confiança derivado do Pattern Store é calculado diretamente a partir da taxa de sucesso:| Taxa de Sucesso | Confidence Boost | Exemplo |
|---|---|---|
| 100% (10/10) | +0.150 | Todos os rollbacks bem-sucedidos |
| 80% (8/10) | +0.120 | Maioria dos ajustes de recursos funcionou |
| 50% (5/10) | +0.075 | Resultados mistos |
| 20% (2/10) | +0.030 | A maioria falhou |
Cenário: Incidente Similar Recente
'Incidente similar resolvido 3 dias atrás com rollback'
'Incidente similar resolvido 3 dias atrás com rollback'
Quando o Pattern Store encontra uma correspondência, o motor adiciona contexto
ao Essa informação é exibida no
AIInsight e ao RemediationPlan:Issue CR para que operadores possam ver
rapidamente que o problema já foi resolvido antes e como.Enriquecimento de Causa Raiz (RCA)
Antes de tomar qualquer decisão, o motor enriquece o contexto do incidente com dados adicionais do cluster. Esse enriquecimento alimenta tanto o LLM (para melhor diagnóstico) quanto o motor de decisão (para ajustes mais precisos).DeploymentChange Detection
O motor verifica se houve uma mudança de deploy recente comparando revisões de ReplicaSets:ConfigChange Detection
O motor busca eventos do Kubernetes relacionados a atualizações de ConfigMaps e Secrets:Related Issues
Lista issues ativas no mesmo namespace que podem estar correlacionadas:Dependency Status
Verifica a saúde dos Services e Endpoints dos quais o recurso afetado depende:Time Correlation
O motor calcula a correlação temporal entre mudanças detectadas e o início do incidente:Correlação temporal forte (< 5 min) eleva automaticamente a causa para o topo
da lista de
PossibleCauses, pois a probabilidade de relação causal é alta.PossibleCauses Ranking
Todas as causas possíveis são ranqueadas por probabilidade com base nos dados de enriquecimento:Detector de Convergência
O Detector de Convergência é projetado para o loop agêntico de remediação. Ele monitora as observações do agente para determinar se a situação está melhorando, estagnada ou piorando.IsConverged
Verifica se as últimas 3 observações são idênticas, indicando que o sistema atingiu um estado estável (para melhor ou pior).IsOscillating
Detecta padrões de oscilação A-B-A-B onde o sistema alterna entre dois estados sem progresso real.ShouldStop
Função principal que combina todos os critérios de parada do loop agêntico:| Critério | Condição | Ação |
|---|---|---|
| Convergência | 3 observações idênticas | Para o loop, marca como resolvido ou não |
| Oscilação | Padrão A-B-A-B | Para o loop, escala para humano |
| Timeout | > 10 minutos | Para o loop, escala para humano |
| Falhas consecutivas | ≥ 5 falhas | Para o loop, dispara circuit breaker |
EstimateProgress
Estima o progresso do loop agêntico de 0.0 a 1.0, usado para feedback visual e logging:Fluxo Completo de Decisão
Métricas do Motor de Decisão
O motor expõe métricas Prometheus para observabilidade:| Métrica | Tipo | Descrição |
|---|---|---|
decision_engine_evaluations_total | Counter | Total de avaliações de confiança |
decision_engine_confidence_histogram | Histogram | Distribuição de confiança final |
decision_engine_auto_remediations_total | Counter | Total de auto-remediações por modo |
decision_engine_circuit_breaker_state | Gauge | Estado do circuit breaker (0=fechado, 1=aberto) |
decision_engine_pattern_matches_total | Counter | Total de correspondências no Pattern Store |
decision_engine_rca_enrichment_duration | Histogram | Tempo de enriquecimento RCA |
decision_engine_convergence_stops_total | Counter | Total de paradas por tipo (convergência, oscilação, timeout, falhas) |
Próximos Passos
Federação Multi-Cluster
Veja como o motor de decisão opera em ambientes multi-cluster com políticas
por tier.
Chaos Engineering
Valide as decisões do motor com experimentos de chaos controlados.
Auditoria e Compliance
Cada decisão gera um AuditEvent imutável para rastreabilidade.
AIOps Platform
Retorne à visão geral completa da plataforma AIOps.