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

编程语言 SDKs

用户通常通过 OpenTelemetry (OTel) 收集器 将数据发送到 ClickStack,数据可以直接来自语言 SDK 或通过充当代理的中间 OpenTelemetry 收集器,例如收集基础设施指标和日志。

语言 SDK 负责从您的应用程序内部收集遥测数据,尤其是 跟踪日志,并通过 OTLP 端点将这些数据导出到 OpenTelemetry 收集器,该收集器负责将数据摄取到 ClickHouse 中。

在基于浏览器的环境中,SDK 还可能负责收集 会话数据,包括用户界面事件、点击和导航,从而实现用户会话的重放。

工作原理

  1. 您的应用程序使用 ClickStack SDK(例如,Node.js、Python、Go)。这些 SDK 基于 OpenTelemetry SDK,并具有额外的功能和可用性增强。
  2. SDK 通过 OTLP(HTTP 或 gRPC)收集并导出跟踪和日志。
  3. OpenTelemetry 收集器接收遥测数据,并通过配置的导出程序将其写入 ClickHouse。

支持的语言

OpenTelemetry 兼容性

虽然 ClickStack 提供其自己的语言 SDK,附带增强的遥测和功能,但用户也可以无缝使用现有的 OpenTelemetry SDK。


语言描述链接
浏览器用于基于浏览器应用程序的 JavaScript SDK文档
ElixirElixir 应用程序文档
GoGo 应用程序和微服务文档
JavaJava 应用程序文档
NestJSNestJS 应用程序文档
Next.jsNext.js 应用程序文档
Node.js用于服务器端应用程序的 JavaScript 运行时文档
DenoDeno 应用程序文档
PythonPython 应用程序和 Web 服务文档
React NativeReact Native 移动应用程序文档
RubyRuby on Rails 应用程序和 Web 服务文档

使用 API 密钥进行安全保护

为了通过 OTel 收集器将数据发送到 ClickStack,SDK 需要指定一个摄取 API 密钥。可以通过 SDK 中的 init 函数或 OTEL_EXPORTER_OTLP_HEADERS 环境变量进行设置:

该 API 密钥由 HyperDX 应用生成,可以在应用中的 团队设置 → API 密钥 中找到。

对于大多数支持 OpenTelemetry 的 语言 SDK 和遥测库,用户只需在应用程序中设置 OTEL_EXPORTER_OTLP_ENDPOINT 环境变量,或在初始化 SDK 时指定:

Kubernetes 集成

所有 SDK 支持在 Kubernetes 环境中运行时与 Kubernetes 元数据(如 pod 名称、命名空间等)的自动关联。这使您能够:

  • 查看与您的服务相关联的 Pods 和节点的 Kubernetes 指标
  • 将应用程序日志和跟踪与基础设施指标关联
  • 跟踪整个 Kubernetes 集群的资源使用情况和性能

要启用此功能,请配置 OpenTelemetry 收集器以将资源标签转发至 Pods。有关详细设置说明,请参阅 Kubernetes 集成指南