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

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

В облачных базах данных PostgreSQL для 1С вы можете отслеживать состояние кластера.

Для оценки общего состояния кластера посмотрите его статус.

Для более детального анализа некоторые метрики можно посмотреть в виде графиков в панели управления:

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

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

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

  1. В панели управления перейдите в раздел Облачная платформаБазы данных.
  2. В строке кластера посмотрите статус.
ACTIVEКластер доступен
CREATINGКластер создается
UPDATINGК кластеру применяются изменения
RESIZINGКластер масштабируется
ERRORПроизошла ошибка, создайте тикет
DISK FULL

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

DEGRADEDЧасть нод кластера недоступна
DELETINGКластер удаляется

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

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

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

vCPUНа сколько процентов загружены ядра нод кластера
CPU iowaitCколько процентов времени процессор потратил на ожидание ввода/вывода
ПамятьЗанятая память без учета кэша и буферов операционной системы в процентах или гигабайтах
ДискЗанятое место на диске в процентах или гигабайтах. Файловая система резервирует под служебные нужды 4% объема диска, поэтому занятое место больше реально используемого на эти 4%
Нагрузка сети

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

Диск, скорость чтения и записи

Скорость чтения данных в Б/с и записи данных в КБ/с

Диск, количество операций IOPS

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

OOM

Количество процессов, которые завершились ошибкой Out of Memory из-за нехватки оперативной памяти

Load Average

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

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

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

Метрики баз данных в панели управления

ПодключенияКоличество подключений к каждой базе данных кластера и суммарное количество подключений ко всем базам данных
Время выполнения самого долгого запросаВремя выполнения самого долгого запроса в каждой базе данных кластера за период времени
ТранзакцииКоличество транзакций в секунду в каждой базе данных кластера
Попадание в кэшКакой процент данных в запросе был прочитан из кэша — отношение blks_hit к сумме blks_hit и blks_read
LocksКоличество блокировок в каждой базе данных кластера
DeadlocksКоличество взаимных блокировок в каждой базе данных
Размер БДОбщий размер выбранной базы данных в мегабайтах
Размер файла статистикиОбщий размер файла статистики в килобайтах
Размер WAL-файловОбщий размер WAL-файлов в мегабайтах
Размер временных файловОбщий размер временных файлов в килобайтах
Операции со строками

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

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

Посмотреть состояние пулера соединений

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

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

Подключения клиентов к пулу

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

  • pools_client_active_connections — количество подключений клиентов, связанных с серверными соединениями или простаивающих без запросов;
  • pools_client_waiting_connections — количество подключений клиентов, где запрос отправлен, но соединения с нодой ещё нет
Активные подключения к серверуКоличество серверных соединений, связанных с клиентами, в выбранной базе данных
Время ожидания ответа от сервераВремя ожидания ответа от ноды в выбранной базе данных в секундах
Максимальное время ожидания клиента в очередиМаксимальное время ожидания клиента в очереди в выбранной базе данных в секундах

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

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

  1. Получите токен.
  2. Получите метрики в формате Prometheus.

1. Получить токен

Токен дает доступ к метрикам всех кластеров проекта в одном пуле.

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

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

  3. В блоке Токены для Prometheus нажмите Добавить токен. Токен будет сгенерирован автоматически.

  4. Скопируйте токен. Для этого в строке токена нажмите .

2. Получить метрики в формате Prometheus

  1. Добавьте в конфигурационный файл 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. Адрес (URL) зависит от региона и пула, можно посмотреть в списке URL;
    • <monitoring_token> — токен мониторинга, который вы получили ранее.
  2. Откройте в браузере страницу, на которой будут доступны метрики в формате Prometheus:

    http://<ip_address>:9090/targets

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

  3. Самостоятельно настройте мониторинг и алерты для кластеров баз данных.

Метрики в формате Prometheus

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

dbaas_memory_percentЗанятая память без учета кэша и буферов операционной системы (RAM) в процентах
dbaas_memory_bytesЗанятая память без учета кэша и буферов операционной системы (RAM) в байтах
dbaas_oom_countКоличество процессов, которые завершились ошибкой Out of Memory из-за нехватки оперативной памяти
dbaas_cpuИспользование vCPU на нодах кластера базы данных в процентах
dbaas_cpu_iowaitВремя ожидания ввода/вывода в процентах
dbaas_disk_percentЗанятое место на диске в процентах. Файловая система резервирует под служебные нужды 4% объема диска, поэтому занятое место больше реально используемого на эти 4%
dbaas_disk_bytesЗанятое место на диске в байтах. Файловая система резервирует под служебные нужды 4% объема диска, поэтому занятое место больше реально используемого на эти 4%
dbaas_disk_read_iopsКоличество операций чтения в секунду
dbaas_disk_write_iopsКоличество операций записи в секунду
dbaas_disk_read_bytesСкорость чтения данных с диска в байтах в секунду
dbaas_disk_write_bytesСкорость записи данных на диск в байтах в секунду
dbaas_node_load1Среднее значение загрузки системы за одну минуту. Показывает, какое количество процессов обрабатывается ядрами кластера
dbaas_node_load5Среднее значение загрузки системы за пять минут. Показывает, какое количество процессов обрабатывается ядрами кластера
dbaas_node_load15Среднее значение загрузки системы за 15 минут. Показывает, какое количество процессов обрабатывается ядрами кластера
dbaas_network_receive_bytesКоличество байт, принятых через сетевой интерфейс
dbaas_network_transmit_bytesКоличество байт, отправленных через сетевой интерфейс
dbaas_network_receive_packetsКоличество пакетов, принятых через сетевой интерфейс в секунду
dbaas_network_transmit_packetsКоличество пакетов, отправленных через сетевой интерфейс в секунду
dbaas_role

Роль ноды:

  • 0 — роль неизвестна;
  • 1 — мастер;
  • 2 — реплика

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

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