---
title: 'Мониторинг кластера Kafka'
sidebar_label: 'Мониторинг кластера'
description: 'Как отслеживать состояние кластера, нод и баз данных Kafka, как экспортировать метрики в формате Prometheus'
sidebar_position: 8
toc_max_heading_level: 3
---

import Formbricks from '@theme/MDXComponents/Formbricks';
import { CustomTable } from '@selectel/docux/components';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import { TabItemLabel } from '@selectel/docux/components';
import CopyIcon from '@selectel/docux/icons/copy';

# Мониторинг кластера Kafka

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

Для оценки общего состояния кластера [посмотрите его статус](#view-cluster-status).

Для более детального анализа можно:

* [посмотреть состояние нод кластера](#view-cluster-node-status) — в виде графиков в панели управления;
* [экспортировать метрики нод кластера в формате Prometheus](#export-metrics-in-prometheus-format).

При анализе графиков учитывайте, что время в панели управления соответствует времени на вашем устройстве и не зависит от региона, где размещен кластер.

:::note

Например, вы создали кластер в Ташкенте, в пуле uz-1.
На устройстве, с которого вы зашли в панель управления, установлен часовой пояс Москвы.
Время на графиках метрик будет отображаться в часовом поясе Москвы.

:::

## Посмотреть статус кластера \{#view-cluster-status}

1. В [панели управления](https://my.selectel.ru/vpc/default/dbaas/) в верхнем меню нажмите **Продукты** и выберите **Облачные базы данных**.

2. Откройте вкладку **Активные**.

3. В строке кластера посмотрите статус.

   <CustomTable>
     <table>
       <tbody>
         <tr>
           <th>ACTIVE</th>
           <td>Кластер доступен</td>
         </tr>

         <tr>
           <th>CREATING</th>
           <td>Кластер создается</td>
         </tr>

         <tr>
           <th>UPDATING</th>
           <td>Кластер обновляется</td>
         </tr>

         <tr>
           <th>RESIZING</th>
           <td>Кластер масштабируется</td>
         </tr>

         <tr>
           <th>ERROR</th>
           <td>Произошла ошибка, [создайте тикет](https://my.selectel.ru/tickets/create/)</td>
         </tr>

         <tr>
           <th>DISK FULL</th>

           <td>
             Диск заполнен, кластер работает только на чтение.
             Чтобы кластер работал на чтение и запись, [освободите место на диске](/managed-databases/kafka/use-disk-space.mdx#free-up-disk-space) или [масштабируйте кластер](/managed-databases/kafka/resize-cluster.mdx) и выберите конфигурацию с бóльшим размером диска
           </td>
         </tr>

         <tr>
           <th>DEGRADED</th>
           <td>Часть нод кластера недоступна</td>
         </tr>

         <tr>
           <th>DELETING</th>
           <td>Кластер удаляется</td>
         </tr>
       </tbody>
     </table>
   </CustomTable>

## Посмотреть состояние нод кластера \{#view-cluster-node-status}

1. В [панели управления](https://my.selectel.ru/vpc/default/dbaas/) в верхнем меню нажмите **Продукты** и выберите **Облачные базы данных**.
2. Откройте вкладку **Активные**.
3. Откройте страницу кластера → вкладка **Мониторинг**.
4. В блоке **Мониторинг кластера** посмотрите доступные [метрики нод кластера](#cluster-node-metrics).

### Метрики нод кластера в панели управления \{#cluster-node-metrics}

<CustomTable>
  <table data-sticky>
    <tbody>
      <tr>
        <th>Память</th>
        <td>Занятая память без учета кэша и буферов операционной системы в процентах или гигабайтах</td>
      </tr>

      <tr>
        <th>vCPU</th>
        <td>На сколько процентов загружены ядра нод кластера</td>
      </tr>

      <tr>
        <th>CPU iowait</th>
        <td>Cколько процентов времени процессор потратил на ожидание ввода/вывода</td>
      </tr>

      <tr>
        <th>Диск</th>

        <td>
          Занятое место на диске в процентах или гигабайтах.
          Учитывает часть дискового пространства, зарезервированную под служебные нужды и недоступную для размещения баз данных.
          Подробнее о резервировании дискового пространства в инструкции [Использование дискового пространства в кластере Kafka](/managed-databases/kafka/use-disk-space.mdx)
        </td>
      </tr>

      <tr>
        <th>Load Average</th>

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

      <tr>
        <th>OOM</th>

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

      <tr>
        <th>Нагрузка диска</th>

        <td>
          Скорость чтения и записи данных в КБ/с или количество операций чтения и записи в секунду
        </td>
      </tr>

      <tr>
        <th>Нагрузка сети</th>
        <td>Количество бит или пакетов, отправленных и принятых через сетевой интерфейс</td>
      </tr>
    </tbody>
  </table>
</CustomTable>

## Экспортировать метрики в формате Prometheus \{#export-metrics-in-prometheus-format}

Историческая информация для кластеров недоступна — метрики запрашиваются только в режиме реального времени.
Список всех метрик, которые поддерживаются в облачных базах данных, и их описание можно посмотреть в таблице [Метрики в формате Prometheus](#metrics-in-prometheus-format).

1. [Получите токен](#get-token).
2. [Получите метрики в формате Prometheus](#get-prometheus-metrics).

### 1. Получить токен \{#get-token}

Токен дает доступ к метрикам всех кластеров [проекта](/access-control/projects/about-projects.mdx) в одном [пуле](/infrastructure/locations.mdx#pool).

1. В [панели управления](https://my.selectel.ru/vpc/default/dbaas/) в верхнем меню нажмите **Продукты** и выберите **Облачные базы данных**.

2. Откройте вкладку **Активные**.

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

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

5. Скопируйте токен.
   Для этого в строке токена нажмите <CopyIcon />.

### 2. Получить метрики в формате Prometheus \{#get-prometheus-metrics}

<Tabs queryString="get-prometheus-metrics">
  <TabItem value="config" default>
    <TabItemLabel>
      Конфигурационный файл
    </TabItemLabel>

    1. Добавьте в конфигурационный файл Prometheus:

       ```yaml
       scrape_configs:
         - job_name: get-metrics-from-dbaas
           scrape_interval: 1m
           static_configs:
             - targets:
               - '<domain>'
           scheme: https
           authorization:
             type: Bearer
             credentials: <token>
       ```

       Укажите:

       * `<domain>` — домен Managed Databases API. Это часть URL для обращения к API без `https://` и `/v1`, например `ru-3.dbaas.selcloud.ru`.
         URL зависит от [региона и пула](/infrastructure/locations.mdx#selectel-infrastructure), можно посмотреть в подразделе [Облачные базы данных](/api/urls/#managed-databases) инструкции [Список URL](/api/urls/);
       * `<token>` — токен, который вы скопировали при [получении токена](#get-token) на шаге 5.

    2. Откройте в браузере страницу, на которой будут доступны метрики в формате Prometheus:

       ```bash
       http://<ip_address>:9090/targets
       ```

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

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

  <TabItem value="cli">
    <TabItemLabel>
      CLI
    </TabItemLabel>

    1. Откройте CLI.

    2. Чтобы получить метрики, отправьте запрос:

       ```bash
       curl -L "https://<domain>/metrics" -H "Authorization: Bearer <token>"
       ```

       Укажите:

       * `<domain>` — домен Managed Databases API. Это часть URL для обращения к API без `https://` и `/v1`, например `ru-3.dbaas.selcloud.ru`.
         URL зависит от [региона и пула](/infrastructure/locations.mdx#selectel-infrastructure), можно посмотреть в подразделе [Облачные базы данных](/api/urls/#managed-databases) инструкции [Список URL](/api/urls/);
       * `<token>` — токен, который вы скопировали при [получении токена](#get-token) на шаге 5.

       В ответе появятся доступные метрики в формате Prometheus.

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

### Метрики в формате Prometheus \{#metrics-in-prometheus-format}

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

<CustomTable>
  <table data-sticky>
    <tbody>
      <tr>
        <th>dbaas\_memory\_percent</th>
        <td>Занятая память без учета кэша и буферов операционной системы (RAM) в процентах</td>
      </tr>

      <tr>
        <th>dbaas\_memory\_bytes</th>
        <td>Занятая память без учета кэша и буферов операционной системы (RAM) в байтах</td>
      </tr>

      <tr>
        <th>dbaas\_oom\_count</th>
        <td>Количество процессов, которые завершились ошибкой `Out of Memory` из-за нехватки оперативной памяти</td>
      </tr>

      <tr>
        <th>dbaas\_cpu</th>
        <td>Использование vCPU на нодах кластера базы данных в процентах</td>
      </tr>

      <tr>
        <th>dbaas\_cpu\_iowait</th>
        <td>Время ожидания ввода/вывода в процентах</td>
      </tr>

      <tr>
        <th>dbaas\_disk\_percent</th>

        <td>
          Занятое место на диске в процентах.
          Учитывает часть дискового пространства, зарезервированную под служебные нужды и недоступную для размещения баз данных.
          Подробнее о резервировании дискового пространства в инструкции [Использование дискового пространства в кластере Kafka](/managed-databases/kafka/use-disk-space.mdx)
        </td>
      </tr>

      <tr>
        <th>dbaas\_disk\_bytes</th>

        <td>
          Занятое место на диске в байтах.
          Учитывает часть дискового пространства, зарезервированную под служебные нужды и недоступную для размещения баз данных.
          Подробнее о резервировании дискового пространства в инструкции [Использование дискового пространства в кластере Kafka](/managed-databases/kafka/use-disk-space.mdx)
        </td>
      </tr>

      <tr>
        <th>dbaas\_disk\_read\_iops</th>
        <td>Количество операций чтения в секунду</td>
      </tr>

      <tr>
        <th>dbaas\_disk\_write\_iops</th>
        <td>Количество операций записи в секунду</td>
      </tr>

      <tr>
        <th>dbaas\_disk\_read\_bytes</th>
        <td>Скорость чтения данных с диска в байтах в секунду</td>
      </tr>

      <tr>
        <th>dbaas\_disk\_write\_bytes</th>
        <td>Скорость записи данных на диск в байтах в секунду</td>
      </tr>

      <tr>
        <th>dbaas\_node\_load1</th>
        <td>Среднее значение загрузки системы за одну минуту. Показывает, какое количество процессов обрабатывается ядрами кластера</td>
      </tr>

      <tr>
        <th>dbaas\_node\_load5</th>
        <td>Среднее значение загрузки системы за пять минут. Показывает, какое количество процессов обрабатывается ядрами кластера</td>
      </tr>

      <tr>
        <th>dbaas\_node\_load15</th>
        <td>Среднее значение загрузки системы за 15 минут. Показывает, какое количество процессов обрабатывается ядрами кластера</td>
      </tr>

      <tr>
        <th>dbaas\_network\_receive\_bytes</th>
        <td>Количество байт, принятых через сетевой интерфейс</td>
      </tr>

      <tr>
        <th>dbaas\_network\_transmit\_bytes</th>
        <td>Количество байт, отправленных через сетевой интерфейс</td>
      </tr>

      <tr>
        <th>dbaas\_network\_receive\_packets</th>
        <td>Количество пакетов, принятых через сетевой интерфейс  в секунду</td>
      </tr>

      <tr>
        <th>dbaas\_network\_transmit\_packets</th>
        <td>Количество пакетов, отправленных через сетевой интерфейс в секунду</td>
      </tr>

      <tr>
        <th>dbaas\_role</th>

        <td>
          Роль ноды:

          <ul>
            <li>`0` — роль неизвестна;</li>
            <li>`1` — мастер;</li>
            <li>`2` — реплика</li>
          </ul>
        </td>
      </tr>
    </tbody>
  </table>
</CustomTable>

<Formbricks />
