Метрики мониторинга кластера ADB

В статье описываются метрики мониторинга кластера ADB. Для получения информации об установке мониторинга обратитесь к разделу Установка мониторинга.

Обзор

Сервис мониторинга состоит из следующих компонентов:

  • Node Exporter — предоставляет метрики, связанные с аппаратным обеспечением и операционной системой хостов: использование памяти, CPU и дискового пространства. Метрики доступны на порте и эндпойнте, заданных в секции Node Exporter settings конфигурации сервиса мониторинга (по умолчанию — 11203/metrics).

  • Process Exporter — предоставляет метрики по выбранным процессам. В ADB отслеживаемые процессы — это агенты ADB и ADB Control. Метрики Process Exporter доступны на порте, заданном в секции Process exporter settings конфигурации сервиса мониторинга (по умолчанию — 9256). Компонент Process Exporter доступен только в Enterprise-версии ADB.

  • Greengage Exporter — собирает метрики кластера и базы данных, такие как состояние сегментов и активные подключения. Метрики доступны на порте и эндпойнте, заданных в секции Greengage Exporter settings конфигурации сервиса мониторинга (по умолчанию — 9080/metrics).

  • Prometheus — собирает и хранит метрики из настроенных источников данных: Node Exporter, Process Exporter и Greengage Exporter. Метрики доступны в веб-интерфейсе Prometheus на порте, заданном в секции Prometheus settings конфигурации сервиса мониторинга (по умолчанию — 11200).

  • Grafana — использует Prometheus в качестве источника данных и отображает метрики в виде графиков и диаграмм, организованных в дашборды. Дашборды доступны в веб-интерфейсе Grafana на порте, заданном в секции Grafana settings конфигурации сервиса мониторинга (по умолчанию — 11210).

Просмотр метрик в Prometheus

Prometheus — это система для мониторинга и оповещений. Prometheus собирает метрики от экспортеров, а затем Grafana собирает данные для графиков, отправляя запросы в Prometheus. Если панели в дашбордах Grafana пустые или показывают некорректные значения, можно проверить данные в Prometheus, чтобы определить, связана ли проблема со сбором метрик или с конфигурацией дашборда:

  1. В браузере введите <IP-адрес сервера мониторинга>:<порт>. Порт по умолчанию — 11200, его можно изменить в секции Prometheus settings в конфигурации сервиса Monitoring.

    IP-адрес, порт и имя хоста Prometheus также доступны на вкладке Info сервиса Monitoring.

  2. В открывшемся окне введите имя пользователя и пароль, указанные в поле Prometheus users to login/logout to Prometheus конфигурации сервиса мониторинга.

В веб-интерфейсе Prometheus можно проверить его конфигурацию и состояние экспортеров (на странице Targets). Также можно использовать Prometheus Query Language (PromQL) для проверки конкретных метрик.

Использование Prometheus Query Language
Использование Prometheus Query Language
Использование Prometheus Query Language
Использование Prometheus Query Language

Дашборды Grafana

Grafana позволяет визуализировать метрики, хранящиеся в Prometheus, создавать собственные дашборды или изменять существующие.

Доступ к Grafana

  1. В браузере введите <IP-адрес сервера мониторинга>:<порт>. Порт по умолчанию — 11210, его можно изменить в секции Grafana settings в конфигурации сервиса Monitoring.

    IP-адрес, порт и имя хоста Grafana также доступны на вкладке Info сервиса Monitoring.

  2. В открывшемся окне в поле Email or username введите admin, а в поле Password — пароль, указанный в поле Grafana administrator’s password конфигурации сервиса мониторинга.

По умолчанию в Grafana доступны следующие дашборды:

Greengage - Cluster Overview

Дашборд показывает общее состояние и производительность кластера ADB: статус кластера, состояние сегментов и активность подключений.

Дашборд Greengage - Cluster Overview в Grafana
Дашборд Greengage - Cluster Overview в Grafana
Название панели Описание

