Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

通过 OpenTelemetry 进行数据摄取

所有数据都会通过一个 OpenTelemetry (OTel) collector 实例摄取到 ClickStack,该实例是日志、指标、链路追踪和会话数据的主要入口。我们建议此实例使用官方提供的 collector ClickStack 发行版

用户可以通过语言 SDK将数据发送到此 collector,也可以通过采集基础设施指标和日志的数据采集 agent 发送 (例如以 agent 角色运行的 OTel collector,或其他技术,例如 FluentdVector) 。对于希望使用托管 OpenTelemetry 管道的团队,Bindplane 提供了一种 OpenTelemetry 原生解决方案,并内置原生 ClickStack 目标端,可简化遥测数据的收集、处理和路由。

发送 OpenTelemetry 数据

安装 ClickStack OpenTelemetry collector

要将数据发送到托管 ClickStack,应以网关角色部署一个 OTel collector。与 OTel 兼容的插桩会通过基于 HTTP 或 gRPC 的 OTLP 将事件发送到该 collector。

更多详情,请参阅"部署 collector"

向 collector 发送数据

要将数据发送到托管 ClickStack,请将您的 OpenTelemetry 插桩指向 OpenTelemetry collector 提供的以下端点:

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

对于支持 OpenTelemetry 的语言 SDK和遥测库,您只需在应用程序中设置 OTEL_EXPORTER_OTLP_ENDPOINT 环境变量:

export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318

如果以 agent 角色部署 OTel collector 的 contrib 发行版,则可使用 OTLP exporter 将数据发送到 ClickStack collector。下面展示了一个 agent 配置示例,它会读取这个结构化日志文件

# 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: 10000
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]
Navigation