Метрики CloudWatch

Мониторинг и устранение неполадок в AWS

John Q. Martin

Principal Consultant

Структура метрики CloudWatch

 

Диаграмма точки данных метрики CloudWatch: пространство имён, название, измерения, временная метка и единица

Мониторинг и устранение неполадок в AWS

Стандартные и пользовательские метрики

Стандартные

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

Пользовательские

  • Измеряйте что угодно: загрузки страниц, заказы, процент попаданий в кэш
  • Полный контроль над пространством имён, измерениями, единицей и разрешением
  • Каждая комбинация пространства имён, названия и измерения тарифицируется
Мониторинг и устранение неполадок в AWS

Разрешение метрик

Сравнение разрешений метрик CloudWatch: от одной секунды до пяти минут

  • Одна минута — для production, пять минут — для dev/test
  • Одна секунда — только при реальной необходимости
  • Стандартные: автоматически и бесплатно, но с пробелами
  • Пользовательские: полный контроль, оплата за каждую метрику
Мониторинг и устранение неполадок в 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 и других языков
  • Публикация метрик из кода приложения
  • Измерения разбивают метрику по частям приложения
Мониторинг и устранение неполадок в 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)

 

Разрешение для обнаружения проблем

  • Гранулярность имеет значение
  • Бесплатно или платно
  • Зависит от сервиса

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

  • Инструментирование процессов и приложений
  • Измерения для категоризации
  • SDK или CLI вместо прямого API

 

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

  • S3 или партнёрское решение
  • Расширенная аналитика
  • Единая панель управления
Мониторинг и устранение неполадок в AWS

Давайте потренируемся!

Мониторинг и устранение неполадок в AWS

Preparing Video For Download...