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

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

Сбор метрик

Кластер мониторинга собирает метрики с хостов, на которых установлен сервис Monitoring Clients. На вкладке Mapping в ADCM можно посмотреть, какие хосты система мониторит в данный момент. Метрики собираются с помощью агента Diamond и кастомных скриптов. Оба инструмента отправляют метрики в Graphite, установленный в кластере мониторинга.

Diamond

Diamond — Python-демон, предназначенный для сбора метрик. Конфигурационный файл Diamond — /etc/diamond/diamond.conf.

Diamond использует компоненты, называемые коллекторами, для сбора таких системных метрик, как загрузка процессора, использование дискового пространства и нагрузка операциями ввода/вывода. Конфигурационные файлы коллекторов находятся в каталоге /etc/diamond/collectors на каждом хосте, который мониторится. Для получения более подробной информации о Diamond и коллекторах см. документацию Diamond. Помимо общих коллекторов могут использоваться дополнительные:

  • Если на хосте установлен сервис PXF, используется компонент PXFCollector, который собирает метрики о PXF как о Java-сервисе.

  • Если мониторится ADBM или ADB Control, используется компонент DockerCollector, который собирает метрики об ADBM и ADB Control как о Docker-контейнерах.

Кастомные скрипты

Кастомные скрипты ADB расширяют возможности мониторинга, предоставляя данные об активности кластера ADB и баз данных. По умолчанию скрипты мониторинга расположены в каталоге /home/gpadmin/arenadata_configs на мастер-хосте. К ним относятся:

  • arenadata_segments_monitor.sh — собирает информацию о кластере, такую как количество сегментов и их зеркал, их состояние и отставание репликации.

  • db_datfrozenxid_alerter.sh — отслеживает риск зацикливания (wraparound) идентификаторов транзакций.

  • pxf-monitor.sh — отслеживает состояние и время непрерывной работы (uptime) сервиса PXF. Доступен на хостах, где установлен PXF.

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

Graphite

Graphite получает метрики от Diamond и скриптов мониторинга. Для просмотра метрик в веб-интерфейсе Graphite введите в адресной строке браузера адрес хоста с кластером мониторинга и порт Graphite (по умолчанию 80), например 192.0.2.5:80. Проверить и изменить этот IP-адрес и порт можно в пользовательском интерфейсе ADCM в конфигурации сервиса Graphite, с помощью параметров ip_and_ports → Host IP address и ip_and_ports → Web-interface TCP port. Эти значения задаются при настройке сервиса Graphite во время установки кластера мониторинга.

В левой части открывшегося окна раскройте узел Metrics → Arenadata → DB → <Cluster_id>. В списке отображаются две группы метрик:

  • System_metrics — показывает характеристики хостов (обычно связанные с потреблением ресурсов).

    Системные метрики
    Группа метрик Описание

    cpu

    Уровень загруженности процессора

    diskspace

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

    docker

    Метрики, связанные с Docker-контейнерами. Эта группа метрик доступна, если мониторится ADBM или ADB Control

    files

    Файловая статистика

    iostat

    Производительность операций ввода/вывода

    loadavg

    Средняя загрузка системы

    memory

    Использование памяти

    netstat

    Статистика сетевых подключений

    network

    Производительность сетевых интерфейсов

    pxfjson

    Метрики службы PXF. Группа метрик доступна для хостов, на которых установлен PXF

    uptime

    Время работы с момента последней перезагрузки

  • database — предоставляет данные о базе данных, сегментах и транзакциях.

    Метрики базы данных
    Группа метрик Название метрики Описание

    available

    is_available

    Доступность базы данных

    db_datfrozenxid

    Имена баз данных

    Возраст самой старой транзакции

    replication

    REPLICATION_LAG

    Задержка синхронизации (в байтах) между мастером и резервным мастером (standby master)

    REPLICATION_STATE

    Состояние процесса потоковой репликации WAL. Возможные значения:

    • streaming — мастер передает изменения резервному мастеру.

    • startup — мастер запускается.

    • catchup — standby-мастер ликвидирует отставание от мастера.

    • backup — мастер передает полный бэкап базы данных.

    • inactive — репликация выключена.

    segments

    MIRRORS_AS_PRIMARY

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

    TOTAL_PRIMARY_SEGMENTS

    Количество сегментов, настроенных для работы в роли основного сегмента (preferred_role = 'p' в gp_segment_configuration)

    TOTAL_SEGMENTS

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

    UP_SEGMENTS

    Количество сегментов, которые в настоящее время находятся в сети и работают (status ='u' в gp_segment_configuration)

    sessions

    LONGEST_XACT_SESS_ID

    Идентификатор сессии (session ID) самой продолжительной активной транзакции

    LONGEST_XACT_TIME

    Продолжительность (в секундах) самой длительной активной транзакции

