Cost anomaly detection: quando alertar
- ⬜📊 Unit economics em software: CAC, LTV, cost per request(FinOps & Cost Engineering)
Recomendamos completar os pré-requisitos antes de seguir, mas nada te impede de continuar.
Stack de ferramentas
Nativo AWS (baseline grátis):
AWS Cost Anomaly Detection # ML sobre usage data
AWS Budgets + Budgets Actions # threshold alert + auto-action
Cost Explorer # exploração ad-hoc
CUR (Cost & Usage Report) # raw data em S3
3rd-party (escala multi-cloud / granularidade):
Vantage # UX rico + alerts granulares, multi-cloud
CloudZero # per-feature/customer tracking
Datadog Cloud Cost # integra com APM, per-service real-time
CloudHealth # enterprise-grade governance
Integração com observability:
OpenTelemetry + Prometheus custom metrics
Cost por span/trace (link cost a request IDs)
Dashboards Grafana combinando cost + performanceArquitetura de alerting saudável
| Tipo de alerta | Dispara quando | Risco de ruído | Ação esperada |
|---|---|---|---|
| Orçamento absoluto | Passa de um valor | Alto — o negócio cresce e o teto envelhece | Rever o teto, não o gasto |
| Variação percentual | Sobe X% sobre a média | Médio — sazonalidade dispara sozinha | Investigar |
| Anomalia por serviço | Um serviço específico foge do padrão | Baixo | Investigar aquele serviço |
| Previsão de fim de mês | A projeção estoura o orçamento | Baixo — e antecipa | Agir antes de fechar o mês |
| ⚠ Alerta sem dono | Sempre | Total | Nenhuma — vira e-mail que ninguém lê |
Tier 1 — Pager (>$10k/dia desvio):
AWS Cost Anomaly Detection HIGH severity
→ SNS → PagerDuty
Ações: team lead, FinOps, potencial incident
Tier 2 — Async notification (>$1k/dia desvio):
→ SNS → Slack channel #cost-alerts
Review diária async pelo time owner
Tier 3 — Dashboard apenas (noise-level):
Visível em Grafana/Datadog, sem push
Review semanal em FinOps meeting
Routing:
Por tag team/service (detectar dono do recurso)
Cost Categories definem "cost center" lógico
Fallback: default channel FinOpsPor que alertar sobre valor absoluto de custo produz alertas inúteis?
Configuração concreta
AWS Cost Anomaly Detection tem 3 tipos de monitor: AWS services (cada serviço monitored isolado), linked accounts (per account), cost categories (por agrupamento lógico). Recomendado: monitor AWS services globais + um por linked account crítico. Thresholds: $ absolute ou % de desvio. Frequency: daily melhor que weekly (reação mais rápida).
# Cria anomaly monitor por serviço + subscription diária
aws ce create-anomaly-monitor --anomaly-monitor '{
"MonitorName": "all-services-monitor",
"MonitorType": "DIMENSIONAL",
"MonitorDimension": "SERVICE"
}'
aws ce create-anomaly-subscription --anomaly-subscription '{
"SubscriptionName": "team-alerts",
"MonitorArnList": ["arn:aws:ce::...:anomalymonitor/xxx"],
"Subscribers": [{"Type":"SNS","Address":"arn:aws:sns:...:cost-alerts"}],
"ThresholdExpression": {
"Dimensions": {
"Key": "ANOMALY_TOTAL_IMPACT_ABSOLUTE",
"Values": ["1000"],
"MatchOptions": ["GREATER_THAN_OR_EQUAL"]
}
},
"Frequency": "DAILY"
}'Regra de ouro: cada alert deve ter owner identificado e ação esperada. Se o alert dispara e ninguém sabe o que fazer, o alert está mal configurado. Revisão trimestral ajusta thresholds conforme baseline evolui.
Perguntas frequentes
❓ Como detectar gasto anômalo antes do fim do mês?
❓ Qual anomalia de custo mais aparece?
❓ Alarme de custo gera muito falso positivo?
Fixando
Qual é o requisito para que um alerta de custo leve a ação?
Por que o atraso na consolidação de custos afeta o desenho do alerta?
Terminou de ler?
Marcar como concluído registra o XP, mantém sua sequência e coloca 3 cartas deste módulo na fila de revisão espaçada.
Próximos passos sugeridos
Temas deste módulo
Discussão
Carregando comentários…