Cluster Status

Показывает, работает ли кластер и доступен ли он (UP) или нет (DOWN)

Cluster Uptime

Общее время непрерывной работы кластера с момента последнего перезапуска

Total Databases

Общее количество баз данных в кластере

Total Database Size

Суммарный размер всех баз данных в кластере

Connection Usage (% of Max)

Текущие подключения в виде процента от лимита подключений (задается параметром конфигурации сервера max_connections). Показывает, насколько кластер близок к исчерпанию лимита подключений

Locked Sessions

Количество сессий, заблокированных в данный момент, что может указывать на проблемы с конкуренцией за ресурсы. Для более подробного анализа блокировок см. дашборд Query Performance

Total Segments

Общее количество сегментов (основных и зеркальных), настроенных в кластере

Segments UP

Количество сегментов, работающих в данный момент

Segments DOWN

Количество сегментов, недоступных в данный момент

Segment Status by Host

График, показывающий статус каждого сегмента (1 — работает, 0 — недоступен) с указанием имени хоста, порта, идентификатора содержимого (content ID) и роли

Connections by State

График, показывающий количество подключений, сгруппированных по состоянию (активное, простаивающее, простаивающее в транзакции)

Query Activity

Распределение запросов по состоянию

  • Total Active Queries — активные запросы, определяемые по столбцу state представления pg_stat_activity;

  • Slow Queries — запросы, выполняющиеся более 180 секунд;

  • Waiting for Locks — активные запросы, заблокированные в ожидании получения блокировки (обнаруживаются по наличию в системном представлении pg_locks строк со значением granted = false).

Active Queries by Duration Bucket

Распределение активных запросов по интервалам длительности. Запросы распределены по следующим интервалам: 0–10 секунд, 10–60 секунд, 60–180 секунд, 180–600 секунд и более 600 секунд

Replication Lag (Replay)

Задержка репликации в байтах для каждого сегмента — объем данных WAL, ожидающих воспроизведения на зеркалах

Max Replication Lag

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

Greengage - Database Health

Дашборд отображает метрики работоспособности базы данных: операции vacuum, степень раздувания таблиц (bloat) и перекос распределения данных (skew).

Дашборд Greengage - Database Health в Grafana
Дашборд Greengage - Database Health в Grafana
Название панели Описание

Vacuum Running

Показывает, выполняется ли в данный момент операция vacuum

Max Time Since Last Vacuum

Максимальное время, прошедшее с момента последней операции vacuum в любой из таблиц базы данных. Greengage Exporter сравнивает временные метки последней операции vacuum (ручной или автоматической) для каждой таблицы и отображает наибольший найденный интервал

Max Dead Tuple Ratio

Максимальное отношение "мертвых" строк к "живым" по всем таблицам, указывающее на возможную необходимость vacuum

Average Dead Tuple Ratio

Среднее отношение "мертвых" строк по всем таблицам, отражающее общий уровень bloat таблиц

Top Tables by Time Since Last Vacuum

Список таблиц с наибольшим временем, прошедшим с момента последней операции vacuum, отсортированный по убыванию. Столбец Value показывает время с момента последней операции vacuum.

При каждом сборе метрики учитываются только те таблицы, в которых сумма "мертвых" и живых строк превышает заданный порог (COLLECTOR_TABLE_VACUUM_TUPLE_THRESHOLD). Таким образом, после успешной операции vacuum таблица может не попасть в запрос метрики, и новые данные по ней не будут учтены в этом списке

Vacuum & Autovacuum Count

График накопленного количества ручных операций vacuum и автоматических vacuum за период по каждой базе данных.

При каждом сборе метрики учитываются только те таблицы, в которых сумма "мертвых" и живых строк превышает заданный порог (COLLECTOR_TABLE_VACUUM_TUPLE_THRESHOLD). Таким образом, после успешной операции vacuum таблица может не попасть в запрос метрики, и новые данные по ней не будут учтены на графике