Метрики, доступные в Graphite
Метрики, доступные в Graphite
Метрики, доступные в Graphite
Метрики, доступные в Graphite

Grafana

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

Для просмотра дашбордов Grafana введите в адресной строке браузера адрес хоста с кластером мониторинга и порт Grafana (по умолчанию 3000), например 192.0.2.5:3000. Проверить и изменить этот IP-адрес и порт можно в интерфейсе ADCM в конфигурации сервиса Grafana, используя параметры ip_and_ports → Host IP address и ip_and_ports → Port. Для входа в Grafana используйте значения параметров security → Username и security → Password в конфигурации сервиса Grafana. Эти значения задаются при настройке сервиса Grafana во время установки кластера мониторинга.

Дашборды Grafana

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

Arenadata DB system cluster <Cluster name>

Дашборд Arenadata DB system cluster <Cluster name> состоит из двух секций: Database и System.

Секция Database представляет собой набор панелей, показывающих информацию о самом кластере, такую как состояние репликации и статусы сегментов.

Дашборд Arenadata DB System cluster в Grafana. Секция Database
Дашборд Arenadata DB System cluster в Grafana. Секция Database

В таблице ниже приведено описание панелей секции Database в Grafana.

Database
Название панели Описание Источник в Graphite

Database is

Состояние базы данных: Up или Down

<Cluster_id>/database/available/is_available

Mirrors as primaries

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

<Cluster_id>/database/segments/MIRRORS_AS_PRIMARY

Database segments

Общее количество сегментов и их статус

<Cluster_id>/database/segments/TOTAL_SEGMENTS

Longest Transaction (sec)

Длительность (в секундах) самой продолжительной активной транзакции

<Cluster_id>/database/sessions/LONGEST_XACT_TIME

Longest transaction (sess_id)

Идентификатор сессии самой продолжительной активной транзакции

<Cluster_id>/database/sessions/LONGEST_XACT_SESS_ID

Master replication state is

Состояние процесса потоковой репликации WAL

<Cluster_id>/database/replication/REPLICATION_STATE

Replication delay

Задержка синхронизации (в байтах) между мастером и резервным мастером

<Cluster_id>/database/replication/REPLICATION_LAG

Wraparound warn percentage

Показывает, насколько близок возраст идентификатора текущей транзакции к лимиту

<Cluster_id>/database/db_datfrozenxid

Секция System показывает метрики, связанные с производительностью системы.

Дашборд Arenadata DB System cluster в Grafana. Секция System
Дашборд Arenadata DB System cluster в Grafana. Секция System

В таблице ниже приведено описание панелей секции System в Grafana.

System
Название панели Описание Источник в Graphite

CPU usage

Использование процессора в процентах

System_metrics/<host>/cpu

IOPS

Количество операций ввода/вывода в секунду

System_metrics/<host>/iostat/<disk_device>/iops

IO %

Процент времени, в течение которого диск выполняет операции ввода/вывода

System_metrics/<host>/iostat/<disk_device>/util_percentage

Mb per sec

Скорость чтения/записи

System_metrics/<host>/iostat/<disk_device>/read_byte_per_second

System_metrics/<host>/iostat/<disk_device>/write_byte_per_second

Await

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

System_metrics/<host>/iostat/<disk_device>/await

Service time

Среднее время обработки (в миллисекундах) запроса ввода/вывода устройством

System_metrics/<host>/iostat/<disk_device>/service_time

Network receive bytes

Количество байтов, полученных сетевым интерфейсом

System_metrics/<host>/network/<network_interface>/rx_byte

Network transmit bytes

Количество байтов, переданных сетевым интерфейсом

System_metrics/<host>/network/<network_interface>/tx_byte

Available memory

Объем памяти, доступный для запуска новых приложений без обращения системы к области подкачки (swap)

System_metrics/<host>/memory/MemAvailable

Memory free

Абсолютный объем неиспользуемой физической памяти

