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

Приём данных с помощью OpenTelemetry

Все данные поступают в ClickStack через экземпляр коллектора OpenTelemetry (OTel), который является основной точкой входа для логов, метрик, трейсов и данных сессий. Мы рекомендуем использовать для этого экземпляра официальный дистрибутив коллектора ClickStack.

Пользователи отправляют данные в этот коллектор из языковых SDK или через агенты сбора данных, собирающие инфраструктурные метрики и логи (например, экземпляры OTel collector в роли агента или другие технологии, такие как Fluentd или Vector). Для команд, которым нужен управляемый конвейер OpenTelemetry, Bindplane предлагает нативное для OpenTelemetry решение с нативной поддержкой ClickStack в качестве назначения, упрощающее сбор, обработку и маршрутизацию телеметрии.

Отправка данных OpenTelemetry

Установка ClickStack OpenTelemetry collector

Чтобы отправлять данные в Managed ClickStack, OTel collector должен быть развернут в роли gateway. Совместимое с OTel инструментирование будет отправлять события в этот коллектор по OTLP через HTTP или gRPC.

Мы рекомендуем использовать ClickStack OpenTelemetry collector

Это позволяет использовать стандартизированную ингестию, жёстко заданные схемы и готовую совместимость с интерфейсом ClickStack (HyperDX). Применение стандартной схемы обеспечивает автоматическое определение источников и преднастроенные сопоставления столбцов.

Для получения более подробной информации см. раздел «Развертывание коллектора».

Отправка данных в коллектор

Чтобы отправлять данные в Managed ClickStack, направьте ваше инструментирование OpenTelemetry на следующие конечные точки, предоставляемые OpenTelemetry collector:

  • HTTP (OTLP): http://localhost:4318
  • gRPC (OTLP): localhost:4317

Для языковых SDK и библиотек телеметрии, поддерживающих OpenTelemetry, вы можете просто задать переменную окружения OTEL_EXPORTER_OTLP_ENDPOINT в вашем приложении:

export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318

Если вы развертываете contrib-дистрибутив OTel collector в роли агента, вы можете использовать экспортёр OTLP для отправки данных в коллектор ClickStack. Ниже приведён пример конфигурации агента, который потребляет этот структурированный файл логов.

# clickhouse-agent-config.yaml
receivers:
  filelog:
    include:
      - /opt/data/logs/access-structured.log
    start_at: beginning
    operators:
      - type: json_parser
        timestamp:
          parse_from: attributes.time_local
          layout: '%Y-%m-%d %H:%M:%S'
exporters:
  # HTTP setup
  otlphttp/hdx:
    endpoint: 'http://localhost:4318'
    compression: gzip
 
  # gRPC setup (alternative)
  otlp/hdx:
    endpoint: 'localhost:4317'
    compression: gzip
processors:
  batch:
    timeout: 5s
    send_batch_size: 1000
service:
  telemetry:
    metrics:
      address: 0.0.0.0:9888 # Modified as 2 collectors running on same host
  pipelines:
    logs:
      receivers: [filelog]
      processors: [batch]
      exporters: [otlphttp/hdx]