Перейти к основному содержимому
Мониторинг кластера, нод и баз данных PostgreSQL

Мониторинг кластера, нод и баз данных PostgreSQL

В облачных базах данных PostgreSQL можно отслеживать состояние кластера в панели управления:

Метрики нод кластера и баз данных, которые доступны в панели управления, можно экспортировать в формате Prometheus.

Посмотреть состояние нод кластера

  1. В панели управления перейдите в раздел Облачная платформа → Базы данных.
  2. Откройте страницу кластера вкладка Мониторинг.
  3. Нажмите Мониторинг серверов кластера.
  4. Посмотрите доступные метрики нод кластера.

Метрики нод кластера

vCPU

На сколько процентов загружены ядра нод кластера.

Load Average

Среднее значение загрузки системы за период времени. Показывает, какое количество процессов обрабатывается ядрами кластера.

Показатель представлен в виде трех значений — за 1 минуту, 5 минут и 15 минут. Эти значения должны быть не больше, чем количество ядер на ноде.

Память

Занятая память без учета кэша и буферов операционной системы (в % или ГБ).

Диск

Занятое место на диске (в % или ГБ).

Посмотреть состояние баз данных

  1. В панели управления перейдите в раздел Облачная платформа → Базы данных.
  2. Откройте страницу кластера вкладка Мониторинг.
  3. Нажмите Мониторинг баз данных.
  4. Посмотрите доступные метрики баз данных.

Метрики баз данных

Подключения

Количество подключений для каждой базы данных кластера. Также показано суммарное количество подключений ко всем базам данных.

Время выполнения самого долгого запроса

Время выполнения самого долгого запроса за период времени.

Транзакции

Количество транзакций в секунду для каждой базы данных кластера.

Операции со строками

Количество операций над выбранной базой данных в секунду:

  • tup_deleted — количество строк, удалённое запросами в базе данных в секунду;
  • tup_fetched — количество строк, извлеченное запросами в базе данных в секунду;
  • tup_inserted — количество строк, вставленное запросами в базе данных в секунду;
  • tup_returned — количество строк, возвращенное запросами в базе данных в секунду;
  • tup_updated — количество строк, измененное запросами в базе данных в секунду.

Попадание в кэш

Какой процент данных в запросе был прочитан из кэша — отношение blks_hit к сумме blks_hit и blks_read.

Locks

Количество блокировок по каждой базе данных кластера.

Deadlocks

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

Метрики пулера соединений

Метрики пулера соединений PgBouncer для выбранной базы данных:

  • количество подключений клиентов к пулу;
  • количество активных подключений к ноде;
  • время ожидания ответа от ноды;
  • максимальное время ожидания клиента в очереди.

Посмотреть статус кластера

  1. В панели управления перейдите в раздел Облачная платформа → Базы данных.
  2. Посмотрите статус в строке кластера столбец Статус.
СтатусЗначение
ACTIVEКластер доступен
CREATINGКластер создается
UPDATINGК кластеру применяются изменения
RESIZINGКластер масштабируется
ERRORПроизошла ошибка, создайте тикет
DISK FULLДиск заполнен, кластер работает только на чтение. Чтобы кластер работал на чтение и запись, очистите диск или масштабируйте кластер и выберите конфигурацию с бóльшим размером диска
DEGRADEDЧасть нод кластера недоступна
DELETINGКластер удаляется

Уведомления о заполненности диска

Если диск кластера будет заполнен на 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 и необходимости восстанавливать его работу вручную.

Экспортировать метрики в формате Prometheus

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

Чтобы экспортировать метрики, нужно получить токен мониторинга. Токен дает доступ к метрикам всех кластеров в одном пуле проекта.

  1. В панели управления перейдите в раздел Облачная платформа → Базы данных.

  2. Откройте страницу кластера вкладка Мониторинг.

  3. В блоке Метрики в формате Prometheus нажмите Управлять токенами.

  4. Нажмите Создать.

  5. Введите имя токена.

  6. Нажмите Создать. Токен будет сгенерирован автоматически.

  7. Добавьте в конфигурационный файл 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> — значение токена мониторинга.
  8. Источник метрик появится по адресу http://<localhost>:9090/targets.

Укажите <localhost> — IP-адрес, на котором установлен Prometheus.