Top Tables by Dead Tuple Ratio

График таблиц с наибольшим отношением "мертвых" строк с изменением во временени

Table Bloat State (0=none, 1=moderate, 2=severe)

График, отображающий состояние bloat таблиц с изменением во временени

Top Tables by Skew Factor (>1.5 is significant)

График, показывающий изменение коэффициента перекоса со временем для таблиц, превышающих порог 1.5

Tables with Bloat

Таблицы с признаком bloat с указанием его состояния (1 — умеренное, 2 — значительное)

Tables with High Skew Factor

Таблицы с наибольшим текущим коэффициентом перекоса

Greengage - Exporter Monitoring

Дашборд показывает работоспособность и производительность самого Greengage Exporter.

Дашборд Greengage - Exporter Monitoring в Grafana
Дашборд Greengage - Exporter Monitoring в Grafana
Название панели Описание

Exporter Uptime

Общее время непрерывной работы процесса Greengage Exporter

Total Scrapes

Общее количество сборов метрик (scrape), то есть количество раз, когда Prometheus успешно собрал метрики из Greengage Exporter

Total Errors

Общее количество ошибок, возникших в ходе сборов метрик

Max Scrape Duration

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

Average Scrape Duration (5m)

Средняя длительность сбора метрик за последние 5 минут

Scrape Duration Over Time

График максимальной и средней длительности сборов метрик с течением времени

Scrape & Error Rate (per second)

Скорость операций сбора метрик и ошибок в секунду за 5-минутные периоды

Collector Durations

Изменение длительности выполнения каждого коллектора во времени. В Greengage Exporter коллекторы — это компоненты, отвечающие за сбор определенных типов метрик, например коллектор статистики vacuum или коллектор использования памяти

Circuit Breaker State

Текущее состояние внутренних автоматических выключателей (circuit breaker):

  • Closed — штатная работа вызовов методов базы данных.

  • Open — достигнут порог отказов, запросы блокируются.

  • Half Open — выключатель проверяет, устранен ли сбой; если да, переходит в состояние Closed.

Circuit Breaker Opened Count (5m increase)

Количество раз, когда автоматические выключатели переходили в состояние Open за последние 5 минут

Circuit Breaker Calls Rate (per second)

Скорость обращений к автоматическим выключателям в секунду

Timeout Calls Rate (per second)

Скорость вызовов методов с защитой по тайм-ауту в секунду, разбитая по признаку наступления тайм-аута

Timeout Execution Duration (Average)

Средняя длительность выполнения методов

Retry Calls Rate (per second)

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

Total Retry Attempts (5m increase)

Общее количество повторных попыток по всем методам за последние 5 минут

Method Invocation Rate (per second)

Скорость всех вызовов методов в секунду. Вызовы разделены по результату, например valueReturned или exceptionThrown

Greengage - Host & Resource Group Resources

Дашборд предоставляет обзор потребления ресурсов в кластере ADB на уровне хостов и ресурсных групп.

Для просмотра данных по конкретному хосту или группе ресурсов используйте фильтры Hostname и Resource Group в верхней части дашборда.

Дашборд Greengage - Host & Resource Group Resources в Grafana
Дашборд Greengage - Host & Resource Group Resources в Grafana
Название панели Описание

AVG CPU Usage vs Rate Limit (% of Limit Used)

Среднее использование CPU каждой ресурсной группой, выраженное в процентах от установленного для нее лимита

AVG CPU Usage vs Limit Over Time (% of Limit)

График изменения во времени среднего использования CPU относительно лимита, выраженного в процентах от лимита

CPU Usage Skew Ratio

Отношение максимального использования CPU к среднему по хостам; значения больше 1.3 указывают на неравномерное распределение нагрузки по CPU

Absolute CPU Usage by Host and Resource Group

