Мониторинг состояния кластера PostgreSQL и хостов
Данные о состоянии кластера и его хостов доступны в консоли управления. Их можно посмотреть на вкладке Мониторинг страницы управления кластером или в сервисе Yandex Monitoring.
Диагностическая информация о состоянии кластера представлена в виде графиков.
Период обновления графиков:
- Для хостов стандартной конфигурации и хостов с увеличенным соотношением количества гигабайт RAM к количеству vCPU (
memory-optimized
): 15 секунд. - Для хостов с гарантированной долей vCPU ниже 100% (
burstable
): 150 секунд.
Примечание
На графиках автоматически применяются наиболее подходящие кратные единицы измерения (мегабайты, гигабайты и т. д.).
Вы можете настроить алерты в сервисе Yandex Monitoring для получения уведомлений о сбоях в работе кластера. В Yandex Monitoring используются два порога срабатывания алерта: Warning
и Alarm
. При превышении заданного порога вы получите оповещения через настроенные каналы уведомлений.
Чтобы обнаружить возможные проблемы в кластере, используйте другие инструменты для анализа состояния кластера вместе с мониторингом.
Мониторинг состояния кластера
Для просмотра детальной информации о состоянии кластера Managed Service for PostgreSQL:
-
Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
-
Нажмите на имя нужного кластера и выберите вкладку Мониторинг.
-
Чтобы перейти к работе с метриками, дашбордами или алертами в сервисе Yandex Monitoring, нажмите кнопку Открыть в Monitoring на панели сверху.
На странице появятся следующие графики:
- Age of oldest transaction/statement — время хранения наиболее ранней транзакции и выполнения операторов.
- Average transaction/statement time — среднее время обработки транзакций и выполнения операторов.
- CPU usage — загрузка процессорных ядер.
- Disk read/write bytes — скорость дисковых операций чтения и записи (байт/с).
- Disk read/write IOPS — интенсивность дисковых операций чтения и записи (операций/с).
- Disk usage by DB — использование дискового пространства по базам данных (в байтах).
- Disk usage on primary — использование дискового пространства на хосте-мастере (в байтах).
- Inode usage by host — использованное количество inodes по хостам.
- Inode usage on primary — использованное количество inodes на хосте-мастере.
- Is Primary, [boolean] — показывает, какой хост является мастером и как долго.
- Free space — свободное дисковое пространство для каждого хоста (в байтах).
- Log errors — количество логированных ошибок в секунду.
- Memory usage — использование оперативной памяти (в байтах). При высоких нагрузках значение параметра Free уменьшается, остальные — растут.
- Network received/sent bytes — скорость обмена данными по сети (байт/с).
- OOM Count — наличие процессов Out-Of-Memory Killer. Они останавливают приложения, которые расходуют всю память на машине, и предотвращают аварийную остановку ОС.
- Packets received/sent — интенсивность обмена данными по сети (пакетов/с).
- Pooler is alive, [boolean] — работоспособность менеджера подключений, для каждого хоста в каждой из ролей: мастера и реплики.
- PostgreSQL Alive, [boolean] — работоспособность PostgreSQL, для каждого хоста в каждой из ролей: мастера и реплики.
- Replication lag — время задержки репликации.
- Session CPU usage cores — количество занятых процессорных ядер по видам сессий.
- Sessions per wait event — количество ожидающих сессий по видам ожидания.
- Sessions read bytes — объем прочитанных данных по видам сессий (в байтах).
- Sessions write bytes — объем записанных данных по видам сессий (в байтах).
- Statement quantiles — время выполнения операторов по процентилям.
- TCP connections — количество TCP-подключений в секунду.
- Total pooler connections — количество подключений в менеджере подключений: клиентских и серверных.
- Total size of temporary files — суммарный размер временных файлов (в байтах).
- Total size of WAL files — суммарный размер файлов WAL (в байтах).
- Transaction quantiles — время обработки транзакций по процентилям.
- Transactions/statements per second — количество транзакций и операторов в секунду.
Мониторинг состояния хостов
Для просмотра детальной информации о состоянии отдельных хостов Managed Service for PostgreSQL:
- Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
- Нажмите на имя нужного кластера и выберите вкладку Хосты → Мониторинги.
- Выберите нужный хост из выпадающего списка.
На этой странице выводятся графики, показывающие нагрузку на отдельный хост кластера:
- CPU usage — загрузка процессорных ядер. При повышении нагрузки значение Idle уменьшается.
- Disk IOPS — интенсивность дисковых операций (операций/с).
- Disk read/write bytes — скорость дисковых операций (байт/с).
- Memory usage — использование оперативной памяти (в байтах). При высоких нагрузках значение параметра Free уменьшается, остальные — растут.
- Network Bytes — скорость обмена данными по сети (байт/с).
- Network Packets — интенсивность обмена данными по сети (пакетов/с).
На графиках Disk read/write bytes и Disk IOPS характеристика Read растет при активном чтении из базы данных, а Write — при записи в нее.
Для хостов с ролью Replica нормально преобладание Received над Sent на графиках Network Bytes и Network Packets.
Настройка алертов в Yandex Monitoring
- В консоли управления
выберите каталог с кластером, для которого нужно настроить алерты. - В списке сервисов выберите
Monitoring. - В блоке Сервисные дашборды выберите:
- Managed Service for PostgreSQL — Cluster Overview для настройки алертов кластера;
- Managed Service for PostgreSQL — Host Overview для настройки алертов хостов.
- На нужном графике нажмите на значок
и выберите пункт Создать алерт. - Если на графике несколько показателей, выберите запрос данных для формирования метрики и нажмите Продолжить. Подробнее о языке запросов см. документацию Yandex Monitoring.
- Задайте значения порогов
Alarm
иWarning
для срабатывания алерта. - Нажмите кнопку Создать алерт.
Чтобы настроить автоматический мониторинг других показателей состояния кластера:
- Создайте алерт.
- Добавьте метрику состояния.
- Задайте значения порогов для оповещения в параметрах алерта.
Рекомендуемые значения порогов для некоторых метрик:
Метрика | Обозначение | Alarm |
Warning |
---|---|---|---|
Задержка репликации | postgres-replication_lag |
60 |
5 |
Количество работоспособных хостов | postgres-is_alive |
<количество_хостов> - 2 |
<количество_хостов> - 1 |
Среднее время выполнения запросов | pooler-avg_query_time |
— | 2000 |
Размер использованного хранилища | disk.used_bytes |
90% от размера хранилища | 80% от размера хранилища |
Для метрики disk.used_bytes
значения порогов Alarm
и Warning
задаются только в байтах. Например, рекомендуемые значения для диска размером в 100 ГБ:
Alarm
—96636764160
байтов (90%).Warning
—85899345920
байтов (80%).
Текущий размер хранилища можно посмотреть в детальной информации о кластере. Полный список поддерживаемых метрик см. в документации Monitoring.
Состояние и статус кластера
Состояние кластера указывает на исправность его хостов, а Статус показывает, запущен кластер, остановлен или находится в промежуточном состоянии.
Для просмотра состояния и статуса кластера:
- Перейдите на страницу каталога и выберите Managed Service for PostgreSQL.
- Наведите курсор на индикатор в столбце Доступность в строке нужного кластера.
Состояния кластера
Состояние | Описание | Предлагаемые действия |
---|---|---|
ALIVE | Кластер работает в штатном режиме. | Действий не требуется. |
DEGRADED | Кластер работает не на полную мощность: минимум один из хостов имеет состояние, отличное от ALIVE . |
Выполните диагностику:
|
DEAD | Кластер неработоспособен: ни один его хост не работает. | Составьте обращение в службу поддержки
|
UNKNOWN | Состояние кластера неизвестно. | Составьте обращение в службу поддержки
|
Статусы кластера
Статус | Описание | Предлагаемые действия |
---|---|---|
CREATING | Идет подготовка к первому запуску | Подождите немного и приступайте к работе. Время создания кластера зависит от класса хостов. |
RUNNING | Кластер работает в штатном режиме | Действий не требуется. |
STOPPING | Кластер останавливается | Через некоторое время кластеру будет присвоен статус STOPPED , и он будет выведен из работы. Действий не требуется. |
STOPPED | Кластер остановлен | Запустите кластер, чтобы вернуть его в работу. |
STARTING | Остановленный ранее кластер запускается | Через некоторое время кластеру будет присвоен статус RUNNING . Подождите немного и приступайте к работе. |
UPDATING | Выполняется обновление состояния кластера | По завершении обновления ему будет присвоен статус RUNNING . Подождите немного и приступайте к работе. |
ERROR | Произошла ошибка, которая не позволяет кластеру продолжить работу | Выполните начальную диагностику:
|
STATUS_UNKNOWN | Кластер не может определить свой статус | Выполните начальную диагностику:
|