Завдання 9. Моніторинг метрик компонентів реєстру (Grafana)

1. Мета завдання

Виконання цього завдання має на меті:
  • Отримати навички роботи з Grafana для моніторингу метрик компонентів реєстру.

2. Процес виконання завдання

2.1. Ознайомлення з наявними Dashboards

  1. Перейдіть до швидких посилань та оберіть Grafana.

    01 grafana

  2. Оберіть Sign in with OAuth.

    09 sign in grafana

  3. Автентифікуйтеся як адміністратор цього реєстру та натисніть Sign In.

    10 sign in openshift

  4. Перейдіть до Dashboards > Manage > Dashboards.

    02 manage dashboard

    03 manage dashboard

  5. Ознайомтеся із наявними Dashboards.

    11 dashboards

    12 dashboards

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

2.2. Ознайомлення із дашбордом Spring Boot

  1. Перейдіть до Dashboards > Manage > Dashboards > Spring Boot.

    13 spring boot dashboard

  2. Оберіть namespace тестового реєстру та под bpms-xxxxxxxxxx-xxxxxxxxx.

    04 sprint boot dashboard

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

    05 sprint boot dashboard

    Зверніть увагу на показник heap, це також може бути актуально і для розробників.
    Heap — це ділянка пам’яті, яка використовується для зберігання об’єктів, які були створені java-застосунком. Його поділено на менші ділянки, які називаються generations. Heap є значною частиною віртуальної машини Java (JVM), і нею керує збирач сміття (garbage collector), який відповідає за автоматичне відновлення невикористаної пам’яті.

    06 heap statistics

    Якщо ви бачите, що використання heap зростає — це може бути приводом звернутися до розробників та повідомити, що є або витоки пам’яті, або проблеми із garbage collection.

2.3. Ознайомлення із дашбордом PostgreSQLDetails

  1. Перейдіть до Dashboards > Manage > Dashboards > PostgreSQLDetails.

    14 postgresql dashboard

  2. Оберіть операційний або аналітичний под тестового реєстру.

    07 postgresql details

    Зверніть увагу на показник WAL.

    WAL означає Write Ahead Logging. Коли у базі даних відбувається зміна (наприклад, вставка, оновлення чи видалення), PostgreSQL спочатку записує зміну в логи WAL, які зберігаються в пам’яті та на диску.

    Логи WAL допомагають відстежувати всі зміни, внесені в рамках транзакції, навіть до того, як вони будуть записані в основні файли даних.

    Основна мета WAL-- забезпечити довговічність даних. Спочатку, реєструючи зміни в логах, PostgreSQL гарантує збереження даних у разі збоїв апаратного чи програмного забезпечення. Коли система відновлюється після збою, PostgreSQL може використовувати журнали WAL для повторного відтворення змін і відновлення бази даних до узгодженого стану.

    WAL дозволяє PostgreSQL відкладати запис змінених даних до основних файлів даних, тим самим покращує продуктивність операцій запису. Операції запису зазвичай передбачають оновлення кількох файлів даних. Записуючи зміни до WAL, PostgreSQL може мінімізувати дисковий ввід-вивід і групувати кілька записів разом, тим самим підвищуючи загальну продуктивність запису.

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

    08 wal