Отправка данных через Vector
- Управляемый ClickStack
- ClickStack с открытым исходным кодом
В данном руководстве предполагается, что вы уже создали сервис Управляемого ClickStack и сохранили учётные данные сервиса. Если нет, следуйте руководству Getting Started для Управляемого ClickStack до момента, когда вам будет предложено настроить Vector.Создайте таблицу для своих данных. Она должна соответствовать выходной схеме данных. В примере ниже используется классическая структура Nginx. При необходимости адаптируйте её под свои данные, следуя рекомендациям по работе со схемой. Мы настоятельно рекомендуем ознакомиться с концепцией первичных ключей и выбрать первичный ключ на основе рекомендаций, изложенных здесь.По умолчанию мы рекомендуем использовать формат
Создайте базу данных и таблицу
Для Vector необходимо заранее определить таблицу и схему до начала ингестии данных.Сначала создайте базу данных. Это можно сделать через консоль ClickHouse Cloud.В примере ниже мы используемlogs:Первичный ключ NginxПриведённый выше первичный ключ рассчитан на типичные сценарии работы с журналами Nginx в интерфейсе ClickStack, но в продакшене его может потребоваться скорректировать в зависимости от вашей рабочей нагрузки.
Добавьте приёмник ClickHouse в конфигурацию Vector
Измените конфигурацию Vector, чтобы добавить приёмник ClickHouse, обновив полеinputs для получения событий из существующих конвейеров.Эта конфигурация предполагает, что предшествующий конвейер Vector уже подготовил данные в соответствии с целевой схемой ClickHouse, то есть поля разобраны, правильно названы и имеют подходящие типы для вставки. См. пример Nginx ниже, чтобы увидеть полный пример разбора и нормализации сырых строк логов в схему, подходящую для ClickStack.json_each_row, в котором каждое событие кодируется как отдельный объект JSON в одной строке. Это формат по умолчанию и рекомендуемый формат для ClickStack при ингестии JSON-данных, поэтому ему следует отдавать предпочтение перед альтернативными форматами, например объектами JSON, закодированными в виде строк.Sink ClickHouse также поддерживает потоковое кодирование Arrow (сейчас в статусе бета). Оно может обеспечить более высокую пропускную способность, но имеет важные ограничения: база данных и таблица должны быть фиксированными, так как схема считывается один раз при запуске, а динамическая маршрутизация не поддерживается. Поэтому кодирование Arrow лучше всего подходит для фиксированных, чётко определённых конвейеров ингестии.Рекомендуем ознакомиться с доступными параметрами конфигурации sink в документации Vector:В примере выше используется пользователь по умолчанию для Управляемого ClickStack. Для промышленных развертываний мы рекомендуем создать отдельного пользователя для ингестии с соответствующими разрешениями и ограничениями.
Перейдите в интерфейс ClickStack
Откройте свой сервис Управляемый ClickStack и выберите “ClickStack” в меню слева. Если вы уже завершили онбординг, интерфейс ClickStack откроется в новой вкладке, а авторизация произойдёт автоматически. Если нет, пройдите онбординг и выберите “Launch ClickStack” после того, как укажете Vector в качестве источника входящих данных.Создание источника данных
Создайте источник данных для журналов. Если источников данных ещё нет, при первом входе вам будет предложено создать его. В противном случае перейдите в Team Settings и добавьте новый источник данных.Приведённая выше конфигурация предполагает схему в стиле Nginx со столбцомtime_local, который используется в качестве временной метки. По возможности это должен быть столбец временной метки, объявленный в первичном ключе. Этот столбец обязателен.Мы также рекомендуем обновить Default SELECT, чтобы явно задать, какие столбцы возвращаются в представлении журналов. Если доступны дополнительные поля, такие как имя сервиса, уровень журнала или столбец body, их тоже можно настроить. Столбец, отображаемый как временная метка, также можно переопределить, если он отличается от столбца, используемого в первичном ключе таблицы и указанного выше.В приведённом выше примере столбец Body в данных отсутствует. Вместо этого он задаётся с помощью SQL-выражения, которое восстанавливает строку журнала Nginx из доступных полей.Другие возможные параметры см. в справочнике по конфигурации.Просмотр данных
Перейдите в представление журналов, чтобы изучить данные и начать работу с ClickStack.Пример набора данных с Vector
- Управляемый ClickStack
- ClickStack с открытым исходным кодом
В данном руководстве предполагается, что вы уже создали сервис Управляемого ClickStack и сохранили учётные данные сервиса. Если нет, следуйте руководству Getting Started для Управляемого ClickStack вплоть до шага настройки Vector.Создайте таблицу для своих данных.Это позволяет восстановить строку лога из структурированных полей.Другие возможные варианты см. в справочнике по конфигурации.
Установка Vector
Прежде чем продолжить, убедитесь, что Vector установлен в системе, где вы планируете запускать свой конвейер ингестии. Чтобы установить предварительно собранный бинарный файл или пакет, подходящий для вашей среды, следуйте официальному руководству по установке Vector:После установки, прежде чем переходить к приведённым ниже шагам настройки, убедитесь, что бинарный файлvector доступен в переменной PATH.Это можно установить на том же инстансе, что и ваш ClickStack OTel collector.Следуйте рекомендациям по архитектуре и безопасности при переводе Vector в промышленную эксплуатацию.Скачайте тестовые данные
Если вы хотите поэкспериментировать с тестовым набором данных, скачайте следующий пример для nginx.Эти данные были собраны из экземпляра Nginx, настроенного на вывод логов в формате JSON для упрощения разбора. Конфигурацию Nginx для этих логов см. в “Мониторинг логов Nginx с ClickStack”.
Создайте базу данных и таблицу
Для Vector необходимо заранее определить таблицу и схему до начала ингестии данных.Сначала создайте базу данных. Это можно сделать через консоль ClickHouse Cloud.Создайте базу данныхlogs:Первичный ключ NginxПриведённый выше первичный ключ рассчитан на типичные сценарии доступа к журналам Nginx в интерфейсе ClickStack, но в производственной среде его может потребоваться скорректировать с учётом вашей рабочей нагрузки.
Скопируйте конфигурацию Vector
Скопируйте конфигурацию Vector и создайте файлnginx.yaml, указав CLICKHOUSE_ENDPOINT и CLICKHOUSE_PASSWORD.В примере выше используется пользователь по умолчанию для Управляемого ClickStack. Для промышленного развертывания мы рекомендуем создать отдельного пользователя для ингестии с соответствующими разрешениями и ограничениями.
Запуск Vector
Запустите Vector следующей командой, предварительно создав каталог данных для сохранения смещений в файле.Перейдите в интерфейс ClickStack
Перейдите в свой сервис Управляемый ClickStack и выберите “ClickStack” в левом меню. Если вы уже завершили онбординг, интерфейс ClickStack откроется в новой вкладке, и вы автоматически войдёте в систему. Если нет, пройдите онбординг и нажмите “Launch ClickStack” после того, как выберете Vector в качестве входного источника.Создание источника данных
Создайте источник данных для журналов. Если источников данных ещё нет, при первом входе в систему вам будет предложено создать его. В противном случае перейдите в Team Settings и добавьте новый источник данных.Конфигурация предполагает схему Nginx со столбцомtime_local, который используется как временная метка. Именно этот столбец временной метки объявлен в первичном ключе. Этот столбец обязателен.Мы также указали выражение SELECT по умолчанию: time_local, remote_addr, status, request, — оно определяет, какие столбцы возвращаются в представлении журналов.В приведённом выше примере столбец Body отсутствует в данных. Вместо этого он задаётся как SQL-выражение:Просмотрите данные
Перейдите в режим поиска заOctober 20th, 2025, чтобы просмотреть данные и начать работу с ClickStack.