График абсолютного использования CPU (в процентах) по хостам и ресурсным группам с аннотацией лимита

Memory Usage vs Limit (% of Limit Used) - LIMITED GROUPS ONLY

Использование памяти в виде процента от лимита памяти для ресурсных групп с конечными лимитами (группы без лимита исключены)

Memory Usage Skew Ratio

Отношение максимального использования памяти к среднему по хостам; значения больше 1.3 указывают на неравномерное распределение памяти

Average Memory Usage

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

Max Memory Usage

Максимальное использование памяти, зафиксированное на любом хосте кластера

Memory Usage by Host and Resource Group (with Limits)

График абсолютного использования памяти по хостам и ресурсным группам с отображением настроенных лимитов

Running Sessions by Resource Group

Количество текущих активных сессий по каждой группе ресурсов; высокие значения указывают на высокую нагрузку

Queueing Sessions by Resource Group (Resource Saturation Indicator)

Количество сессий, ожидающих постановки в очередь из-за достижения ограничений ресурсов в ресурсной группе

Running vs Queueing Sessions Over Time

График, показывающий, как со временем распределялись активные и ожидающие постановки в очередь сессии по ресурсным группам

Average Disk Total

Средний объем дискового пространства по всем хостам

Average Disk Used

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

Disk Usage Skew Ratio

Отношение максимального использования дискового пространства к среднему по хостам; значения > 1.3 указывают на неравномерное распределение дискового пространства

Max Disk Usage Percent

Максимальный процент использования дискового пространства, зафиксированный на любом хосте

Disk Usage Percent by Host

Процент использования дискового пространства по хостам

Disk Usage by Host (Total/Used/Available)

График, отображающий общее, используемое и доступное дисковое пространство по хостам

Database Size by Name

Размеры выбранных баз данных в МБ

Max Spill Usage

Максимальное использование дискового пространства spill-файлами, зафиксированное на любом хосте

Average Spill Usage

Среднее использование дискового пространства spill-файлами по всем хостам

Spill Usage Skew Ratio

Отношение максимального использования spill-файлов к среднему

Spill Usage by Host

Использование дискового пространства spill-файлами по хостам

Greengage - Query Performance

Дашборд предназначен для мониторинга производительности запросов — он показывает число активных запросов, медленных запросов, конкуренцию за доступ к заблокированным объектам и статистику подключений.

Дашборд Greengage - Query Performance в Grafana
Дашборд Greengage - Query Performance в Grafana
Название панели Описание

Total Active Queries

Текущее количество активных запросов в кластере с пороговыми значениями для нормального, повышенного и высокого уровня активности

Slow Queries (>180s)

Количество активных запросов, превысивших 180 секунд (3 минуты), что может свидетельствовать о проблемах с производительностью

Queries Waiting for Locks

Количество активных запросов, заблокированных в ожидании получения блокировки. Соответствует строкам со значением granted = false в системном представлении pg_locks

Total Locked Sessions

Общее количество сессий, ожидающих блокировок в данный момент

Query Activity Over Time

Распределение запросов по состоянию за выбранный период:

  • Total Active Queries — активные запросы, определяемые по столбцу state представления pg_stat_activity;

  • Slow Queries — запросы, выполняющиеся более 180 секунд;

  • Waiting for Locks — активные запросы, заблокированные в ожидании получения блокировки.

Active Queries by Duration Bucket (Stacked)

Распределение активных запросов по предопределенным интервалам длительности. Интервалы классифицируют запросы по времени выполнения: 0–10 секунд, 10–60 секунд, 60–180 секунд, 180–600 секунд и более 600 секунд

Query Duration Distribution (Donut)

Текущее распределение активных запросов по интервалам длительности с абсолютными значениями и процентами

Total Connections (All States)

Общее количество подключений к базе данных во всех состояниях

Active Connections

Количество подключений, активно выполняющих запросы

Idle Connections

