Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni
🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!19.04.2023
Кілька порад по графіках в AWS CloudWatch
📊 AWS CloudWatch - апарат Amazon Web Services для збору та аналізу метрик. Я успішно користуюся їм вже декілька років. Консоль CloudWatch, хоч і потужний інструмент, дуже мало пояснює, що з нею можна робити — тож ось кілька порад.
-
На один графік можна додати більш ніж одну метрику. При цьому вони починають накладатись на одну шкалу, попри різні одиниці виміру — це зазвичай дуже незручно. Наприклад, кількість транзакцій в тисячах та час транзакції в долях секунди — першу ми побачимо, а другий виродиться в пряму. Тому вертикальних шкал у графіка є дві — ліва та права. Так можна на одному графіку розташувати метрики у двох вимірах, та не втратити ясність.
-
Щоб відстежити кореляцію між більшою кількістю метрик, можна скласти їх на дешборд. Особливо наочно буде, якщо розташувати вертикально. Всі графіки на дешборді будуть мати один та той самий діапазон часу, та позиція курсора на одному з графіків буде віддзеркалюватись на інших. Наприклад, при аналізі проблемної ситуації можна зібрати дешборд з показниками всіх підсистем, замість того, щоб перемикатися між декількома різними графіками, в яких легко заплутатись.
-
Якщо шкала вимірюється від 0 до 100 (як використання CPU), або має інші відомі обмеження, варто явно встановити їх як мінімальне та максимальне значення для шкали. Інакше CloudWatch обиратиме межі динамічно, що здатно перебільшувати маленькі різниці та омиляти розуміння.
-
Не забуваймо обирати правильну статистичну функцію для кожної метрики. Для більшості підійде середнє значення, але якщо метрика має накопичувальний характер, то правильно робити суму. Ще корисні процентилі. А взагалі доступних функцій більше, ніж я знаю в принципі.
-
До вбудованих метрик корисно буде додати свої власні — для цього є API PutMetricData. А якщо хочеться зовсім просто, то навіть можна будувати метрику з журналу. Проте, недолік всієї системи CloudWatch - вона дозволяє тільки статистичний аналіз, тобто, наприклад, не вийде відстежити, яка конкретно транзакція є особливо повільною.