Metrici CloudWatch

Monitorizare și depanare în AWS

John Q. Martin

Principal Consultant

Anatomia unei metrici CloudWatch

 

Diagramă a unui punct de date pentru o metrică CloudWatch, cu namespace, nume, dimensiuni, timestamp și unitate

Monitorizare și depanare în AWS

Metrici standard vs. personalizate

Standard

  • Publicate automat de serviciile AWS
  • EC2: gratuit la 5 minute, la 1 minut cu monitorizare detaliată
  • Exemple: EC2 CPUUtilization, RDS DatabaseConnections, Lambda Invocations

Personalizate

  • Măsoară orice: încărcări de pagini, comenzi, rate de cache hit
  • Control deplin asupra namespace, dimensiuni, unitate, rezoluție
  • Fiecare combinație namespace, nume și dimensiune este facturabilă
Monitorizare și depanare în AWS

Rezoluțiile metricilor

Comparație a rezoluțiilor metricilor CloudWatch, de la o secundă la cinci minute

  • Un minut pentru producție, cinci minute pentru dev/test
  • O secundă doar când este cu adevărat necesar
  • Standard: automat și gratuit, dar cu lacune
  • Personalizat: control deplin, cu cost per metrică
Monitorizare și depanare în AWS

Publicarea metricilor personalizate

Pictogramă reprezentând AWS CLI pentru publicarea metricilor

  • CLI cu put-metric-data pentru testare rapidă

Pictogramă pentru publicarea metricilor personalizate prin REST API

  • REST API prin HTTP POST pentru integrare directă

Pictogramă reprezentând un Amazon SDK pentru publicarea metricilor

  • Amazon SDK

Pictogramă reprezentând CloudWatch Unified Agent

  • CloudWatch Unified Agent
Monitorizare și depanare în AWS

Publicare cu CLI

   


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

 

Pictogramă reprezentând AWS CLI pentru publicarea metricilor

  • Instrumentează orice proces care poate apela un CLI
  • Folosește Dimensions
Monitorizare și depanare în AWS

Publicare cu SDK

  Exemplu de cod C# folosind Amazon CloudWatch SDK pentru publicarea unei metrici personalizate

 

Pictogramă reprezentând un Amazon SDK pentru publicarea metricilor

  • SDK-uri pentru C#, Java, Go, Rust și altele
  • Publică metrici direct din codul aplicației
  • Dimensions segmentează o metrică pe componentele aplicației
Monitorizare și depanare în AWS

Unified Agent

Fișier de configurare JSON pentru CloudWatch Unified Agent, cu definiții de metrici și intervale de colectare

Pictogramă reprezentând CloudWatch Unified Agent

  • Colectează metrici și loguri la nivel de OS
  • Rulează pe instanțe EC2 sau containere
  • Configurația JSON definește ce se colectează
  • Intervalul de colectare poate fi ajustat per metrică
Monitorizare și depanare în AWS

Embedded Metric Format (EMF)

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

 

  • Scrie metrici ca JSON structurat în loguri
  • CloudWatch extrage metricile automat
  • Ideal pentru Lambda și containere, fără apel API suplimentar
  • Metrici și loguri dintr-o singură scriere
Monitorizare și depanare în AWS

Stream-uri de metrici

 

  • Exportă continuu date către destinații externe
  • S3 sau parteneri precum New Relic, Datadog
  • Permite analize mai complexe decât CloudWatch singur
  • Vizualizare unificată pentru cloud hibrid

Diagramă de ansamblu a stream-urilor de metrici CloudWatch care exportă date către destinații externe

Monitorizare și depanare în AWS

Streaming către Amazon S3

Diagramă a stream-ului de metrici din CloudWatch prin Kinesis Data Firehose către un bucket S3

Monitorizare și depanare în AWS

Streaming către soluție partener

Diagramă a stream-ului de metrici prin Kinesis Firehose către un endpoint de soluție partener, cu backup în S3

Monitorizare și depanare în AWS

Rezumat

Metrici și metrici personalizate

  • Măsoară atributele aplicațiilor
  • Metrici personalizate pentru aplicațiile tale
  • Folosește Dimensions

 

Rezoluții pentru detectare

  • Granularitatea contează
  • Gratuit vs. contra cost
  • Depinde de serviciu

Publicarea metricilor personalizate

  • Instrumentează procese și aplicații
  • Dimensions pentru categorizare
  • SDK sau CLI în locul API

 

Stream-uri de metrici

  • S3 sau soluție partener
  • Analize personalizate
  • Vizualizare unificată
Monitorizare și depanare în AWS

Hai să exersăm!

Monitorizare și depanare în AWS

Preparing Video For Download...