Metryki CloudWatch

Monitoring and Troubleshooting AWS

John Q. Martin

Principal Consultant

Anatomia metryki CloudWatch

 

Diagram punktu danych metryki CloudWatch przedstawiający przestrzeń nazw, nazwę, wymiary, znacznik czasu i jednostkę

Monitoring and Troubleshooting AWS

Metryki standardowe a niestandardowe

Standardowe

  • Publikowane automatycznie przez usługi AWS
  • EC2: bezpłatne co 5 minut, co 1 minutę przy szczegółowym monitorowaniu
  • Przykłady: EC2 CPUUtilization, RDS DatabaseConnections, Lambda Invocations

Niestandardowe

  • Mierzą wszystko: odsłony stron, zamówienia, trafienia w pamięć podręczną
  • Pełna kontrola nad przestrzenią nazw, wymiarami, jednostką i rozdzielczością
  • Każda kombinacja przestrzeni nazw, nazwy i wymiaru jest płatna
Monitoring and Troubleshooting AWS

Rozdzielczość metryk

Porównanie rozdzielczości metryk CloudWatch od jednej sekundy do pięciu minut

  • Co minutę dla produkcji, co pięć minut dla dev/test
  • Co sekundę tylko wtedy, gdy naprawdę potrzebne
  • Standardowe: automatyczne i bezpłatne, ale z przerwami
  • Niestandardowe: pełna kontrola, ale płatne za metrykę
Monitoring and Troubleshooting AWS

Publikowanie niestandardowych metryk

Ikona reprezentująca AWS CLI do publikowania metryk

  • CLI z poleceniem put-metric-data do szybkiego testowania

Ikona do publikowania niestandardowych metryk przez REST API

  • REST API przez HTTP POST do bezpośredniej integracji

Ikona reprezentująca Amazon SDK do publikowania metryk

  • Amazon SDK

Ikona reprezentująca CloudWatch Unified Agent

  • CloudWatch Unified Agent
Monitoring and Troubleshooting AWS

Publikowanie przez CLI

   


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

 

Ikona reprezentująca AWS CLI do publikowania metryk

  • Instrumentuj wszystko, co może wywołać CLI
  • Korzystaj z wymiarów
Monitoring and Troubleshooting AWS

Publikowanie przez SDK

  Przykładowy kod C# z Amazon CloudWatch SDK do publikowania niestandardowej metryki

 

Ikona reprezentująca Amazon SDK do publikowania metryk

  • SDK dla C#, Java, Go, Rust i innych języków
  • Publikuj metryki bezpośrednio z kodu aplikacji
  • Wymiary dzielą metrykę na segmenty według części aplikacji
Monitoring and Troubleshooting AWS

Unified Agent

Plik konfiguracyjny JSON CloudWatch Unified Agent definiujący metryki i interwały zbierania danych

Ikona reprezentująca CloudWatch Unified Agent

  • Zbiera metryki i logi na poziomie systemu operacyjnego
  • Działa na instancjach EC2 lub kontenerach
  • Konfiguracja JSON określa, co zbierać
  • Interwał zbierania można ustawić osobno dla każdej metryki
Monitoring and Troubleshooting AWS

Embedded Metric Format (EMF)

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

 

  • Zapisuj metryki jako ustrukturyzowany JSON w logach
  • CloudWatch wyodrębnia metryki automatycznie
  • Idealne dla Lambda i kontenerów — bez dodatkowego wywołania API
  • Metryki i logi w jednym zapisie
Monitoring and Troubleshooting AWS

Strumienie metryk

 

  • Ciągły eksport danych do zewnętrznych odbiorców
  • S3 lub partnerzy, tacy jak New Relic, Datadog
  • Bogatsze analizy niż w samym CloudWatch
  • Jedno miejsce do monitorowania całej chmury hybrydowej

Diagram poglądowy strumieni metryk CloudWatch eksportujących dane do zewnętrznych odbiorców

Monitoring and Troubleshooting AWS

Przesyłanie strumieniowe do Amazon S3

Diagram przedstawiający przesyłanie metryk z CloudWatch przez Kinesis Data Firehose do zasobnika S3

Monitoring and Troubleshooting AWS

Przesyłanie strumieniowe do rozwiązania partnerskiego

Diagram przedstawiający przesyłanie metryk przez Kinesis Firehose do rozwiązania partnerskiego z kopią zapasową w S3

Monitoring and Troubleshooting AWS

Podsumowanie

Metryki standardowe i niestandardowe

  • Mierzą właściwości obciążeń
  • Metryki niestandardowe dla własnych aplikacji
  • Korzystaj z wymiarów

 

Rozdzielczość a wykrywanie problemów

  • Granularność ma znaczenie
  • Bezpłatne vs. płatne
  • Zależy od usługi

Publikowanie niestandardowych metryk

  • Instrumentuj procesy i aplikacje
  • Wymiary do kategoryzacji
  • SDK lub CLI zamiast bezpośredniego API

 

Strumienie metryk

  • S3 lub rozwiązanie partnerskie
  • Niestandardowe analizy
  • Jeden widok dla całego środowiska
Monitoring and Troubleshooting AWS

Czas na praktykę!

Monitoring and Troubleshooting AWS

Preparing Video For Download...