Як налаштувати моніторинг у CloudWatch?

AWS дає величезні можливості, але водночас вимагає дисципліни. Якщо не стежити за навантаженням — система почне горіти саме тоді, коли це найменше потрібно. І тут у гру вступає Amazon CloudWatch.

У цьому гайді ти розберешся, як з нуля налаштувати моніторинг у CloudWatch: від збору метрик до створення дашбордів та розумних алертів. Тож перейдімо до головного.

Що таке CloudWatch і навіщо він тобі?

CloudWatch — це центральна панель моніторингу в AWS. Тут збираються метрики, логи, події, алерти та графіки — усе, щоб бачити повну картину стану інфраструктури.

CloudWatch використовують для моніторингу:

  • EC2 — віртуальні сервери, на яких запускаєш застосунки та сервіси.
  • RDS та DynamoDB — керовані бази даних, за якими CloudWatch стежить за з’єднаннями, навантаженням і продуктивністю.
  • S3 — сховище файлів, де важливо контролювати запити, помилки та використання.
  • Lambda — безсерверні функції, у яких моніториш кількість викликів, тривалість і помилки.
  • ECS / EKS — контейнерні платформи, що потребують контролю стану кластерів, сервісів і навантаження на поди.
  • Кастомні застосунки — будь-які власні сервіси, для яких ти сам відправляєш метрики й логи в CloudWatch.

Замість десятків консолей маєш один інструмент, що показує, як живе твоя система прямо зараз.

Що потрібно підготувати?

Щоб моніторинг працював коректно й давав повну картину, потрібно підготувати кілька речей. Це не складно, але без цього CloudWatch або не побачить частину даних, або не зможе надсилати сповіщення.

1. Акаунт AWS

Це твій кабінет у хмарі: саме там живуть усі ресурси, які будеш моніторити. Без акаунта CloudWatch просто немає до чого підключатися.

2. IAM-доступ

IAM — це система доступів в AWS. Її завдання — визначити, хто й що може робити в хмарі.

Щоб CloudWatch працював, користувач або роль повинні мати:

  • cloudwatch:* — дозволи переглядати та створювати метрики, аларми й дашборди.
  • logs:* — доступ до логів, інакше CloudWatch не зможе їх збирати.
  • sns:* — потрібен, якщо хочеш отримувати сповіщення (email, SMS, Slack).
  • доступ до сервісів, які моніториш — наприклад, право читати інформацію про EC2, якщо хочеш бачити CPU та мережу.

Просто кажучи: IAM вирішує, чи має право CloudWatch мати дейт з твоєю інфраструктурою.

3. CloudWatch Agent

CloudWatch збирає тільки базові показники сервісів AWS (наприклад, процесор і мережеву активність EC2).

Але якщо хочеш бачити детальну інформацію про саму машину або застосунок — потрібен CloudWatch Agent. Його встановлюють на:

  • EC2
  • звичайні сервери в дата-центрі

Завдяки агенту можна моніторити:

  • RAM (скільки пам’яті реально використовується)
  • I/O (швидкість читання/запису диска)
  • Диск 
  • Кастомні метрики

Без агента CloudWatch бачить тільки зовнішні метрики інстансу, але не те, що відбувається всередині.

Стартовий набір моніторингу

Далі — покрокова інструкція, яка допоможе налаштувати моніторинг так, щоб ти бачив стан інфраструктури в режимі реального часу й отримував алерти, коли щось йде не так.

Крок 1. Увімкни збір метрик

AWS збирає базові метрики у більшості сервісів. Але ти можеш розширити це двома способами.

1) Проведи деталізований моніторинг

Для EC2:

  1. Зайди в EC2 Console
  2. Обери інстанс
  3. Actions → Monitor and troubleshoot → Manage detailed monitoring
  4. Увімкни detailed monitoring

Навіщо це робити?

  • Бачиш піки навантаження точніше
  • Алерти стають швидшими
  • Зменшуєш ризик пропустити короткочасні проблеми

