Metriche CloudWatch

Monitoraggio e risoluzione dei problemi su AWS

John Q. Martin

Principal Consultant

Anatomia di una metrica CloudWatch

 

Diagramma di un punto dati di una metrica CloudWatch che mostra namespace, nome, dimensioni, timestamp e unità

Monitoraggio e risoluzione dei problemi su AWS

Metriche standard vs personalizzate

Standard

  • Pubblicate automaticamente dai servizi AWS
  • EC2: 5 minuti gratis, 1 minuto con monitoraggio dettagliato
  • Esempi: EC2 CPUUtilization, RDS DatabaseConnections, Lambda Invocations

Personalizzate

  • Misura qualsiasi cosa: page loads, ordini, cache hit rate
  • Controllo totale di namespace, dimensioni, unità, risoluzione
  • Ogni combinazione di namespace, nome e dimensioni è a pagamento
Monitoraggio e risoluzione dei problemi su AWS

Risoluzioni delle metriche

Confronto delle risoluzioni delle metriche CloudWatch da un secondo a cinque minuti

  • Un minuto in produzione, cinque in dev/test
  • Un secondo solo quando davvero necessario
  • Standard: automatiche e gratuite, ma con lacune
  • Personalizzate: controllo completo con costo per metrica
Monitoraggio e risoluzione dei problemi su AWS

Pubblicare metriche personalizzate

Icona che rappresenta l'AWS CLI per pubblicare metriche

  • CLI con put-metric-data per test rapidi

Icona per pubblicare metriche personalizzate usando la REST API

  • REST API via HTTP POST per integrazione diretta

Icona che rappresenta un Amazon SDK per pubblicare metriche

  • Amazon SDK

Icona che rappresenta il CloudWatch Unified Agent

  • CloudWatch Unified Agent
Monitoraggio e risoluzione dei problemi su AWS

Pubblicare con CLI

   


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

 

Icona che rappresenta l'AWS CLI per pubblicare metriche

  • Strumenta tutto ciò che può chiamare una CLI
  • Sfrutta le Dimensions
Monitoraggio e risoluzione dei problemi su AWS

Pubblicare con SDK

  Esempio di codice C# che usa l'Amazon CloudWatch SDK per pubblicare una metrica personalizzata

 

Icona che rappresenta un Amazon SDK per pubblicare metriche

  • SDK per C#, Java, Go, Rust e altri
  • Pubblica metriche dal codice applicativo
  • Le Dimensions segmentano una metrica tra parti dell'app
Monitoraggio e risoluzione dei problemi su AWS

Unified agent

File di configurazione JSON per CloudWatch Unified Agent che definisce metriche e intervalli di raccolta

Icona che rappresenta il CloudWatch Unified Agent

  • Raccoglie metriche e log a livello OS
  • Esegue su istanze EC2 o container
  • Config JSON definisce cosa raccogliere
  • Regola l'intervallo per metrica
Monitoraggio e risoluzione dei problemi su AWS

Embedded Metric Format (EMF)

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

 

  • Scrivi metriche come JSON strutturato nei log
  • CloudWatch estrae le metriche in automatico
  • Ideale per Lambda e container, senza chiamate API extra
  • Metriche e log con un'unica scrittura
Monitoraggio e risoluzione dei problemi su AWS

Metric streams

 

  • Esporta continuamente i dati verso destinazioni esterne
  • S3 o partner come New Relic, Datadog
  • Abilita analytics più ricche rispetto al solo CloudWatch
  • Vista unificata per cloud ibrido

Diagramma panoramico dei metric streams di CloudWatch che esportano dati a destinazioni esterne

Monitoraggio e risoluzione dei problemi su AWS

Streaming verso Amazon S3

Diagramma delle metriche in streaming da CloudWatch tramite Kinesis Data Firehose a un bucket S3

Monitoraggio e risoluzione dei problemi su AWS

Streaming verso soluzione partner

Diagramma delle metriche in streaming tramite Kinesis Firehose verso un endpoint di una soluzione partner con backup S3

Monitoraggio e risoluzione dei problemi su AWS

Riepilogo

Metriche e metriche personalizzate

  • Misura attributi dei carichi di lavoro
  • Metriche personalizzate per le tue applicazioni
  • Sfrutta le Dimensions

 

Risoluzioni per il rilevamento

  • La granularità conta
  • Gratis vs a pagamento
  • Dipende dal servizio

Pubblicare metriche personalizzate

  • Strumenta processi e applicazioni
  • Dimensions per categorizzare
  • SDK o CLI sopra l'API

 

Metric streams

  • S3 o soluzione partner
  • Analytics personalizzate
  • Vista unificata
Monitoraggio e risoluzione dei problemi su AWS

Esercitiamoci!

Monitoraggio e risoluzione dei problemi su AWS

Preparing Video For Download...