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

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

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

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

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

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

Примечание

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

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

Консоль управления
CLI
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse.
  2. Нажмите на имя нужного кластера и выберите вкладку Логи.
  3. Укажите период времени, за который нужно отобразить логи: введите его вручную или выберите в календаре, нажав на поле ввода дат.
  4. При необходимости укажите хосты и уровень логирования в строке с полем ввода дат.

Будет отображен список записей в логе за выбранный период времени. Чтобы посмотреть подробную информацию о событии, нажмите на интересующую запись в списке.

Если записей слишком много и отображается только часть из них, нажмите на кнопку Загрузить еще в конце списка.

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

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

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

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

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

    Где:

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

    • --columns — список колонок для вывода информации:
      • hostname — имя хоста.
      • component — тип компонента, который попадет в лог. Например, HTTP-Session.
      • message — сообщение, которое выводит компонент.
      • query_id — идентификатор запроса.
      • severity — уровень логирования, например, Debug.
      • thread — идентификатор потока, участвующего в обработке запросов.
    • --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-clickhouse/v1/clusters/<идентификатор_кластера>:logs' \
        --url-query serviceType=CLICKHOUSE \
        --url-query columnFilter=<список_колонок_для_вывода_информации> \
        --url-query fromTime=<левая_граница_временного_диапазона> \
        --url-query toTime=<правая_граница_временного_диапазона>
    

    Где:

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

    • 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/clickhouse/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
                "cluster_id": "<идентификатор_кластера>",
                "service_type" : "CLICKHOUSE",
                "column_filter": [<список_колонок_для_вывода_информации>],
                "from_time": "<левая_граница_временного_диапазона>" \
                "to_time": "<правая_граница_временного_диапазона>"
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.clickhouse.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-clickhouse 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-clickhouse/v1/clusters/<идентификатор_кластера>:stream_logs' \
        --url-query serviceType=CLICKHOUSE \
        --url-query columnFilter=<список_колонок_для_вывода_информации> \
        --url-query fromTime=<левая_граница_временного_диапазона> \
        --url-query toTime=<правая_граница_временного_диапазона> \
        --url-query filter=<фильтр_логов>
    

    Где:

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

    • 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/clickhouse/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
                "cluster_id": "<идентификатор_кластера>",
                "service_type" : "CLICKHOUSE",
                "column_filter": [<список_колонок_для_вывода_информации>],
                "from_time": "<левая_граница_временного_диапазона>",
                "to_time": "<правая_граница_временного_диапазона>",
                "filter": "<фильтр_логов>"
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.clickhouse.v1.ClusterService.StreamLogs
    

    Где:

    • 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.

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

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

      Совет

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

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

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

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

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

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

ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc.

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

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