Перейти к основному содержимому
Перейти к основному содержимому

Генерация синтетических данных OpenTelemetry с помощью otelgen

otelgen — это небольшая CLI-утилита на Go, которая генерирует синтетические OTLP-логи, трейсы и метрики. Используйте её, чтобы убедиться, что существующий коллектор ClickStack OpenTelemetry принимает данные и что события появляются в интерфейсе ClickStack.

В этом руководстве предполагается, что коллектор уже запущен и использует конечные точки OTLP на 4317 (gRPC) и 4318 (HTTP).

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

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

Установка otelgen

Установите через Homebrew:

brew install krzko/tap/otelgen

Или установите через Go:

go install github.com/krzko/otelgen@latest

Задайте переменные окружения

Экспортируйте конечную точку коллектора и, если коллектор защищён, токен аутентификации:

export OTEL_ENDPOINT=<host>:4317
export OTLP_AUTH_TOKEN=<your_otlp_auth_token>

Используйте хост и порт вашего коллектора. Для коллектора, запущенного на той же машине, это будет localhost:4317.

Незащищённый коллектор

Коллектор ClickStack OpenTelemetry по умолчанию не требует аутентификации. Если вы не выполнили шаги из раздела Защита коллектора, чтобы задать OTLP_AUTH_TOKEN, пропустите здесь OTLP_AUTH_TOKEN и уберите флаг --header из команд ниже.

Генерация трейсов

Отправьте короткую серию многоспановых трейсов:

otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
  --header "authorization=${OTLP_AUTH_TOKEN}" \
  --protocol grpc --insecure \
  --rate 2 --duration 10 \
  traces multi

--rate — это количество трейсов в секунду, а --duration — длительность выполнения в секундах. --insecure отключает TLS для gRPC-соединения, что необходимо, если otelgen указывает на незашифрованный OTLP-порт коллектора.

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

otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
  --header "authorization=${OTLP_AUTH_TOKEN}" \
  --protocol grpc --insecure \
  --rate 2 --duration 10 \
  logs multi

Генерация метрик

Подкоманды метрик не учитывают --duration. Запустите команду и через несколько секунд нажмите Ctrl+C, чтобы остановить её.

otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
  --header "authorization=${OTLP_AUTH_TOKEN}" \
  --protocol grpc --insecure \
  --rate 2 \
  metrics sum

otelgen также поддерживает подкоманды gauge, histogram, up-down-counter и exponential-histogram в разделе metrics.

Проверка в ClickStack

Откройте интерфейс ClickStack из консоли ClickHouse Cloud. В представлении Search переключайте источник между Logs и Traces, чтобы убедиться, что появились новые события. Установите временной диапазон Last 15 minutes. Откройте Chart Explorer, выберите Metrics и постройте график по одному из имён метрик, созданных otelgen (например, otelgen.metrics.sum), чтобы проверить ингестию метрик.