System_metrics/<host>/memory/MemFree

Disk Space Usage - datadirs

Доступное дисковое пространство в процентах от общего объема

System_metrics/<host>/diskspace/<data_directory>/byte_percentfree

Disk Space Usage - /

Доступное дисковое пространство в каталоге /root в процентах от общего объема

System_metrics/<host>/diskspace/root/byte_per_second

LoadAVG

Показатель нагрузки системы за минуту

System_metrics/<host>/loadavg/01

Processes running

Количество запущенных процессов

System_metrics/<host>/loadavg/processes_running

Processes total

Общее количество процессов в системе

System_metrics/<host>/loadavg/processes_total

Arenadata DB cluster <Cluster name> ADCC

Этот дашборд показывает информацию об агентах ADB Control и ADBM, установленных на мастер-хосте и каждом сегментном хосте. Дашборд также показывает информацию о Docker-контейнерах ADB Control и ADBM.

Дашборд ADCC в Grafana
Дашборд ADCC в Grafana
ADCC
Название панели Описание Источник в Graphite

Agents uptime

Время непрерывной работы агентов ADB Control и ADBM с момента последней перезагрузки

System_metrics/<host>/adbm_agent_uptime

System_metrics/<host>/adcc_agent_uptime

Agent CPU usage

Использование процессора (в процентах) агентами ADB Control и ADBM

System_metrics/<host>/adbm_agent_cpu

System_metrics/<host>/adcc_agent_cpu

Agent memory usage

Использование памяти (в МБ) агентами

System_metrics/<host>/adbm_agent_mem

System_metrics/<host>/adcc_agent_mem

Containers uptime

Время непрерывной работы Docker-контейнеров ADBM и ADB Control

System_metrics/<host>/docker/containers/<container_name>/uptime

Container memory usage

Использование памяти Docker-контейнерами ADBM и ADB Control

System_metrics/<host>/docker/containers/<container_name>/RSS_byte

Container CPU usage

Использование процессора Docker-контейнерами ADBM и ADB Control

System_metrics/<host>/docker/containers/<container_name>/cpu/cpuperc

Arenadata DB cluster <Cluster name> PXF

Этот дашборд показывает информацию о времени работы сервиса PXF и метрики производительности PXF как приложения.

Дашборд PXF в Grafana
Дашборд PXF в Grafana
PXF
Название панели Описание Источник в Graphite

PXF UPTIME

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

System_metrics/<host>/pxfjson/pxf/pxf_uptime

Active threads

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

System_metrics/<host>/pxfjson/pxf/executor/active

Queue capacity

Максимальное количество потоков, которые могут быть добавлены в очередь.

Настраивается с помощью параметра pxf.task.pool.queue-capacity в файле /etc/pxf/conf/pxf-application.properties. Значение по умолчанию — 0 (очередь не используется)

System_metrics/<host>/pxfjson/pxf/executor/queue/capacity

Bytes recieved

Количество байтов в секунду, полученных PXF от ADB

System_metrics/<host>/pxfjson/pxf/bytes/received

Records recieved

Количество записей (record) в секунду, полученных PXF от ADB

System_metrics/<host>/pxfjson/pxf/records/received

Bytes sent

Количество байтов в секунду, отправленных PXF в ADB

System_metrics/<host>/pxfjson/pxf/bytes/sent

Records sent

Количество записей в секунду, отправленных PXF в ADB

System_metrics/<host>/pxfjson/pxf/records/sent

JVM memory committed

Объем памяти (в байтах), выделенный JVM, в которой работает приложение PXF

System_metrics/<host>/pxfjson/jvm/memory/committed

JVM memory max

Максимальный объем (в байтах), который может быть использован для управления памятью JVM, в которой работает приложение PXF

System_metrics/<host>/pxfjson/jvm/memory/max

JVM memory used

Объем памяти (в байтах), используемый JVM, в которой работает приложение PXF

System_metrics/<host>/pxfjson/jvm/memory/used

Arenadata System metrics

Этот дашборд содержит тот же набор панелей, что и секция System, описанная выше, но позволяет мониторить хосты сразу нескольких кластеров и нескольких продуктов Arenadata. Выбрать продукты Arenadata можно с помощью списка Arenadata product.

Дашборд Arenadata System metrics в Grafana
Дашборд Arenadata System metrics в Grafana
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней