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

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

  • Получить лог кластера
  • Получить поток записей лога
  1. Пошаговые инструкции
  2. Логи и мониторинг
  3. Просмотр логов кластера

Просмотр логов кластера Apache Kafka®

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.
  • Получить лог кластера
  • Получить поток записей лога

Managed Service for Apache Kafka® позволяет получить фрагмент логов кластера за выбранный период и просматривать логи в реальном времени.

Примечание

Здесь под логом понимается системный лог кластера и его хостов. Этот лог не имеет отношения к логу раздела для топика Apache Kafka®, в который брокер записывает поступающие от производителей сообщения.

Примечание

Логи кластера хранятся 30 дней.

Получить лог кластераПолучить лог кластера

Консоль управления
CLI
REST API
gRPC API
  1. В консоли управления перейдите в нужный каталог.
  2. В списке сервисов выберите Managed Service for Kafka.
  3. Нажмите на имя нужного кластера и выберите вкладку Логи.
  4. Выберите Источник, Хосты и Уровень логирования.
  5. Укажите период времени, за который нужно отобразить лог.

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

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

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

    yc managed-kafka cluster list-logs --help
    
  2. Запустите команду получения логов кластера (в примере приведены не все доступные параметры):

    yc managed-kafka cluster list-logs <имя_или_идентификатор_кластера> \
       --limit <ограничение_количества_записей> \
       --columns <список_колонок_лога> \
       --filter <настройки_фильтрации_записей> \
       --since <левая_граница_временного_диапазона> \
       --until <правая_граница_временного_диапазона>
    

    Где:

    • --limit — ограничение на количество выводимых записей.

    • --columns — список колонок лога, из которых будет выводиться информация:

      • hostname — имя хоста.
      • message — сообщение, которое выводит компонент.
      • severity — уровень логирования. Пример выводимого значения: INFO.
      • origin — источник сообщения. Примеры выводимых значений: kafka_server или kafka_controller.
    • --filter — настройки фильтрации записей, например, message.hostname='node1.mdb.yandexcloud.net'.

    • --since — левая граница временного диапазона в формате RFC-3339, HH:MM:SS или временного промежутка относительно текущего времени. Примеры: 2006-01-02T15:04:05Z, 15:04:05, 2h, 3h30m ago.

    • --until — правая граница временного диапазона, формат аналогичен --since.

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

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

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

    curl \
        --request GET \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --url 'https://mdb.api.cloud.yandex.net/managed-kafka/v1/clusters/<идентификатор_кластера>:logs' \
        --url-query columnFilter=<список_колонок_для_вывода_информации> \
        --url-query fromTime=<левая_граница_временного_диапазона> \
        --url-query toTime=<правая_граница_временного_диапазона>
    

    Где:

    • columnFilter — список колонок для вывода информации:

      • hostname — имя хоста.
      • component — тип компонента, который попадет в лог. Например, HTTP-Session.
      • message — сообщение, которое выводит компонент.
      • query_id — идентификатор запроса.
      • severity — уровень логирования, например, Debug.
      • thread — идентификатор потока, участвующего в обработке запросов.

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

    • fromTime — левая граница временного диапазона в формате RFC-3339. Пример: 2006-01-02T15:04:05Z.
    • toTime — правая граница временного диапазона, формат аналогичен fromTime.

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

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

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

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

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

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

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

    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": "<идентификатор_кластера>",
                "column_filter": [<список_колонок_для_вывода_информации>],
                "from_time": "<левая_граница_временного_диапазона>" \
                "to_time": "<правая_граница_временного_диапазона>"
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.kafka.v1.ClusterService.ListLogs
    

    Где:

    • service_type — тип сервиса, для которого нужно запросить логи. Допустимо только значение CLICKHOUSE.

    • column_filter — список колонок для вывода информации:

      • hostname — имя хоста.
      • component — тип компонента, который попадет в лог. Например, HTTP-Session.
      • message — сообщение, которое выводит компонент.
      • query_id — идентификатор запроса.
      • severity — уровень логирования, например, Debug.
      • thread — идентификатор потока, участвующего в обработке запросов.

      В параметре column_filter можно указать несколько колонок, если нужно отфильтровать логи по нескольким колонкам.

    • from_time — левая граница временного диапазона в формате RFC-3339. Пример: 2006-01-02T15:04:05Z.
    • to_time — правая граница временного диапазона, формат аналогичен from_time.

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

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

Получить поток записей логаПолучить поток записей лога

Этот способ позволяет получать логи кластера в реальном времени.

CLI
REST API
gRPC API

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

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

Для просмотра логов кластера по мере их поступления выполните команду:

yc managed-kafka cluster list-logs <имя_или_идентификатор_кластера> --follow

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

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

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

    curl \
        --request GET \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --url 'https://mdb.api.cloud.yandex.net/managed-kafka/v1/clusters/<идентификатор_кластера>:stream_logs' \
        --url-query columnFilter=<список_колонок_для_вывода_информации> \
        --url-query fromTime=<левая_граница_временного_диапазона> \
        --url-query toTime=<правая_граница_временного_диапазона> \
        --url-query filter=<фильтр_логов>
    

    Где:

    • columnFilter — список колонок для вывода информации:

      • hostname — имя хоста.
      • component — тип компонента, который попадет в лог. Например, HTTP-Session.
      • message — сообщение, которое выводит компонент.
      • query_id — идентификатор запроса.
      • severity — уровень логирования, например, Debug.
      • thread — идентификатор потока, участвующего в обработке запросов.

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

    • fromTime — левая граница временного диапазона в формате RFC-3339. Пример: 2006-01-02T15:04:05Z.
    • toTime — правая граница временного диапазона, формат аналогичен fromTime.

      Если не указывать этот параметр, то в поток логов будут отсылаться новые логи по мере их появления. Это поведение семантически эквивалентно tail -f.

    • filter — фильтр логов. Можно отфильтровать логи так, чтобы поток логов содержал только нужные логи.

      Подробнее о фильтрах и их синтаксисе см. в справочнике API.

      Совет

      Фильтр может содержать в себе кавычки и другие символы. Экранируйте их, если это необходимо.

      Поддерживаемые фильтры:

      • message.hostname — фильтрация по имени хоста.
      • message.severity — фильтрация по уровню логирования.

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

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

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

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

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

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

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

    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": "<идентификатор_кластера>",
                "column_filter": [<список_колонок_для_вывода_информации>],
                "from_time": "<левая_граница_временного_диапазона>",
                "to_time": "<правая_граница_временного_диапазона>",
                "filter": "<фильтр_логов>"
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.kafka.v1.ClusterService.StreamLogs
    

    Где:

    • column_filter — список колонок для вывода информации:

      • hostname — имя хоста.
      • component — тип компонента, который попадет в лог. Например, HTTP-Session.
      • message — сообщение, которое выводит компонент.
      • query_id — идентификатор запроса.
      • severity — уровень логирования, например, Debug.
      • thread — идентификатор потока, участвующего в обработке запросов.

      В параметре column_filter можно указать несколько колонок, если нужно отфильтровать логи по нескольким колонкам.

    • from_time — левая граница временного диапазона в формате RFC-3339. Пример: 2006-01-02T15:04:05Z.
    • to_time — правая граница временного диапазона, формат аналогичен from_time.

      Если не указывать этот параметр, то в поток логов будут отсылаться новые логи по мере их появления. Это поведение семантически эквивалентно tail -f.

    • filter — фильтр логов. Можно отфильтровать логи так, чтобы поток логов содержал только нужные логи.

      Совет

      Фильтр может содержать в себе кавычки и другие символы. Экранируйте их, если это необходимо.

      Поддерживаемые фильтры:

      • message.hostname — фильтрация по имени хоста.
      • message.severity — фильтрация по уровню логирования.

      Подробнее о фильтрах и их синтаксисе см. в справочнике API.

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

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

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

Предыдущая
Управление коннекторами
Следующая
Мониторинг состояния кластера и хостов
Проект Яндекса
© 2025 ООО «Яндекс.Облако»