Conceitos fundamentais
Glossário e conceitos-chave do Dodo Aegies: hosts, spans, traces, logs, SLOs e IA agente.
Host
Um host é qualquer servidor, VM ou nó físico que executa o agente Dodo Aegies. Containers não são cobrados como hosts separados — você paga pelo host que os executa.
O agente coleta de cada host: métricas de sistema (CPU, memória, disco, rede), processos em execução e metadados de infraestrutura.
Serviço
Um serviço é uma unidade lógica de software que você nomeia ao inicializar o SDK:
aegies.init({ service: 'payments-api' });
Serviços agrupam traces, logs e métricas relacionados. Um host pode executar vários serviços.
Span
Um span representa uma operação individual dentro de um sistema distribuído — por exemplo, uma chamada HTTP, uma query SQL ou um job de fila. Cada span registra:
| Campo | Descrição |
|---|---|
trace_id | Identifica a requisição de ponta a ponta |
span_id | Identifica este span específico |
parent_span_id | Span que originou este (se houver) |
name | Nome da operação (GET /users, SELECT users) |
duration_ms | Tempo de execução |
status | ok, error ou unset |
attributes | Chave-valor customizável (db.system, http.route) |
Trace
Um trace é a coleção de todos os spans gerados por uma requisição única atravessando múltiplos serviços. O trace_id propaga entre serviços via headers HTTP (traceparent) ou mensagens de fila.
Requisição do usuário
└── payments-api (span: 120ms)
├── auth-service (span: 8ms)
├── db-primary (span: 45ms) ← query lenta detectada
└── notification-svc (span: 5ms)
Log
Um log é um registro textual ou estruturado de um evento em um ponto específico no tempo. O Aegies ingere logs de qualquer formato e os correlaciona automaticamente com o trace_id ativo:
{
"timestamp": "2025-06-13T18:00:00Z",
"level": "error",
"message": "Query timeout after 30s",
"trace_id": "abc123",
"service": "payments-api"
}
Métrica
Uma métrica é uma medição numérica coletada em intervalos regulares (ex: cpu.usage_percent, http.requests_per_second, jvm.heap_used). O Aegies coleta métricas sem amostragem — todos os pontos são armazenados e consultáveis.
SLO (Service Level Objective)
Um SLO é uma meta de confiabilidade expressa como porcentagem de requisições “boas” em uma janela de tempo:
“99,9% das requisições respondem em menos de 200ms nos últimos 30 dias”
O SLO define o que conta como “bom” (ex: status 2xx, latência abaixo de threshold) e a janela de avaliação (7, 14 ou 30 dias).
Error Budget
O error budget é o volume de falhas ou lentidões que você ainda pode ter antes de violar o SLO. Com um SLO de 99,9%, o error budget é 0,1% — cerca de 43 minutos de downtime por mês.
O Aegies exibe o error budget restante em tempo real e aciona alertas e rollbacks quando o consumo acelera.
Burn Rate
O burn rate é a velocidade de consumo do error budget. Um burn rate de 1× significa que você esgotará o budget exatamente no fim do período. Um burn rate de 10× significa que o budget acabará 10 vezes mais rápido que o planejado.
O Aegies usa alertas multi-burn-rate para diferenciar incidentes críticos (burn alto em janela curta) de degradações graduais (burn moderado em janela longa).
Anomalia
Uma anomalia é um desvio estatístico do comportamento normal — não apenas a violação de um threshold estático. O Aegies aprende o baseline de cada métrica e detecta padrões incomuns mesmo que ainda dentro dos limites configurados.
Causa raiz
A causa raiz é o evento ou condição original que desencadeou um incidente. O Aegies correlaciona sinais de diferentes fontes (spike de latência + aumento de error rate + deploy recente) para isolar a causa raiz entre dezenas de serviços simultaneamente.
Runbook
Um runbook é um procedimento operacional documentado para resolver um tipo específico de problema. O Aegies gera runbooks automaticamente com base no incidente detectado e os executa após aprovação humana. Veja AI Runbooks.
Modos do Aegies AI
| Modo | Comportamento |
|---|---|
| Leitura | Detecta e informa; sem propor ações |
| Propor + Aprovar | Gera fix e aguarda aprovação com 1 clique |
| Auto-pilot | Executa automaticamente para classes pré-aprovadas |
Configurado via ai.mode no SDK ou em Settings → AI Policies na UI.