跳到主要内容
跳到主要内容

使用 OpenTelemetry 进行数据摄取

所有数据通过 OpenTelemetry (OTel) 收集器 实例被输入到 ClickStack 中,该实例作为日志、指标、追踪和会话数据的主要入口点。我们建议为此实例使用官方 ClickStack 发行版 的收集器。

用户通过 语言 SDKs 或通过收集基础设施指标和日志的数据收集代理(例如以 代理 角色运行的 OTel 收集器或其他技术,如 FluentdVector)向该收集器发送数据。

安装 ClickStack OpenTelemetry 收集器

ClickStack OpenTelemetry 收集器包含在大多数 ClickStack 发行版中,包括:

独立部署

ClickStack OTel 收集器也可以独立部署,与堆栈的其他组件无关。

如果您使用的是 仅限 HyperDX 发行版,则需要自己将数据发送到 ClickHouse。这可以通过以下方式实现:

我们建议使用 ClickStack OpenTelemetry 收集器

这使用户能够受益于标准化的数据输入、强制的架构以及与 HyperDX UI 的开箱即用兼容性。使用默认架构可以实现自动源检测和预配置列映射。

有关更多详细信息,请参见 "部署收集器"

发送 OpenTelemetry 数据

要将数据发送到 ClickStack,请将您的 OpenTelemetry 工具指向 OpenTelemetry 收集器提供的以下端点:

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

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

此外,还需要包含一个包含 API 输入密钥的授权头。您可以在 HyperDX 应用程序的 团队设置 → API 密钥 中找到该密钥。

对于语言 SDKs,可以通过 init 函数或通过 OTEL_EXPORTER_OTLP_HEADERS 环境变量来设置,例如:

代理同样应在任何 OTLP 通信中包含此授权头。例如,如果在代理角色中部署 OTel 收集器的 contrib 发行版,它们可以使用 OTLP 导出器。下面是一个示例代理配置,消费此 结构化日志文件,请注意需要指定授权密钥 - 请参见 <YOUR_API_INGESTION_KEY>