aws-cloudwatch-investigation
Ajuda seu agente a investigar problemas no AWS CloudWatch. Ele oferece modelos para consultas, correlação de alarmes e triagem de incidentes.
O que ela faz
Este conjunto de ferramentas ajuda a investigar problemas em sistemas na nuvem da Amazon (AWS). Ele fornece modelos para procurar erros em logs, identificar se uma atualização causou um problema, determinar o alcance de um problema e analisar métricas de desempenho.
Quando usar
- ✓Quando um sistema na AWS está apresentando erros.
- ✓Para entender se uma nova atualização causou um problema.
- ✓Ao tentar descobrir quais partes de um sistema foram afetadas por uma falha.
Exemplo do que pedir para a IA
“Investigue erros recentes no meu sistema de pagamentos.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele usa consultas pré-definidas para analisar logs e métricas do CloudWatch. Para correlacionar problemas com atualizações, ele verifica registros de atividades da AWS. Para determinar o alcance, ele segue um processo de eliminação por conta, região e serviço.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill aws-cloudwatch-investigationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/aws-cloudwatch-investigation/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Habilidade de Investigação do AWS CloudWatch
Padrões reutilizáveis para investigar incidentes de produção usando CloudWatch Logs, Métricas e Alarmes. Esses padrões são projetados para serem compostos durante o triagem de incidentes.
Padrão 1: Modelos de Consulta do Logs Insights
Detecção de Pico de Erros
Encontre os principais erros em uma janela de tempo, agrupados por tipo de erro:
fields @timestamp, @message, @logStream
| filter @message like /(?i)(error|exception|fatal|critical)/
| stats count(*) as errorCount by bin(5m), @logStream
| sort errorCount desc
| limit 20
Detalhamento da Latência P99 por Operação
Identifique quais operações estão causando picos de latência:
fields @timestamp, @duration, operation
| filter ispresent(@duration)
| stats avg(@duration) as avgMs,
pct(@duration, 50) as p50Ms,
pct(@duration, 95) as p95Ms,
pct(@duration, 99) as p99Ms,
count(*) as invocations
by operation
| sort p99Ms desc
| limit 15
Detecção de Cold Start do Lambda
Quantifique o impacto do cold start durante um incidente:
fields @timestamp, @duration, @initDuration, @memorySize, @maxMemoryUsed
| filter ispresent(@initDuration)
| stats count(*) as coldStarts,
avg(@initDuration) as avgInitMs,
max(@initDuration) as maxInitMs,
avg(@duration) as avgDurationMs
by bin(5m)
| sort @timestamp desc
Detecção de Out-of-Memory (OOM)
Encontre funções Lambda ou contêineres encerrados por pressão de memória:
fields @timestamp, @message, @logStream, @memorySize, @maxMemoryUsed
| filter @message like /Runtime exited|out of memory|OOMKilled|Cannot allocate memory|MemoryError/
| stats count(*) as oomEvents by @logStream, bin(10m)
| sort oomEvents desc
| limit 10
Para tendências de utilização de memória antes do OOM:
fields @timestamp, @maxMemoryUsed, @memorySize
| filter ispresent(@maxMemoryUsed)
| stats max(@maxMemoryUsed / @memorySize * 100) as peakMemPct,
avg(@maxMemoryUsed / @memorySize * 100) as avgMemPct
by bin(5m)
| sort @timestamp desc
Detecção de Timeout
Encontre invocações que atingiram o timeout configurado:
fields @timestamp, @duration, @logStream, @requestId
| filter @message like /Task timed out/ or @duration > 28000
| stats count(*) as timeouts by @logStream, bin(5m)
| sort timeouts desc
Padrão 2: Correlação do Histórico de Alarmes com Eventos de Deploy
Processo
- Obter o tempo de transição do alarme — anote o timestamp exato em que o alarme entrou no estado ALARM.
- Consultar o CloudTrail para eventos relacionados a deploys em uma janela de [tempo_alarme - 30min, tempo_alarme]:
# CloudTrail Lake query for deployment events
SELECT eventTime, eventName, userIdentity.arn, requestParameters
FROM <event-data-store-id>
WHERE eventTime > '<alarm_time_minus_30m>'
AND eventTime < '<alarm_time>'
AND eventName IN (
'UpdateFunctionCode', 'UpdateFunctionConfiguration',
'UpdateService', 'CreateDeployment', 'RegisterTaskDefinition',
'CreateChangeSet', 'ExecuteChangeSet',
'StartPipelineExecution', 'PutImage'
)
ORDER BY eventTime DESC
Critérios de correlação — um deploy é "correlacionado" se:
- Ele tem como alvo o mesmo serviço/recurso do alarme
- Ele foi concluído nos 15 minutos anteriores à transição do alarme
- A identidade do deployer corresponde a uma função CI/CD (não um humano aplicando um hotfix)
Fortalecendo a correlação:
- Verifique se o mesmo alarme estava saudável no ciclo de deploy anterior
- Verifique se não houve outras alterações ambientais (eventos de escalonamento, alterações de configuração) na mesma janela
- Procure falhas em monitores canário/sintéticos que começaram ao mesmo tempo
Formato de Saída
Deploy Correlation:
Event: UpdateFunctionCode
Time: 2024-03-15T14:23:07Z (12 min before alarm)
Actor: arn:aws:sts::123456789012:assumed-role/github-actions-deploy/session
Resource: arn:aws:lambda:us-east-1:123456789012:function:payment-processor
Correlation: STRONG — same resource, CI/CD actor, alarm was OK prior cycle
Padrão 3: Árvore de Decisão para Reduzir o Raio de Impacto
Use esta árvore para delimitar sistematicamente um incidente do mais amplo para o mais específico:
INÍCIO
|
v
[1] CONTA — Quais contas mostram o alarme?
| - Verifique: Alarmes estão disparando em várias contas?
| - Se sim → suspeite de serviço compartilhado (SSO, rede, pipeline de deploy compartilhado)
| - Se não → prossiga para Região
v
[2] REGIÃO — Quais regiões são afetadas?
| - Verifique: Mesmo alarme em outras regiões?
| - Se multi-região → suspeite de serviço global (IAM, Route53, S3 global)
…
Perguntas frequentes
O que são 'Logs Insights Query Templates'?
São modelos de consulta que ajudam a encontrar informações específicas, como erros ou lentidão, nos registros de atividades do seu sistema.
Como ele descobre se uma atualização causou um problema?
Ele compara o momento em que um alerta foi disparado com os registros de atualizações de software feitas pouco antes. Se uma atualização foi feita pouco antes do problema, ela pode ser a causa.
O que significa 'Narrow the Blast Radius'?
Significa descobrir o quão grande é o problema. Ele ajuda a identificar se o problema afeta uma conta inteira, uma região específica, um serviço ou apenas um recurso particular.
Detalhes
Descrição original do autor
Reusable investigation patterns for AWS CloudWatch: Logs Insights query templates, alarm-to-deployment correlation, blast-radius narrowing decision tree, and PromQL-style metric query patterns for structured incident triage.
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5015
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC