Метрики CloudWatch

Моніторинг і усунення несправностей в AWS

John Q. Martin

Principal Consultant

Будова метрики CloudWatch

 

Схема точки даних метрики CloudWatch із namespace, name, dimensions, timestamp та unit

Моніторинг і усунення несправностей в AWS

Стандартні vs. користувацькі метрики

Стандартні

  • Публікуються автоматично сервісами AWS
  • EC2: 5 хв безплатно, 1 хв з детальним моніторингом
  • Приклади: EC2 CPUUtilization, RDS DatabaseConnections, Lambda Invocations

Користувацькі

  • Вимірюйте що завгодно: завантаження сторінок, замовлення, відсоток влучань у кеш
  • Повний контроль namespace, dimensions, unit, resolution
  • Кожна комбінація namespace, name і dimension тарифікується
Моніторинг і усунення несправностей в AWS

Роздільні здатності метрик

Порівняння роздільних здатностей метрик CloudWatch від однієї секунди до п'яти хвилин

  • 1 хв для продакшену, 5 хв для dev/test
  • 1 секунда лише за реальної потреби
  • Стандартні: автоматично й безплатно, але з прогалинами
  • Користувацькі: повний контроль за кожну метрику
Моніторинг і усунення несправностей в AWS

Публікація користувацьких метрик

Піктограма AWS CLI для публікації метрик

  • CLI з put-metric-data для швидких тестів

Піктограма публікації користувацьких метрик через REST API

  • REST API через HTTP POST для прямої інтеграції

Піктограма Amazon SDK для публікації метрик

  • Amazon SDK

Піктограма CloudWatch Unified Agent

  • CloudWatch Unified Agent
Моніторинг і усунення несправностей в AWS

Публікація через CLI

   


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

 

Піктограма AWS CLI для публікації метрик

  • Інструментуйте все, що може викликати CLI
  • Використовуйте Dimensions
Моніторинг і усунення несправностей в AWS

Публікація через SDK

  Зразок коду C# з Amazon CloudWatch SDK для публікації користувацької метрики

 

Піктограма Amazon SDK для публікації метрик

  • SDK для C#, Java, Go, Rust та ін.
  • Публікуйте метрики з коду застосунку
  • Dimensions ділять метрику між частинами застосунку
Моніторинг і усунення несправностей в AWS

Уніфікований агент

JSON-конфігурація CloudWatch Unified Agent з визначенням метрик і інтервалів збору

Піктограма CloudWatch Unified Agent

  • Збирає метрики та логи рівня ОС
  • Працює на інстансах EC2 або в контейнерах
  • Конфігурація JSON визначає, що збирати
  • Налаштовуйте інтервал збору для кожної метрики
Моніторинг і усунення несправностей в AWS

Embedded Metric Format (EMF)

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

 

  • Записуйте метрики як структурований JSON у логах
  • CloudWatch автоматично витягує ці метрики
  • Ідеально для Lambda й контейнерів, без додаткового API виклику
  • Метрики й логи одним записом
Моніторинг і усунення несправностей в AWS

Потоки метрик

 

  • Безперервний експорт даних у зовнішні цілі
  • S3 або партнери на кшталт New Relic, Datadog
  • Дає змогу робити глибшу аналітику, ніж лише в CloudWatch
  • Єдина панель для гібридної хмари

Оглядова схема експорту потоків метрик CloudWatch до зовнішніх цілей

Моніторинг і усунення несправностей в AWS

Стрімінг до Amazon S3

Схема потокової передачі метрик з CloudWatch через Kinesis Data Firehose до S3 бакета

Моніторинг і усунення несправностей в AWS

Стрімінг до партнерського рішення

Схема потокової передачі метрик через Kinesis Firehose до кінцевої точки партнерського рішення з резервом у S3

Моніторинг і усунення несправностей в AWS

Підсумок

Метрики та користувацькі метрики

  • Вимірюйте атрибути робочих навантажень
  • Користувацькі метрики для власних застосунків
  • Використовуйте Dimensions

 

Роздільність для виявлення

  • Важлива деталізація
  • Безплатно vs платно
  • Залежить від сервісу

Публікація користувацьких метрик

  • Інструментуйте процеси й застосунки
  • Dimensions для категоризації
  • SDK або CLI поверх API

 

Потоки метрик

  • S3 або партнерське рішення
  • Власна аналітика
  • Єдина панель огляду
Моніторинг і усунення несправностей в AWS

Давайте потренуємось!

Моніторинг і усунення несправностей в AWS

Preparing Video For Download...