MÓDULO 13 - Observabilidade e Monitoramento
Visão Geral
Este módulo cobre a observabilidade com o Amazon CloudWatch. Você aprenderá a monitorar suas infraestruturas, criar alarmes e desenvolver runbooks de resposta a incidentes.
Objetivos de Aprendizagem
- Compreender as métricas do CloudWatch
- Configurar alarmes e notificações
- Analisar logs centralizados
- Criar dashboards de monitoramento
- Desenvolver um runbook de incidente mínimo
Conteúdo da Semana
1. Amazon CloudWatch - Visão Geral
┌─────────────────────────────────────────────────────────────┐
│ AMAZON CLOUDWATCH │
├─────────────────────────────────────────────────────────────┤
│ │
│ "O sistema nervoso da sua infraestrutura AWS" │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ MÉTRICAS LOGS ALARMES │ │
│ │ ┌────────┐ ┌────────┐ ┌────────┐ │ │
│ │ │ CPU % │ │ App │ │ Alert │ │ │
│ │ │ Mem % │ │ System │ │ if >80%│ │ │
│ │ │ Network│ │ Lambda │ │ │ │ │
│ │ └────────┘ └────────┘ └────────┘ │ │
│ │ │ │ │ │ │
│ │ └──────────────┴──────────────┘ │ │
│ │ │ │ │
│ │ ┌──────┴──────┐ │ │
│ │ │ DASHBOARD │ │ │
│ │ │ Gráficos │ │ │
│ │ │ em tempo │ │ │
│ │ │ real │ │ │
│ │ └─────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
2. Métricas EC2 Importantes
| Métrica | Descrição | Limite Típico |
|---|---|---|
| CPUUtilization | Utilização de CPU | Alarme > 80% |
| StatusCheckFailed | Saúde da instância | Alarme = 1 |
| NetworkIn/Out | Tráfego de rede | Conforme baseline |
| DiskReadOps | Operações de disco | Conforme baseline |
| CPUCreditBalance | Créditos T3 | Alarme < 20 |
3. Configuração de Alarmes
┌─────────────────────────────────────────────────────────────┐
│ ANATOMIA DE UM ALARME │
├─────────────────────────────────────────────────────────────┤
│ │
│ Alarme : "High-CPU-Alert" │
│ │
│ Métrica : EC2 CPUUtilization │
│ Estatística : Average │
│ Período : 5 minutos │
│ Limite : > 80% │
│ Avaliação : 3 de 5 períodos │
│ │
│ Ações : │
│ • ALARM → SNS Topic → Email/SMS │
│ • OK → SNS Topic → Notificação de resolução │
│ │
│ Estados : │
│ ┌────────────────────────────────────────────┐ │
│ │ OK │◄─────────────►│ ALARM │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ └───────────────┴───────┘ │ │
│ │ ▲ │ │
│ │ │ │ │
│ │ INSUFFICIENT_DATA │ │
│ │ (dados insuficientes) │ │
│ └────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
4. Estrutura de um Runbook
# RUNBOOK : CPU Alta em Instância EC2
## Sintoma
Alarme "High-CPU-Alert" disparado
## Impacto
- Performance degradada
- Possível timeout para usuários
## Diagnóstico
1. Verificar o alarme no CloudWatch
2. Identificar a instância afetada
3. SSH na instância: `top` ou `htop`
4. Identificar o processo consumidor
## Ações
### Se processo aplicativo legítimo
- [ ] Verificar se pico de tráfego é normal
- [ ] Considerar scale-out se ASG
- [ ] Aumentar o tamanho da instância se necessário
### Se processo suspeito
- [ ] Identificar o processo (`ps aux`)
- [ ] Verificar os logs do aplicativo
- [ ] Finalizar se não for crítico
- [ ] Escalar se suspeitar de atividade maliciosa
## Resolução
- [ ] Confirmar que o CPU voltou ao normal
- [ ] Documentar a causa
- [ ] Atualizar o runbook se necessário
## Escalonamento
Se não resolvido em 30 minutos → Equipe de Infra
5. Dashboard Recomendado
┌─────────────────────────────────────────────────────────────┐
│ DASHBOARD DE PRODUÇÃO │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ CPU Utilization │ │ Memory Usage │ │
│ │ ▃▅▆▇█▇▅▃▂ │ │ ▂▃▄▅▆▇▇▆▅ │ │
│ │ Instância 1, 2, 3 │ │ Instância 1, 2, 3 │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ Request Count │ │ Error Rate │ │
│ │ ▁▂▃▄▅▆▇███▇▅ │ │ ▁▁▁▁▁▂▁▁▁▁▁ │ │
│ │ ALB Requests/min │ │ 5xx Errors % │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Alarmes Ativos │ │
│ │ 🟢 CPU OK 🟢 Disk OK 🔴 ErrorRate HIGH │ │
│ └─────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Exercício: Criação de Runbook
Cenário
Crie um runbook para o seguinte cenário:
- Alarme: Instância EC2 StatusCheckFailed
- Impacto: Site fora do ar
- Ações possíveis: Reiniciar, substituir, escalar
Template para Preencher
- Sintoma e impacto
- Etapas de diagnóstico
- Ações corretivas (com decisões)
- Critérios de resolução
- Processo de escalonamento
Entregável
Runbook 1 página + Configuração de alertas:
- Runbook estruturado para um incidente tipo
- Lista de alarmes recomendados
- Limites e justificativas
Navegação
- Conceitos de Observabilidade
- Quiz de Validação - 30 questões para validar seu conhecimento
- Lab: Monitoramento
Próxima semana: MÓDULO 14 - Governança FinOps