Мониторинг кластера, нод и баз данных PostgreSQL TimescaleDB
В облачных базах данных PostgreSQL TimescaleDB можно отслеживать состояние кластера в панели управления:
- смотреть информацию об использовании нод кластера и о нагрузке на базы данных в виде графиков в панели управления;
- смотреть статус кластера;
- получать уведомления о заполненности диска.
Метрики нод кластера и баз данных, которые доступны в панели управления, можно экспортировать в формате Prometheus.
Посмотреть состояние нод кластера
- В панели управления перейдите в раздел Облачная платформа → Базы данных.
- Откройте страницу кластера → вкладка Мониторинг.
- Нажмите Мониторинг серверов кластера.
- Посмотрите доступные метрики нод кластера.
Метрики нод кластера
vCPU
На сколько процентов загружены ядра нод кластера.
Load Average
Среднее значение загрузки системы за период времени. Показывает, какое количество процессов обрабатывается ядрами кластера.
Показатель представлен в виде трех значений – за 1 минуту, 5 минут и 15 минут. Эти значения должны быть не больше, чем количество ядер на ноде.
Память
Занятая память без учета кэша и буферов операционной системы (в % или ГБ).
Диск
Занятое место на диске (в % или ГБ).
Посмотреть состояние баз данных
- В панели управления перейдите в раздел Облачная платформа → Базы данных.
- Откройте страницу кластера → вкладка Мониторинг.
- Нажмите Мониторинг баз данных.
- Посмотрите доступные метрики баз данных.
Метрики баз данных
Подключения
Количество подключений для каждой базы данных кластера. Также показано суммарное количество подключений ко всем базам данных.
Время выполнения самого долгого запроса
Время выполнения самого долгого запроса за период времени.
Транзакции
Количество транзакций в секунду для каждой базы данных кластера.
Операции со строками
Количество операций над выбранной базой данных в секунду:
- tup_deleted – количество строк, удалённое запросами в базе данных в секунду;
- tup_fetched – количество строк, извлеченное запросами в базе данных в секунду;
- tup_inserted – количество строк, вставленное запросами в базе данных в секунду;
- tup_returned – количество строк, возвращенное запросами в базе данных в секунду;
- tup_updated – количество строк, измененное запросами в базе данных в секунду.
Попадание в кэш
Какой процент данных в запросе был прочитан из кэша — отношение blks_hit
к сумме blks_hit
и blks_read
.
Locks
Количество блокировок по каждой базе данных кластера.
Deadlocks
Количество взаимных блокировок, зафиксированное в каждой базе данных.
Метрики пулера соединений
Метрики пулера соединений PgBouncer для выбранной базы данных:
- количество подключений клиентов к пулу;
- количество активных подключений к ноде;
- время ожидания ответа от ноды;
- максимальное время ожидания клиента в очереди.
Посмотреть статус кластера
- В панели управления перейдите в раздел Облачная платформа → Базы данных.
- Посмотрите статус в строке кластера → столбец Статус.
Уведомления о заполненности диска
Если диск кластера будет заполнен на 80%, на почту аккаунта автоматически отправится уведомление.
Если диск кластера будет заполнен на 95% и более, кластер перейдет в статус DISK_FULL и будет работать только на чтение. Чтобы кластер работал на чтение и запись, очистите диск или масштабируйте кластер и выберите конфигурацию с бóльшим размером диска.
Очистить диск
Откройте транзакцию transaction_read_only = no
и удалите ненужные данные с помощью одного из запросов:
DROP TABLE
— удаляет структуру (данные, привилегии, индексы, constraints, триггеры). Используйте при полном удалении таблицы с данными и структурой:BEGIN;
SET transaction_read_only = no;
DROP TABLE table_name;
COMMIT;TRUNCATE TABLE
— удаляет содержимое таблицы, при этом структура сохраняется. Работает быстрееDROP TABLE
. Используйте при удалении всех строк таблицы с сохранением структуры таблицы:BEGIN;
SET transaction_read_only = no;
TRUNCATE TABLE table_name;
COMMIT;DELETE
— используйте для удаления определенных строк.к сведениюМы не рекомендуем использовать запрос
DELETE FROM table WHERE ...
для очистки диска. Этот запрос может создавать выборки больших размеров на больших таблицах и располагать их на диске. Оставшееся свободное место на диске может полностью закончиться, это приведет к проблемам с PostgreSQL TimescaleDB и необходимости восстанавливать его работу вручную.
Экспортировать метрики в формате Prometheus
Вы можете экспортировать метрики в формате Prometheus и затем самостоятельно настроить мониторинг и алерты для кластеров баз данных. Историческая информация для кластеров недоступна — метрики запрашиваются только в режиме реального времени.
Чтобы экспортировать метрики, нужно получить токен мониторинга. Токен дает доступ к метрикам всех кластеров в одном пуле проекта.
В панели управления перейдите в раздел Облачная платформа → Базы данных.
Откройте страницу кластера → вкладка Мониторинг.
В блоке Метрики в формате Prometheus нажмите Управлять токенами.
Нажмите Создать.
Введите имя токена.
Нажмите Создать. Токен будет сгенерирован автоматически.
Добавьте в конфигурационный файл Prometheus:
scrape_configs:
- job_name: get-metrics-from-dbaas
scrape_interval: 1m
static_configs:
- targets:
- '<pool>.dbaas.selcloud.ru'
scheme: https
authorization:
type: Bearer
credentials: <monitoring_token>Укажите:
<pool>
— пул, в котором действует токен, напримерru-3
;<monitoring_token>
— значение токена мониторинга.
Источник метрик появится по адресу
http://<localhost>:9090/targets
.
Укажите <localhost>
— IP-адрес, на котором установлен Prometheus.