Métricas do CloudWatch

Monitoramento e Solução de Problemas na AWS

John Q. Martin

Principal Consultant

Anatomia de uma métrica do CloudWatch

 

Diagrama de um ponto de dados de métrica do CloudWatch mostrando namespace, nome, dimensões, carimbo de data/hora e unidade

Monitoramento e Solução de Problemas na AWS

Métricas padrão vs. personalizadas

Padrão

  • Publicadas automaticamente pelos serviços da AWS
  • EC2: 5 min grátis, 1 min com monitoramento detalhado
  • Exemplos: EC2 CPUUtilization, RDS DatabaseConnections, Lambda Invocations

Personalizada

  • Meça qualquer coisa: page loads, pedidos, taxas de acerto de cache
  • Controle total de namespace, dimensões, unidade, resolução
  • Cada combinação de namespace, nome e dimensão é cobrada
Monitoramento e Solução de Problemas na AWS

Resoluções de métricas

Comparação de resoluções de métricas do CloudWatch de um segundo a cinco minutos

  • Um minuto para produção; cinco para dev/teste
  • Um segundo só quando realmente necessário
  • Padrão: automático e grátis, mas com lacunas
  • Personalizada: controle total com custo por métrica
Monitoramento e Solução de Problemas na AWS

Publicando métricas personalizadas

Ícone representando a AWS CLI para publicar métricas

  • CLI usando put-metric-data para testes rápidos

Ícone para publicar métricas personalizadas usando a REST API

  • REST API via HTTP POST para integração direta

Ícone representando um Amazon SDK para publicar métricas

  • Amazon SDK

Ícone representando o CloudWatch Unified Agent

  • CloudWatch Unified Agent
Monitoramento e Solução de Problemas na AWS

Publicando com CLI

   


aws cloudwatch put-metric-data \
  --namespace "Pipeline/DeployDb" \
  --metric-name "stepDuration" \
  --dimensions Name=Pipeline,Value=ProdApp01 \
  --value 42 \
  --unit "Seconds"

 

Ícone representando a AWS CLI para publicar métricas

  • Instrumente qualquer coisa que possa chamar a CLI
  • Use Dimensions
Monitoramento e Solução de Problemas na AWS

Publicando com SDK

  Exemplo de código C# usando o Amazon CloudWatch SDK para publicar uma métrica personalizada

 

Ícone representando um Amazon SDK para publicar métricas

  • SDKs para C#, Java, Go, Rust e mais
  • Publique métricas a partir do código da aplicação
  • Dimensões segmentam a métrica entre partes do app
Monitoramento e Solução de Problemas na AWS

Agente unificado

Arquivo de configuração JSON do CloudWatch Unified Agent definindo métricas e intervalos de coleta

Ícone representando o CloudWatch Unified Agent

  • Coleta métricas e logs do SO
  • Roda em instâncias EC2 ou contêineres
  • Config JSON define o que coletar
  • Ajuste o intervalo por métrica
Monitoramento e Solução de Problemas na AWS

Embedded Metric Format (EMF)

{
  "_aws": {
    "CloudWatchMetrics": [{
      "Namespace": "MyApp",
      "Dimensions": [["functionName"]],
      "Metrics": [{"Name": "latency", "Unit": "Milliseconds"}]
    }]
  },
  "functionName": "checkout",
  "latency": 56
}

 

  • Escreva métricas como JSON estruturado nos seus logs
  • O CloudWatch extrai as métricas automaticamente
  • Ideal para Lambda e contêineres, sem chamada extra à API
  • Métricas e logs em uma única escrita
Monitoramento e Solução de Problemas na AWS

Streams de métricas

 

  • Exporte dados continuamente para destinos externos
  • S3 ou parceiros como New Relic, Datadog
  • Habilita análises mais ricas que só o CloudWatch
  • Painel único para nuvem híbrida

Diagrama geral de streams de métricas do CloudWatch exportando dados para destinos externos

Monitoramento e Solução de Problemas na AWS

Streaming para o Amazon S3

Diagrama de métricas fluindo do CloudWatch pelo Kinesis Data Firehose para um bucket S3

Monitoramento e Solução de Problemas na AWS

Streaming para solução parceira

Diagrama de métricas fluindo pelo Kinesis Firehose para um endpoint de solução parceira com backup em S3

Monitoramento e Solução de Problemas na AWS

Resumo

Métricas e métricas personalizadas

  • Meça atributos de workloads
  • Métricas personalizadas para seus apps
  • Use Dimensions

 

Resoluções para detecção

  • Granularidade é importante
  • Grátis vs. pago
  • Depende do serviço

Publicando métricas personalizadas

  • Instrumente processos e aplicações
  • Dimensões para categorização
  • SDK ou CLI sobre a API

 

Streams de métricas

  • S3 ou solução parceira
  • Análises personalizadas
  • Painel único
Monitoramento e Solução de Problemas na AWS

Vamos praticar!

Monitoramento e Solução de Problemas na AWS

Preparing Video For Download...