Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Apache Kafka®
  • Начало работы
    • Все инструкции
      • Информация об имеющихся кластерах
      • Создание кластера
      • Изменение настроек кластера
      • Обновление версии Apache Kafka®
      • Управление дисковым пространством
      • Остановка и запуск кластера
      • Получение списка хостов кластера
      • Миграция хостов в другую зону доступности
      • Удаление кластера
    • Управление топиками
    • Управление пользователями
    • Управление коннекторами
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Yandex Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Настроить алерты в Yandex Monitoring
  • Увеличить размер хранилища
  • Настроить автоматическое увеличение размера хранилища
  1. Пошаговые инструкции
  2. Кластеры
  3. Управление дисковым пространством

Управление дисковым пространством в кластере Managed Service for Apache Kafka®

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 24 апреля 2025 г.
  • Настроить алерты в Yandex Monitoring
  • Увеличить размер хранилища
  • Настроить автоматическое увеличение размера хранилища

Когда хранилище заполнено на 97% или больше, хост автоматически переходит в режим read-only. Чтобы избежать проблем с операциями записи в топик, воспользуйтесь одним из способов:

  • Настройте алерты в Yandex Monitoring, чтобы отслеживать степень заполнения хранилища.

  • Увеличьте размер хранилища, чтобы снять режим read-only автоматически.

  • Настройте автоматическое увеличение размера хранилища, чтобы предотвратить ситуации, когда место на диске заканчивается и хост переходит в режим read-only.

Настроить алерты в Yandex MonitoringНастроить алерты в Yandex Monitoring

  1. Перейдите на страницу каталога и выберите сервис Monitoring.

  2. Создайте канал уведомлений.

  3. Создайте алерт со следующими параметрами:

    1. Метрики — задайте параметры метрики:

      • Облако.

      • Каталог.

      • Сервис Managed Service for Kafka.

      • Идентификатор кластера Managed Service for Apache Kafka®.

        Идентификатор можно получить со списком кластеров в каталоге.

      • Метка disk.free_bytes.

    2. Условия срабатывания — задайте условие для заполнения свободного дискового пространства, при котором сработает алерт:

      • Функция агрегации — Минимум (минимальное значение метрики за период).
      • Функция сравнения — Меньше или равно.
      • Warning — 95 (95% от размера хранилища).
      • Alarm — 90 (90% от размера хранилища).
      • Окно вычисления — желаемый период, с которым будет обновляться значение метрики.
      • Задержка вычисления — предпочтительный сдвиг по времени назад в секундах. Позволяет исключить срабатывания алерта, когда в нем указано несколько метрик и они собираются с разным интервалом. Подробнее о задержке вычисления см. в документации Yandex Monitoring.
    3. Уведомления — добавьте созданный ранее канал уведомлений.

Увеличить размер хранилищаУвеличить размер хранилища

Проверьте, что в облаке достаточно квот для увеличения хранилища. Откройте страницу Квоты для облака и убедитесь, что в секции Managed Databases в строке Объём HDD-хранилищ или Объём SSD-хранилищ есть квота на объем хранилищ.

Консоль управления
CLI
Terraform
REST API
gRPC API

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

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kafka.

  2. В строке с нужным кластером нажмите , затем выберите Редактировать.

  3. Измените настройки в блоке Хранилище.

    Тип диска для кластера Apache Kafka® нельзя изменить после создания.

  4. Нажмите кнопку Сохранить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

  1. Посмотрите описание команды CLI для изменения кластера:

    yc managed-kafka cluster update --help
    
  2. Чтобы изменить объем хранилища хостов-брокеров, выполните команду:

    yc managed-kafka cluster update <имя_или_идентификатор_кластера> \
       --disk-size <объем_хранилища>
    

    Если не указаны единицы размера, то используются гигабайты.

  3. Чтобы изменить объем хранилища хостов ZooKeeper, выполните команду:

    yc managed-kafka cluster update <имя_или_идентификатор_кластера> \
       --zookeeper-disk-size <размер_диска>
    

    Если не указаны единицы размера, то используются гигабайты.

Тип диска для кластера Apache Kafka® нельзя изменить после создания.

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

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Измените в описании кластера Managed Service for Apache Kafka® значение параметра disk_size в блоках kafka.resources и zookeeper.resources для хостов Apache Kafka® и ZooKeeper соответственно:

    resource "yandex_mdb_kafka_cluster" "<имя_кластера>" {
      ...
      kafka {
        resources {
          disk_size = <размер_хранилища_ГБ>
          ...
        }
        ...
      }
      zookeeper {
        resources {
          disk_size = <размер_хранилища_ГБ>
          ...
        }
      }
    }
    

    Тип диска для кластера Apache Kafka® нельзя изменить после создания.

  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

Ограничения по времени

Провайдер Terraform ограничивает время на выполнение всех операций с кластером Managed Service for Apache Kafka® 60 минутами.

Операции, длящиеся дольше указанного времени, прерываются.

Как изменить эти ограничения?

Добавьте к описанию кластера блок timeouts, например:

