Metriky CloudWatch

Monitoring and Troubleshooting AWS

John Q. Martin

Principal Consultant

Anatomie metriky CloudWatch

 

Diagram datového bodu metriky CloudWatch zobrazující namespace, název, dimenze, časové razítko a jednotku

Monitoring and Troubleshooting AWS

Standardní vs. vlastní metriky

Standardní

  • Publikují je automaticky služby AWS
  • EC2: zdarma každých 5 minut, po minutě s podrobným monitorováním
  • Příklady: EC2 CPUUtilization, RDS DatabaseConnections, Lambda Invocations

Vlastní

  • Měříš cokoliv: načtení stránek, objednávky, cache hit rate
  • Plná kontrola nad namespace, dimenzemi, jednotkou a rozlišením
  • Každá kombinace namespace, názvu a dimenze se účtuje
Monitoring and Troubleshooting AWS

Rozlišení metrik

Srovnání rozlišení metrik CloudWatch od jedné sekundy do pěti minut

  • Minuta pro produkci, pět minut pro dev/test
  • Jedna sekunda jen tehdy, když je to skutečně potřeba
  • Standardní: automaticky a zdarma, ale s mezerami
  • Vlastní: plná kontrola za cenu za metriku
Monitoring and Troubleshooting AWS

Publikování vlastních metrik

Ikona AWS CLI pro publikování metrik

  • CLI pomocí put-metric-data pro rychlé testování

Ikona pro publikování vlastních metrik přes REST API

  • REST API přes HTTP POST pro přímou integraci

Ikona Amazon SDK pro publikování metrik

  • Amazon SDK

Ikona CloudWatch Unified Agent

  • CloudWatch Unified Agent
Monitoring and Troubleshooting AWS

Publikování přes CLI

   


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

 

Ikona AWS CLI pro publikování metrik

  • Instrumentuj cokoliv, co dokáže volat CLI
  • Využívej dimenze
Monitoring and Troubleshooting AWS

Publikování přes SDK

  Ukázka kódu v C# s Amazon CloudWatch SDK pro publikování vlastní metriky

 

Ikona Amazon SDK pro publikování metrik

  • SDK pro C#, Java, Go, Rust a další
  • Publikuj metriky přímo z kódu aplikace
  • Dimenze rozdělí metriku podle částí aplikace
Monitoring and Troubleshooting AWS

Unified Agent

Konfigurační soubor JSON pro CloudWatch Unified Agent definující metriky a intervaly sběru

Ikona CloudWatch Unified Agent

  • Sbírá metriky a logy na úrovni OS
  • Běží na instancích EC2 nebo v kontejnerech
  • JSON konfigurace určuje, co se sbírá
  • Interval sběru lze nastavit pro každou metriku zvlášť
Monitoring and Troubleshooting AWS

Embedded Metric Format (EMF)

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

 

  • Metriky zapisuj jako strukturovaný JSON přímo do logů
  • CloudWatch metriky extrahuje automaticky
  • Ideální pro Lambda a kontejnery, bez extra volání API
  • Metriky i logy z jediného zápisu
Monitoring and Troubleshooting AWS

Streamy metrik

 

  • Průběžný export dat do externích cílů
  • S3 nebo partneři jako New Relic, Datadog
  • Bohatší analytika než samotný CloudWatch
  • Jednotný přehled pro hybridní cloud

Přehledový diagram streamů metrik CloudWatch exportujících data do externích cílů

Monitoring and Troubleshooting AWS

Streamování do Amazon S3

Diagram streamování metrik z CloudWatch přes Kinesis Data Firehose do S3 bucketu

Monitoring and Troubleshooting AWS

Streamování do partnerského řešení

Diagram streamování metrik přes Kinesis Firehose do partnerského řešení s zálohou v S3

Monitoring and Troubleshooting AWS

Shrnutí

Metriky a vlastní metriky

  • Měří vlastnosti pracovních zátěží
  • Vlastní metriky pro tvé aplikace
  • Využívej dimenze

 

Rozlišení pro detekci

  • Granularita je důležitá
  • Zdarma vs. placené
  • Závisí na službě

Publikování vlastních metrik

  • Instrumentuj procesy a aplikace
  • Dimenze pro kategorizaci
  • SDK nebo CLI místo přímého API

 

Streamy metrik

  • S3 nebo partnerské řešení
  • Vlastní analytika
  • Jednotný přehled
Monitoring and Troubleshooting AWS

Pojďme cvičit!

Monitoring and Troubleshooting AWS

Preparing Video For Download...