Skip to main content
telemetrygen — это генератор данных из OpenTelemetry Collector Contrib. Он отправляет синтетические журналы, трассировки и метрики OTLP, а также поддерживает флаги, с помощью которых можно настраивать состав данных: несколько сервисов, уровни серьёзности журналов, статусы спанов и дочерние спаны, а также разные типы метрик. Используйте его, чтобы убедиться, что коллектор ClickStack OpenTelemetry принимает данные и что разнообразные реалистичные события отображаются в интерфейсе ClickStack. В этом руководстве предполагается, что коллектор уже запущен, а конечные точки OTLP доступны на 4317 (gRPC) и 4318 (HTTP).
1

Предварительные требования

В этом руководстве предполагается, что вы уже выполнили руководство «Начало работы» для Управляемого ClickStack и что у вас запущен OpenTelemetry Collector, а его конечные точки OTLP gRPC (4317) и HTTP (4318) доступны с машины, на которой вы запускаете telemetrygen. Если вы защитили collector с помощью OTLP_AUTH_TOKEN, держите это значение под рукой.
2

Установите telemetrygen

Запустите telemetrygen из его Docker-образа (установка не требуется). Задайте небольшую обёртку, чтобы команды ниже оставались читаемыми; --add-host позволяет контейнеру подключаться к коллектору, который прослушивает хост:
Или установите бинарный файл с помощью Go и используйте localhost в качестве цели:
3

Задайте переменные среды

Если collector защищён, экспортируйте токен аутентификации:
Незащищённый коллекторКоллектор ClickStack OpenTelemetry по умолчанию не требует аутентификации. Если вы не выполнили инструкции из раздела Защита коллектора, чтобы задать OTLP_AUTH_TOKEN, удалите строку --otlp-header из вспомогательной команды ниже.
Определите небольшой вспомогательный tg, чтобы в каждой команде указывать только изменяющиеся параметры (сервис, уровень, status, атрибуты):
4

Генерация журналов

Отправляйте журналы как реалистичный набор записей с разными уровнями серьёзности для разных сервисов: в основном информационные, с одним предупреждением и одной ошибкой, а не как единый однородный поток:
Наиболее полезные флаги для логов:
  • --service задаёт service.name, чтобы события можно было связать с сервисом.
  • --severity-text и --severity-number задают уровень (severity-number принимает значения от 1 до 24).
  • --body задаёт сообщение лога.
  • --otlp-attributes задаёт resource-level attributes (key="value", key=true или key=<integer>).
  • --telemetry-attributes задаёт атрибуты для каждой записи.
5

Сгенерируйте трассировки

Отправьте трассировки из нескольких спанов от нескольких работоспособных сервисов и одной неисправной зависимости. Это придаст карте сервисов реалистичный вид: в целом всё будет работать нормально, но один сервис будет выдавать ошибки, а представления ошибок заполнятся:
Самые полезные флаги трассировки:
  • --child-spans генерирует указанное количество дочерних спанов для каждого trace, добавляя ему реалистичную глубину.
  • --span-duration задаёт длительность каждого спана (например, 120ms, 2s).
  • --status-code принимает одно из значений: Unset, Error, Ok (или 0, 1, 2). Используйте Error, чтобы проверить отображение ошибок.
  • --span-links добавляет связи между спанами.
  • --workers запускает несколько генераторов параллельно, чтобы получить больший и более разнообразный объём данных.
6

Сгенерируйте метрики

Отправьте три распространённых типа метрик, чтобы на панелях мониторинга появились Counter, Gauge и распределение. В отличие от некоторых генераторов, telemetrygen учитывает параметр --duration при генерации метрик, поэтому вручную останавливать его не нужно:
--metric-type принимает значения Gauge, Sum, Histogram или ExponentialHistogram. --otlp-metric-name задаёт имя серии, чтобы вы могли найти её в интерфейсе, а --aggregation-temporality может иметь значение delta или cumulative.
7

Проверьте в ClickStack

Откройте интерфейс ClickStack из консоли ClickHouse Cloud. В представлении Search установите диапазон времени Last 15 minutes и переключайтесь между источниками Logs и Traces. Отфильтруйте по ServiceName, чтобы увидеть сервисы frontend, checkout, cart и payment, а по SeverityText — чтобы найти записи журнала с предупреждениями и ошибками. Откройте трассировку payment, чтобы увидеть дочерние спаны и статус ошибки. Откройте Chart Explorer, выберите Metrics и постройте график для одной из метрик, которые вы указали выше (например, http.server.requests), чтобы проверить ингестию метрик.
Last modified on July 2, 2026