Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)40 mil · #5015

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

https://github.com/github/awesome-copilot/blob/main/skills/aws-cloudwatch-investigation/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/aws-cloudwatch-investigation/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-investigation

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/aws-cloudwatch-investigation/SKILL.md -o SKILL.md
Conteú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

  1. Obter o tempo de transição do alarme — anote o timestamp exato em que o alarme entrou no estado ALARM.
  2. 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
  1. 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)
  2. 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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas