[Документация Yandex Cloud](../../index.md) > [Yandex Managed Service for Sharded PostgreSQL](../index.md) > [Пошаговые инструкции](index.md) > Мониторинг состояния кластера и хостов

# Мониторинг состояния кластера Sharded PostgreSQL и хостов

Данные о состоянии кластера и его хостов доступны в [консоли управления](https://kz.console.yandex.cloud). Их можно посмотреть на вкладке **Мониторинг** страницы управления кластером  или в сервисе [Yandex Monitoring](../../monitoring/concepts/index.md).

Диагностическая информация о состоянии кластера представлена в виде графиков.

Период обновления графиков:

* Для хостов стандартной конфигурации и хостов с увеличенным соотношением количества гигабайт RAM к количеству vCPU (`memory-optimized`): 15 секунд.
* Для хостов с гарантированной долей vCPU ниже 100% (`burstable`): 150 секунд.

{% note info %}

На графиках автоматически применяются наиболее подходящие кратные единицы измерения (мегабайты, гигабайты и т. д.).

{% endnote %}

Вы можете [настроить алерты](#monitoring-integration) в сервисе Yandex Monitoring для получения уведомлений о сбоях в работе кластера. В Yandex Monitoring используются два порога срабатывания алерта: `Warning` и `Alarm`. При превышении заданного порога вы получите оповещения через настроенные [каналы уведомлений](../../monitoring/concepts/alerting.md#notification-channel).

## Мониторинг состояния кластера {#monitoring-cluster}

Чтобы посмотреть детальную информацию о состоянии кластера Managed Service for Sharded PostgreSQL:

1. Перейдите в сервис **Yandex Managed Service for Sharded&nbsp;PostgreSQL**.

1. Нажмите на имя нужного кластера и выберите вкладку **Мониторинг**.

1. Чтобы перейти к работе с метриками, дашбордами или алертами в сервисе Yandex Monitoring, нажмите кнопку **Открыть в Monium** на панели сверху.

На странице появятся следующие графики:

* В блоке **Cluster**:

    * **SPQR is Alive, \[boolean\]** — работоспособность [хостов-роутеров](../concepts/index.md#router).
    * **ETCD is Alive, \[boolean\]** — работоспособность [хостов-координаторов](../concepts/index.md#coordinator).
    * **Maximum CPU usage** — пиковая загрузка процессорных ядер.
    * **Average CPU usage** — средняя загрузка процессорных ядер.
    * **Maximum memory usage** — пиковое использование оперативной памяти (в байтах). При высоких нагрузках значение параметра **Free** уменьшается, остальные — растут.

* **Sessions** → **Sessions count** — количество активных клиентских подключений к роутеру.

* **Connections** → **Backend connections count** — количество активных подключений от роутера к хостам [шардов](../concepts/index.md#shard).

* В блоке **Network**:

    * **Packets received/sent** — интенсивность обмена данными по сети (пакетов/с).
    * **Network received/sent bytes** — объем полученных и отправленных данных (в байтах).

* В блоке **Time quantiles**:

    * **Router time quantiles, ms** — время выполнения клиентских запросов к каждому роутеру в квантилях, заданных [настройкой](../concepts/settings-list.md) **Time Quantiles**.
    * **Shard time quantiles, ms** — время выполнения запросов от каждого роутера к хостам шардов в квантилях, заданных настройкой **Time Quantiles**.

## Мониторинг состояния хостов {#monitoring-hosts}

Чтобы посмотреть детальную информацию о состоянии отдельных хостов Managed Service for Sharded PostgreSQL:

1. Перейдите в сервис **Yandex Managed Service for Sharded&nbsp;PostgreSQL**.
1. Нажмите на имя нужного кластера и выберите вкладку **Мониторинг** → **Хосты**.
1. Нажмите на строку нужного хоста в списке.

На этой странице выводятся графики, показывающие нагрузку на отдельный хост кластера:

* **CPU usage** — загрузка процессорных ядер. При повышении нагрузки значение **Idle** уменьшается.
* **Memory usage** — использование оперативной памяти (в байтах). При высоких нагрузках значение параметра **Free** уменьшается, остальные — растут.
* **Packets received/sent** — интенсивность обмена данными по сети (пакетов/с).
* **Network received/sent bytes** — объем полученных и отправленных данных (в байтах).
* В блоке **Time quantiles**:
    * **Router time quantiles, ms** — время выполнения клиентских запросов к роутеру в квантилях, заданных [настройкой](../concepts/settings-list.md) **Time Quantiles**.
    * **Shard time quantiles, ms** — время выполнения запросов от роутера к хостам шардов в квантилях, заданных настройкой **Time Quantiles**.


## Настройка алертов в Yandex Monitoring {#monitoring-integration}

Чтобы настроить автоматический мониторинг основных показателей состояния кластера:

{% list tabs group=instructions %}

- Консоль управления {#console}

    1. В [консоли управления](https://kz.console.yandex.cloud) выберите каталог с кластером, для которого нужно настроить алерты.
    1. Перейдите в сервис ![image](../../_assets/console-icons/display-pulse.svg) **Monitoring**.
    1. В блоке **Сервисные дашборды** выберите:
        * **Managed Service for Sharded PostgreSQL — Cluster Overview** для настройки алертов кластера;
        * **Managed Service for Sharded PostgreSQL — Host Overview** для настройки алертов хостов.
    1. На нужном графике нажмите на значок ![options](../../_assets/console-icons/ellipsis.svg) и выберите пункт **Создать алерт**.
    1. Если на графике несколько показателей, выберите запрос данных для формирования метрики и нажмите **Продолжить**. Подробнее о языке запросов читайте в [документации Yandex Monitoring](../../monitoring/concepts/querying.md).
    1. Задайте значения порогов `Alarm` и `Warning` для срабатывания алерта.
    1. Нажмите кнопку **Создать алерт**.

{% endlist %}

Чтобы настроить автоматический мониторинг других показателей состояния кластера:

{% list tabs group=instructions %}

- Консоль управления {#console}

    1. [Создайте алерт](../../monitoring/operations/alert/create-alert.md).
    1. Добавьте метрику состояния.
    1. В параметрах алерта задайте значения порогов для оповещения.

{% endlist %}

Рекомендуемые значения порогов для некоторых метрик:

| Метрика                                         |   Обозначение   | `Alarm` | `Warning` |
|-------------------------------------------------|:---------------:|:-----------------------------------------------------------------------:|:----------------------------------------------------------------------:|
| Количество работоспособных хостов-роутеров      | `spqr-is-alive` |                   `<количество_хостов-роутеров> - 2`                    |                   `<количество_хостов-роутеров> - 1`                   |
| Количество работоспособных хостов-координаторов | `etcd-is-alive` |                 `<количество_хостов-координаторов> - 2`                 |                `<количество_хостов-координаторов> - 1`                 |


## Состояние и статус кластера {#cluster-health-and-status}

**Состояние** кластера указывает на исправность его хостов, а **Статус** показывает, запущен кластер, остановлен или находится в промежуточном состоянии.

Чтобы посмотреть состояние и статус кластера:

1. Перейдите на страницу каталога и выберите **Yandex Managed Service for Sharded&nbsp;PostgreSQL**.
1. Наведите курсор на индикатор в столбце **Доступность** в строке нужного кластера.

### Состояния кластера {#cluster-health}

Состояние | Описание | Предлагаемые действия
:--- | :--- | :---
**ALIVE** | Кластер работает в штатном режиме. | Действий не требуется.
**DEGRADED** | Кластер работает не на полную мощность: минимум один из хостов имеет состояние, отличное от `ALIVE`. | Выполните диагностику:<ul><li>Перейдите на вкладку **Хосты** и посмотрите, какие из них в нерабочем состоянии.</li><li>Перейдите на вкладку **Операции** и убедитесь, что все операции завершились.</li><li>Убедитесь, что кластер не находится в процессе технического обслуживания.</li></ul>Если причины не удалось выяснить самостоятельно, [обратитесь в службу поддержки](https://kz.center.yandex.cloud/support).
**DEAD** | Кластер неработоспособен:  ни один его хост не работает. | [Составьте обращение в службу поддержки](https://kz.center.yandex.cloud/support), указав:<ul><li>Идентификатор кластера.</li><li>Идентификаторы последних операций, которые на нем выполнялись.</li><li>Время по [графикам доступности](#monitoring-cluster), когда кластер перешел в состояние `DEAD`.</li></ul>
**UNKNOWN** | Состояние кластера неизвестно. | [Составьте обращение в службу поддержки](https://kz.center.yandex.cloud/support), указав:<ul><li>Идентификатор кластера.</li><li>Идентификаторы последних операций, которые на нем выполнялись.</li><li>Время по [графикам доступности](#monitoring-cluster), когда кластер перешел в состояние `UNKNOWN`.</li></ul>

### Статусы кластера {#cluster-status}

Статус | Описание | Предлагаемые действия
:--- | :--- | :---
**CREATING** | Идет подготовка к первому запуску | Подождите немного и приступайте к работе. Время создания кластера зависит от класса хостов.
**RUNNING** | Кластер работает в штатном режиме | Действий не требуется.
**STOPPING** | Кластер останавливается | Через некоторое время кластеру будет присвоен статус `STOPPED`, и он будет выведен из работы. Действий не требуется.
**STOPPED** | Кластер остановлен | Запустите кластер, чтобы вернуть его в работу.
**STARTING** | Остановленный ранее кластер запускается | Через некоторое время кластеру будет присвоен статус `RUNNING`. Подождите немного и приступайте к работе.
**UPDATING** | Обновляется конфигурация кластера | По завершении обновления кластеру будет присвоен статус, который был до обновления: `RUNNING` или `STOPPED`.
**ERROR** | Произошла ошибка при выполнении операции с кластером или во время окна технического обслуживания | Если кластер долго находится в этом статусе, [обратитесь в службу поддержки](https://kz.center.yandex.cloud/support). Доступность кластера можно определить по его состоянию.
**STATUS_UNKNOWN** | Кластер не может определить свой статус | Если кластер долго находится в этом статусе, [обратитесь в службу поддержки](https://kz.center.yandex.cloud/support).