Amazon SOA-C02: Monitoramento, Registro em Log e Remediação — Guia de estudos
Faz parte do AWS SysOps Administrator Associate SOA-C02 — Guia de estudos. Pratique com respostas verificadas no centro de exames da Amazon, ou faça testes cronometrados no ExamRoll.io.
Monitoramento, logging e remediação fornecem o sistema nervoso operacional para ambientes AWS: eles detectam problemas, fornecem contexto e impulsionam ações corretivas. Este domínio abrange a criação de métricas e dashboards significativos, a coleta e retenção de logs de forma econômica, a construção de observabilidade de aplicações rastreável e a automação de alertas e remediações. Boas implementações equilibram a relação sinal-ruído, controlam custos e garantem que playbooks e automações sejam testados e auditáveis.
Métricas, dashboards e alarmes do CloudWatch
Projete métricas em torno de SLIs de negócio e operacionais (latência, taxa de erro, profundidade da fila, CPU/memória para infraestrutura). Use métricas integradas (EC2, RDS, ELB) mais métricas personalizadas via PutMetricData para contadores no nível da aplicação (aws cloudwatch put-metric-data –namespace MyApp –metric-name OrdersPerMinute –value 42). Prefira dimensões que permitam filtragem (InstanceId, ServiceName) e evite dimensões de alta cardinalidade que aumentam explosivamente os custos das métricas.
Use dashboards do CloudWatch para combinar métricas, logs e alarmes em visões operacionais. Crie widgets no console ou via CloudFormation (AWS::CloudWatch::Dashboard) com metric math para métricas derivadas: calcule a taxa de erro usando metric math (ERRORS/SUM(REQUESTS)) e exiba percentis (p50, p90, p99). Para alarmes, escolha padrões de configuração com base na intenção:
- Alarmes de métrica única para limiares simples: aws cloudwatch put-metric-alarm –alarm-name HighCPU –metric-name CPUUtilization –namespace AWS/EC2 –statistic Average –period 300 –evaluation-periods 2 –threshold 80 –comparison-operator GreaterThanThreshold –alarm-actions arn:aws:sns:…
- Alarmes compostos para reduzir ruído combinando condições (AND/OR) entre múltiplos alarmes.
- Detecção de anomalias para ajustar limiares automaticamente: use a detecção de anomalias do CloudWatch em uma métrica com comportamento sazonal esperado.
Critérios de decisão: use períodos de avaliação e configurações de datapoints para alarme para evitar oscilação (flapping); acione SNS, Auto Scaling ou Systems Manager Automation como ações de alarme. Prefira alarmes compostos e detecção de anomalias para ambientes com linhas de base variáveis.
CloudWatch Logs, Logs Insights e retenção
Agregue logs com grupos do CloudWatch Logs e estruture-os por aplicação e ambiente. Crie grupos de log via CLI: aws logs create-log-group –log-group-name /aws/myapp/frontend e aplique a retenção com aws logs put-retention-policy –log-group-name /aws/myapp/frontend –retention-in-days 30. Use filtros de inscrição (subscription filters) para transmitir logs para o Kinesis Data Firehose (para S3/Redshift), Lambda (processamento em tempo real) ou ferramentas de parceiros; comprima e particione no S3 para reduzir custos de armazenamento.
Use o CloudWatch Logs Insights para consultas ad-hoc e dashboards; crie consultas salvas que extraem IDs de rastreamento (trace IDs) e contextos de erro (ex: fields @timestamp, @message | filter @message like /ERROR/ | parse “traceId=* " as traceId). Práticas de controle de custos de retenção e ingestão:
- Defina a retenção apropriada por grupo de log (7/30/90/365 dias) com base nas necessidades de conformidade e solução de problemas.
- Exporte logs mais antigos para o S3 via ciclo de vida de retenção ou Firehose com compressão e regras de ciclo de vida para o Glacier/Archive.
- Use amostragem ou logs estruturados (JSON) e o Embedded Metric Format (EMF) para reduzir logs caros de alta cardinalidade, mas ainda assim derivar métricas.
Critérios de decisão: retenção curta para logs de depuração detalhados (verbose), retenção mais longa para logs de auditoria/segurança; direcione logs de alto volume para o S3 em vez da retenção indefinida no CloudWatch.
CloudTrail, trilhas de auditoria e histórico de eventos
Habilite o CloudTrail em todas as regiões e contas; crie uma trilha organizacional (organization trail) para centralizar o logging de auditoria em um bucket S3 seguro, com validação de arquivos de log e criptografia SSE-KMS. Configure eventos de gerenciamento (Leitura/Escrita) e habilite seletivamente eventos de dados (nível de objeto S3, invocação de função Lambda) onde uma auditoria detalhada é necessária, pois os eventos de dados têm maior volume e custo.
Use o histórico de eventos do CloudTrail no console para pesquisas rápidas de 90 dias e o CloudTrail Lake ou Athena sobre os logs exportados para o S3 para análises e investigações de longo prazo. Proteja a trilha (trail):
- Aplicando trilhas multirregionais para capturar eventos de serviços globais.
- Integrando o CloudTrail com o CloudWatch Logs para detecção quase em tempo real, ou com o EventBridge para rotear eventos específicos para o Lambda/Systems Manager para remediação automatizada.
- Aplicando políticas de bucket S3 e S3 Object Lock (se necessário) para evitar adulteração.
Critérios de decisão: habilite eventos de dados apenas para buckets/funções onde a visibilidade forense é necessária; use trilhas centralizadas e padrões de acesso entre contas (cross-account) para simplificar a conformidade.
Rastreamento e observabilidade de aplicações (X-Ray)
Instrumente aplicações com os SDKs do AWS X-Ray para emitir segmentos e subsegmentos. Para runtimes não instrumentados, execute o daemon/agente do X-Ray como um sidecar ou serviço (tarefa ECS, daemon EC2 ou rastreamento integrado do Lambda). Configure regras de amostragem (sampling rules) para controlar o volume de rastreamentos e defina mapas de serviço no ServiceLens para visualizar dependências entre serviços. Anote os rastreamentos com chaves de negócio (userId, orderId) e registre exceções/metadados para auxiliar na triagem.
Correlacione rastreamentos com logs incluindo o ID de rastreamento do X-Ray nos logs da aplicação (use o cabeçalho de rastreamento ou o SDK para obter o ID de rastreamento atual) para que as consultas do CloudWatch Logs Insights possam unir logs e rastreamentos. Para o Lambda, habilite o rastreamento ativo (no Console ou com aws lambda update-function-configuration –function-name fn –tracing-config Mode=Active) para enviar rastreamentos automaticamente para o X-Ray. Use a análise de rastreamento (trace analytics) para detectar latências de cauda (tail latencies), pontos de acesso (hotspots) e detalhamento de chamadas de banco de dados.
Critérios de decisão: habilite o rastreamento para serviços críticos e use amostragem adaptativa para limitar o custo; prefira rastreamentos estruturados (anotações/metadados) para tornar a correlação Logs+Traces determinística.
Remediação e alertas automatizados (EventBridge/Lambda)
Use regras do EventBridge para corresponder a mudanças de estado de alarmes do CloudWatch, eventos do CloudTrail ou eventos personalizados e roteá-los para destinos como Lambda, documentos do Systems Manager Automation, Step Functions ou SNS. Crie regras com transformadores de entrada (input transformers) para passar um contexto mínimo para a ação de remediação (aws events put-rule –name HighErrorRule –event-pattern ‘{“source”:[“aws.cloudwatch”],…}’). Implemente funções Lambda para remediações leves (reiniciar um serviço, revogar credenciais), mas use o SSM Automation ou Step Functions para playbooks de longa duração, auditáveis e com checkpoints.
Projete as remediações com segurança: inclua modos de dry-run, idempotência, etapas de validação, privilégio mínimo do IAM (least-privilege), logging e um kill-switch (mecanismo de interrupção). Use filas de mensagens mortas (dead-letter queues) e políticas de nova tentativa (retry policies) nas integrações EventBridge/Lambda e publique as tentativas de remediação em um log de auditoria ou trilha de segurança. Teste as automações em uma conta de staging e execute testes canário (canary tests) após a implantação.
Critérios de decisão: prefira o SSM Automation ou Step Functions para recuperações com múltiplos passos e aprovação humana; use o Lambda para correções simples e rápidas. Sempre inclua um rollback manual ou um ponto de interrupção com intervenção humana (human-in-the-loop) para ações de risco.
Armadilhas Comuns e Critérios de Decisão
- Confiar em uma única métrica para decisões de saúde: combine métricas (ex: taxa de erros + latência + throttles) ou use alarmes compostos/metric math para evitar falsos positivos.
- Não considerar os custos de retenção e ingestão de logs: defina a retenção por grupo de logs (log group), roteie logs em massa para o S3 via Firehose com compressão e use políticas de ciclo de vida (lifecycle policies) para mover dados antigos para camadas de armazenamento mais baratas.
- Instrumentação excessiva com dimensões de alta cardinalidade ou amostragem de traces desativada: limite as dimensões e ative a amostragem adaptativa (adaptive sampling) para controlar os custos, preservando o sinal.
- Implantar remediação automatizada sem testar: valide em staging, use flags de dry-run e garanta a idempotência e rollbacks seguros antes de ativar em produção.
- Fadiga de alertas por alarmes ruidosos: use detecção de anomalias, alarmes compostos, janelas de supressão e escale para a equipe de plantão (on-call) apenas eventos significativos.
- Falta de correlação entre logs, métricas e traces: propague os IDs de trace (trace IDs) para os logs e métricas EMF, e crie consultas salvas no Logs Insights e visualizações no ServiceLens para unificar os dados.
Problema Prático: Cenário de Caso de Uso
A Acme Payments enfrenta falhas intermitentes no processamento de pagamentos durante picos de tráfego; os engenheiros observam aumento de latência e erros 5xx esporádicos, mas as reinicializações automatizadas às vezes mascararam a causa raiz.
- Instrumente o serviço de pagamento com o SDK do X-Ray e métricas EMF; adicione IDs de trace (trace IDs) aos logs da aplicação e envie as métricas estruturadas OrdersFailed e OrdersProcessed via PutMetricData/EMF.
- Crie uma expressão de metric math no CloudWatch para calcular a taxa de erro (OrdersFailed / OrdersProcessed) e um alarme composto combinando taxa de erro > limiar E latência p99 > limiar.
- Roteie as ações do alarme para uma regra do EventBridge que aciona um workflow do Step Functions para etapas de diagnóstico (coletar traces/logs recentes, executar verificações de saúde) e, se for seguro, uma reinicialização automatizada via SSM Automation.
- Configure a inscrição (subscription) do CloudTrail e do CloudWatch Logs para arquivar logs completos no S3 (comprimidos) com ciclo de vida para o Glacier, e defina uma retenção curta no CloudWatch para logs de depuração (debug) detalhados.
- Execute testes de ponta a ponta e transações sintéticas canário (CloudWatch Synthetics) para validar a observabilidade e o fluxo de remediação antes de habilitar a autorremediação em produção.
Justificativa: correlacione métricas, logs e traces para localizar a causa raiz em vez de tratar repetidamente os sintomas; combine alarmes para reduzir o ruído e use automação auditável e testada (Step Functions/SSM) para uma remediação segura, enquanto controla os custos de armazenamento de logs.
Todos os domínios · Alta Disponibilidade →
Pratique estas questões → · Prática cronometrada no ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Passe no seu exame →