resource "yandex_mdb_kafka_cluster" "<имя_кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.update и выполните запрос, например, с помощью cURL:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-kafka/v1/clusters/<идентификатор_кластера>' \
        --data '{
                  "updateMask": "configSpec.kafka.resources.diskSize,configSpec.zookeeper.resources.diskSize",
                  "configSpec": {
                    "kafka": {
                      "resources": {
                        "diskSize": "<размер_хранилища_байт>"
                      }
                    },
                    "zookeeper": {
                      "resources": {
                        "diskSize": "<размер_хранилища_байт>"
                      }
                    }
                  }
                }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

      Укажите нужные параметры:

      • configSpec.kafka.resources.diskSize — если нужно изменить размер хранилища хостов-брокеров.
      • configSpec.zookeeper.resources.diskSize — если нужно изменить размер хранилища хостов ZooKeeper. Применяется только для кластеров с версией Apache Kafka® 3.5.
    • configSpec.kafka.resources.diskSize – размер хранилища хостов-брокеров в байтах.

    • configSpec.zookeeper.resources.diskSize — размер хранилища хостов ZooKeeper в байтах. Применяется только для кластеров с версией Apache Kafka® 3.5.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService/Update и выполните запрос, например, с помощью gRPCurl:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/kafka/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [
                  "config_spec.kafka.resources.disk_size",
                  "config_spec.zookeeper.resources.disk_size"
                ]
              },
              "config_spec": {
                "kafka": {
                  "resources": {
                    "disk_size": "<размер_хранилища_байт>"
                  }
                },
                "zookeeper": {
                  "resources": {
                    "disk_size": "<размер_хранилища_байт>"
                  }
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.kafka.v1.ClusterService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

      Укажите нужные параметры:

      • config_spec.kafka.resources.disk_size — если нужно изменить размер хранилища хостов-брокеров.
      • config_spec.brokers_count — если нужно изменить размер хранилища хостов ZooKeeper. Применяется только для кластеров с версией Apache Kafka® 3.5.
    • config_spec.kafka.resources.disk_size — размер хранилища хостов-брокеров в байтах.

    • config_spec.zookeeper.resources.disk_size — размер хранилища хостов ZooKeeper в байтах. Применяется только для кластеров с версией Apache Kafka® 3.5.

    Идентификатор кластера можно запросить со списком кластеров в каталоге. Список доступных классов хостов с их идентификаторами был получен ранее.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Настроить автоматическое увеличение размера хранилищаНастроить автоматическое увеличение размера хранилища

Чтобы место на диске кластера не заканчивалось и хосты не переходили в режим read-only, настройте автоматическое увеличение размера хранилища.

Проверьте, что в облаке достаточно квот для увеличения хранилища. Откройте страницу Квоты для облака и убедитесь, что в секции Managed Databases в строке Объём HDD-хранилищ или Объём SSD-хранилищ есть квота на объем хранилищ.

Важно

  • Размер хранилища нельзя уменьшить.
  • Во время изменения размера хранилища хосты кластера будут недоступны.
Консоль управления
CLI
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kafka.

  2. В строке с нужным кластером нажмите на значок , затем выберите Редактировать.

  3. В блоке Автоматическое увеличение размера хранилища задайте пороги заполненности хранилища, при достижении которых его размер будет увеличиваться:

    1. В поле Увеличивать размер выберите один или оба порога:
      • В окно обслуживания при заполненности более — порог для планового увеличения. Когда он достигнут, объем хранилища увеличивается во время ближайшего окна обслуживания.
      • Незамедлительно при заполненности более — порог для незамедлительного увеличения. Когда он достигнут, объем хранилища увеличивается немедленно.
    2. Задайте пороговое значение (в процентах от общего объема хранилища). Если выбраны оба порога, значение для незамедлительного увеличения должно быть выше, чем для планового.
    3. Задайте Максимальный размер хранилища.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы настроить автоматическое увеличение размера хранилища:

  1. Посмотрите описание команды CLI для изменения кластера:

    yc managed-kafka cluster update --help
    
  2. Укажите максимальный размер хранилища и условия для его увеличения в команде изменения кластера:

    yc managed-kafka cluster update <идентификатор_или_имя_кластера> \
       --disk-size-autoscaling planned-usage-threshold=<процент_для_планового_увеличения>,`
                              `emergency-usage-threshold=<процент_для_незамедлительного_увеличения>,`
                              `disk-size-limit=<максимальный_размер_хранилища_в_байтах>
    

    Где:

    • planned-usage-threshold — процент заполнения хранилища, при котором хранилище будет увеличено в следующее окно технического обслуживания.

      Значение задается в процентах от 0 до 100. По умолчанию — 0 (автоматическое расширение отключено).

      Если вы задали этот параметр, настройте расписание технического обслуживания.

    • emergency-usage-threshold — процент заполнения хранилища, при котором хранилище будет увеличено немедленно.

      Значение задается в процентах от 0 до 100. По умолчанию — 0 (автоматическое расширение отключено). Должно быть не меньше значения planned-usage-threshold.

    • disk-size-limit — максимальный размер хранилища в байтах, который может быть установлен при достижении одного из заданных процентов заполнения.

      Если указать значение 0, автоматическое увеличение размера хранилища будет отключено.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.update и выполните запрос, например, с помощью cURL:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-kafka/v1/clusters/<идентификатор_кластера>' \
        --data '{
                  "updateMask": "configSpec.diskSizeAutoscaling.plannedUsageThreshold,configSpec.diskSizeAutoscaling.plannedUsageThreshold,configSpec.diskSizeAutoscaling.plannedUsageThreshold",
                  "configSpec": {
                    "diskSizeAutoscaling": {
                      "plannedUsageThreshold": "<процент_для_планового_увеличения>",
                      "emergencyUsageThreshold": "<процент_для_незамедлительного_увеличения>",
                      "diskSizeLimit": "<максимальный_размер_хранилища_в_байтах>"
                    }
                  }
                }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

      Укажите нужные параметры:

      • configSpec.diskSizeAutoscaling.plannedUsageThreshold — если нужно изменить процент заполнения хранилища для его планового увеличения.
      • configSpec.diskSizeAutoscaling.emergencyUsageThreshold — если нужно изменить процент заполнения хранилища для его внепланового увеличения.
      • configSpec.diskSizeAutoscaling.diskSizeLimit — если нужно изменить максимальный размер хранилища при его автоматическом расширении.
    • plannedUsageThreshold – процент заполнения хранилища, при котором хранилище будет увеличено в следующее окно обслуживания.

      Значение задается в процентах от 0 до 100. По умолчанию — 0 (автоматическое расширение отключено).

      Если вы задали этот параметр, настройте расписание окна технического обслуживания.

    • emergencyUsageThreshold — процент заполнения хранилища, при котором хранилище будет увеличено немедленно.

      Значение задается в процентах от 0 до 100. По умолчанию — 0 (автоматическое расширение отключено). Должно быть не меньше значения plannedUsageThreshold.

    • diskSizeLimit – максимальный размер хранилища (в байтах), который может быть установлен при достижении одного из заданных процентов заполнения.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService/Update и выполните запрос, например, с помощью gRPCurl:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/kafka/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [
                  "config_spec.disk_size_autoscaling.planned_usage_threshold",
                  "config_spec.disk_size_autoscaling.emergency_usage_threshold",
                  "config_spec.disk_size_autoscaling.disk_size_limit"
                ]
              },
              "config_spec": {
                "disk_size_autoscaling": {
                    "planned_usage_threshold": "<процент_для_планового_увеличения>",
                    "emergency_usage_threshold": "<процент_для_незамедлительного_увеличения>",
                    "disk_size_limit": "<максимальный_размер_хранилища_в_байтах>"
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.kafka.v1.ClusterService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

      Укажите нужные параметры:

      • config_spec.disk_size_autoscaling.planned_usage_threshold — если нужно изменить процент заполнения хранилища для его планового увеличения.
      • config_spec.disk_size_autoscaling.emergency_usage_threshold — если нужно изменить процент заполнения хранилища для его внепланового увеличения.
      • config_spec.disk_size_autoscaling.disk_size_limit — если нужно изменить максимальный размер хранилища при его автоматическом расширении.
    • planned_usage_threshold – процент заполнения хранилища, при котором хранилище будет увеличено в следующее окно обслуживания.

      Значение задается в процентах от 0 до 100. По умолчанию — 0 (автоматическое расширение отключено).

      Если вы задали этот параметр, настройте расписание окна технического обслуживания.

    • emergency_usage_threshold — процент заполнения хранилища, при котором хранилище будет увеличено немедленно.

      Значение задается в процентах от 0 до 100. По умолчанию — 0 (автоматическое расширение отключено). Должно быть не меньше значения planned_usage_threshold.

    • disk_size_limit – максимальный размер хранилища (в байтах), который может быть установлен при достижении одного из заданных процентов заполнения.

    Идентификатор кластера можно запросить со списком кластеров в каталоге. Список доступных классов хостов с их идентификаторами был получен ранее.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Если заданный порог достигнут, размер хранилища увеличивается по-разному в зависимости от типа диска:

  • Для сетевых HDD- и SSD-дисков — на большее из двух значений: 20 ГБ или 20% от текущего размера диска.

  • Для нереплицируемых SSD-дисков — на 93 ГБ.

  • Для локальных SSD-дисков, в кластере на платформе:

    • Intel Cascade Lake — на 100 ГБ.
    • Intel Ice Lake — на 368 ГБ.

Если порог срабатывания достигнут повторно, размер хранилища будет автоматически увеличиваться, пока не достигнет заданного максимума. После этого вы можете задать новый максимальный размер хранилища вручную.

Важно

  • Размер хранилища нельзя уменьшить.
  • Во время изменения размера хранилища хосты кластера будут недоступны.

Была ли статья полезна?

Предыдущая
Обновление версии Apache Kafka®
Следующая
Остановка и запуск кластера
Проект Яндекса
© 2025 ООО «Яндекс.Облако»