2) Встанови CloudWatch Agent

Як встановити?

  1. Використай Systems Manager (SSM) або встанови вручну.
  2. Створи JSON-конфіг, де вкажеш:
    • які метрики збирати
    • які логи надсилати
    • інтервали
  3. Запусти агент.

Після цього CloudWatch починає отримувати розширену телеметрію.

Крок 2. Розберись з метриками

1. Метрики інфраструктури

Це базові технічні показники, які AWS генерує автоматично для своїх сервісів.

  • CPUUtilization — наскільки завантажений процесор.
  • Network In / Out — обсяг вхідного та вихідного трафіку.
  • DiskReadOps / DiskWriteOps — скільки разів система читає або записує дані на диск.
  • DB Connections — кількість активних підключень до бази даних.

Такі метрики показують стан твоїх ресурсів: чи справляється сервер, диск, база, мережа.

2. Метрики застосунків

Ці дані показують, як поводиться сервіс під навантаженням — особливо, якщо використовуєш API Gateway, ECS, EKS чи Application Load Balancer.

  • Кількість запитів 
  • Latency 
  • Error rate 
  • 4xx/5xx

Ці показники допомагають знайти проблеми в логіці застосунку, навантаженні або маршрутизації.

3. Кастомні метрики

Це дані, які ти сам надсилаєш у CloudWatch — залежно від логіки продукту.

  • Business metrics — важливі бізнес-показники.
  • Кількість транзакцій — чи не відбувається різкий спад або стрибок.
  • Статуси черг — скільки завдань накопичилось у черзі.
  • Внутрішні помилки застосунку — будь-які помилки, які хочеш відстежувати окремо.

Індивідуальні метрики корисні, коли потрібно бачити не тільки технічний стан, а й поведінку продукту з погляду процесів.

Від типу метрики залежить, як і коли варто ставити алерти.

Крок 3. Створи алерти 

Алерти — це те, що робить CloudWatch корисним. Він не просто показує дані, а реагує на зміни.

Що ти можеш налаштувати?

  • Email / SMS сповіщення
  • Push у Slack / Telegram через SNS
  • Auto Scaling (додавання чи видалення інстансів)
  • Зупинка / запуск EC2

Як створити своє перше сповіщення?

  1. Зайди в CloudWatch Console.
  2. Обери Alarms → Create alarm (створити сповіщення).
  3. Знайди метрику, яку хочеш контролювати (наприклад, CPUUtilization).
  4. Вкажи умову, коли сповіщення має спрацювати, наприклад:
    • навантаження понад 80%,
    • протягом 5 хвилин поспіль.
  5. Додай дію:
    • надсилання email через SNS,
    • або запуск Auto Scaling, якщо потрібно автоматично додати інстанси.
  6. Збережи — і все готово.

Після цього CloudWatch повідомить, якщо інстанс почне працювати на межі своїх можливостей.

Крок 4. Створи дашборд 

Дашборди допомагають побачити цілу інфраструктуру на одній сторінці.

Що можна додати:

  • графіки навантаження;
  • статуси сервісів;
  • кількість помилок;
  • health EC2/RDS;
  • реальні логи.

Як створити дашборд?

  1. В CloudWatch — обери Dashboards.
  2. Створи новий.
  3. Додай віджети:
    • лінійні графіки;
    • числа (наприклад, latency);
    • heatmap.
  4. Вкажи метрики для кожного віджета.
  5. Збережи та поділися з командою.

Висновок

CloudWatch — це твій спосіб бачити інфраструктуру такою, яка вона є: з навантаженнями, помилками та слабкими місцями.

Як тільки налаштуєш його:

  • сервіс працює стабільніше;
  • інциденти помічаються раніше;
  • команда реагує швидше;
  • автоматизація бере рутину на себе.

Готовий налаштувати свій перший повноцінний моніторинг? Тоді вперед — AWS робитиме важку роботу, а ти контролюватимеш ситуацію.

Залишити відповідь

Дякуємо, що поділились