Количество подключений в состоянии простоя (ожидание активности со стороны клиента)

Connections by State Over Time

Подключения, сгруппированные по состоянию (active, idle, idle in transaction и idle in transaction (aborted)) с изменением во времени

Queries Waiting for Locks Over Time

Количество запросов, заблокированных в ожидании блокировок, с пороговыми значениями предупреждения и критического состояния

Locked Sessions Over Time

Общее количество заблокированных сессий с изменением во времени

Max Lock Wait Time by Type and Mode

Максимальное время ожидания для блокировок, сгруппированных по типу и режиму. После снятия блокировок метрики исчезают с панели (неактуальные данные не отображаются)

Waiting Queries by Lock Type and Mode

Количество запросов, ожидающих блокировок, сгруппированных по типу и режиму. После снятия блокировок метрики исчезают с панели (неактуальные данные не отображаются)

Greengage - Replication & Segments

Дашборд предназначен для мониторинга состояния сегментов и репликации.

Дашборд Greengage - Replication & Segments в Grafana
Дашборд Greengage - Replication & Segments в Grafana
Название панели Описание

Total Segments

Общее количество сегментов (основных и зеркальных), настроенных в кластере

Segments UP

Количество сегментов, работающих в данный момент

Segments DOWN

Количество сегментов, недоступных в данный момент

Sync Replicas Active

Показывает, активна ли синхронная репликация

Segment Status

График, показывающий статус сегментов с изменением во времени с указанием имени хоста, порта, идентификатора содержимого (content ID) и роли

Segment Role (1=Primary, 2=Mirror)

График, отображающий роль сегмента (основной или зеркальный) с изменением во времени

Segment Mode (1=Sync, 2=Resync, 3=Change Track, 4=Not Sync)

График режима репликации сегментов с изменением во времени

Max Replication Lag

Максимальная задержка репликации в байтах по всем сегментам, с пороговыми значениями

Average Replication Lag

Средняя задержка репликации в байтах по всем сегментам, с пороговыми значениями

Minimum Sync State (2=sync, 1=async, 0.5=potential, 0=unknown)

Минимальное состояние синхронизации среди всех соединений репликации — отражает наихудший случай синхронизации в кластере

Replication Lag Details (Replay, Write, Flush)

График задержки репликации в байтах для каждого сегмента с разбивкой по задержкам воспроизведения (replay), записи (write) и сброса (flush)

Replication State (1=streaming, 2=catchup, 3=backup, 0=unknown)

График состояния репликации для каждого зеркала

Replication Sync State (2=sync, 1=async, 0.5=potential, 0=unknown)

График, отображающий политику синхронизации с изменением во времени:

  • sync — основной сегмент ожидает подтверждения от резервного/зеркального сервера.

  • potential — резервный сервер работает асинхронно, но может перейти в синхронный режим в случае сбоя одного из текущих синхронных серверов.

  • async — резервный сервер работает асинхронно.

Segment Details Table

Таблица со списком всех сегментов и их текущим статусом, именем хоста, портом, идентификатором содержимого (content ID), ролью и изначальной ролью

Node Exporter statistics

Дашборд статистики Node Exporter предоставляет системные метрики для каждого хоста кластера, на котором установлен Node Exporter. Выбрать хост можно с помощью фильтра host в верхней части страницы.

Дашборд Node Exporter statistics в Grafana
Дашборд Node Exporter statistics в Grafana

Process exporter metrics

Дашборд предназначен для мониторинга агентов ADB Control и ADBM (процессов adcc-agent и adbm-agent) на основе метрик, собираемых Process Exporter.

Дашборд Process exporter metrics в Grafana
Дашборд Process exporter metrics в Grafana
Название панели Описание

Agents uptime

Время непрерывной работы каждого экземпляра агента

Agents memory usage

Использование памяти каждым агентом в динамике

Agents CPU usage

Использование CPU (в процентах) каждым агентом в динамике

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней