База знаний LinxCloud Services

Мониторинг PostgreSQL

Вы можете осуществлять мониторинг состояния отдельных хостов PostgreSQL, пользуясь встроенным в панель Linx Cloud инструментом мониторинга.

Этот инструмент доступен только если кластер PostgreSQL был создан с активной опцией «Включить мониторинг» и шаблоном конфигурации «Single» или «Master-Replica».

 

Как воспользоваться мониторингом

Чтобы посмотреть данные мониторинга:

  1. Откройте панель Linx Cloud.
  2. Перейдите в раздел «Базы данных→Инстансы баз данных».
  3. Найдите в списке нужный инстанс.
  4. Нажмите на хост инстанса, для которого требуется посмотреть данные мониторинга.
  5. Перейдите на карточку «Мониторинг».

Будет выведено несколько счетчиков и графиков:

  • Счетчики отражают текущее значение метрик.
  • Графики отражают динамику изменения значений метрик в рамках определенного временного периода.На линейке вверху можно выбрать интересующий временной период, за который нужно отобразить данные на графиках. Период по умолчанию — 12 часов.

 

Доступные метрики мониторинга

Счетчики

  • Метрики CPU:
    • Current IOWaitПроцент от общего количества ресурсов процессора хоста, затраченных на ожидание завершения операций ввода-вывода.
    • Current CPUПроцент времени, в течение которого процессор хоста работает в пользовательском режиме. Или, иными словами, обеспечивает работу инстанса базы данных и связанной с ним инфраструктуры.
  • RAM UsedПроцент занятой памяти (от общего количества памяти на хосте).
  • Free connectionsПроцент доступных подключений от общего числа.
  • Replication lagВремя отставания реплики (в секундах) от источника репликации.

    Эта метрика показывается только при просмотре данных мониторинга хостов-реплик.

Графики

Нагрузка на базу данных:

  • Fetch Data (Select)Интенсивность чтения из базы данных: количество извлеченных в ходе выполнения запросов к базе строк таблиц (в секунду).
  • Returned DataИнтенсивность ответов от базы данных: количество возвращенных строк результатов выполнения запросов (в секунду).
  • Update DataИнтенсивность обновления данных в базе данных: количество строк, измененное запросами UPDATE (в секунду).
  • Insert DataИнтенсивность вставки данных в базу данных: количество строк, вставленное запросами INSERT (в секунду).
  • Deleted DataИнтенсивность удаления данных из базы данных: количество строк, удаленное запросами DELETE (в секунду).

Нагрузка на дисковую подсистему:

  • Disk Read TimeВремя (в секундах), затраченное на операции чтения с диска.
  • Disk Write TimeВремя (в секундах), затраченное на операции записи на диск.
  • Disk usedПроцент использованного дискового пространства (от общего объема на хосте). Показываются столбчатые диаграммы заполненности некоторых разделов: например, связанных с PostgreSQL и журналом транзакций WAL.

 

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

  • Высокие показатели утилизации CPU и памяти, нагрузки на дисковую подсистему, а также интенсивная или неравномерная нагрузка на базу данных могут свидетельствовать о большой нагрузке на хосты или о неоптимальных индексах и запросах.В таком случае рекомендуется воспользоваться от имени администратора БД встроенными инструментами диагностики производительности PostgreSQL, например:
    1. Выполнить запросы к системной таблице pg_stat_activity, чтобы собрать статистику по выполняющимся запросам.Рекомендуется обратить внимание на запросы, которые выполняются дольше всех остальных.
    2. Воспользоваться командой EXPLAIN для поиска узких мест в таких медленных запросах.Рекомендуется обратить внимание на запросы, не использующие индексы (большое количество строк в Seq Scan). Затем можно создать или обновить требуемые индексы.
  • Низкий процент свободных подключений (Free connections) может свидетельствовать как о большом количестве одновременно подключенных клиентов, так и о том, что есть длинные транзакции, которые используют открытое соединение слишком долго.В таком случае рекомендуется:
    1. Увеличить значение параметра max_connections.
    2. Оптимизировать запросы так, чтобы не было длинных транзакций.
  • Про устранение проблем, связанных с отставанием реплики, см. документацию Patroni и PostgreSQL.
Что вас интересует?
Получить демо-доступ

Спасибо за ваш запрос, мы свяжемся с вами в ближайшее время!