メインコンテンツへスキップ
メインコンテンツへスキップ

言語 SDKs

データは通常、OpenTelemetry (OTel) Collector を介して ClickStack に送信されます。これは、言語 SDK から直接送信される場合もあれば、インフラストラクチャのメトリクスやログを収集するエージェントとして動作する中間の OpenTelemetry Collector を経由する場合もあります。

言語 SDK は、アプリケーション内部からのテレメトリ、特に traceslogs を収集し、OTLP エンドポイント経由で OpenTelemetry Collector にエクスポートする役割を担います。Collector はその後、ClickHouse へのインジェストを処理します。

ブラウザベースの環境では、SDK が session data(UI イベント、クリック、ナビゲーションを含む)の収集も担当し、ユーザーセッションのリプレイを可能にします。

動作の仕組み

  1. アプリケーションは ClickStack SDK(例: Node.js、Python、Go)を使用します。これらの SDK は OpenTelemetry SDKs を基盤としており、追加機能と使いやすさの向上が行われています。
  2. SDK はトレースとログを収集し、OTLP(HTTP または gRPC)経由でエクスポートします。
  3. OpenTelemetry collector がテレメトリを受信し、設定されたエクスポーターを通じて ClickHouse に書き込みます。

サポートされている言語

OpenTelemetry 互換性

ClickStack は強化されたテレメトリ機能を備えた独自の言語 SDK を提供しますが、既存の OpenTelemetry SDKS もそのままシームレスに利用できます。


LanguageDescriptionLink
AWS LambdaAWS Lambda 関数をインストルメントするDocumentation
Browserブラウザベースのアプリケーション向け JavaScript SDKDocumentation
ElixirElixir アプリケーションDocumentation
GoGo アプリケーションおよびマイクロサービスDocumentation
JavaJava アプリケーションDocumentation
NestJSNestJS アプリケーションDocumentation
Next.jsNext.js アプリケーションDocumentation
Node.jsサーバーサイドアプリケーション向けの JavaScript ランタイムDocumentation
DenoDeno アプリケーションDocumentation
PythonPython アプリケーションおよび Web サービスDocumentation
React NativeReact Native モバイルアプリケーションDocumentation
RubyRuby on Rails アプリケーションおよび Web サービスDocumentation

API key による保護

OTel collector 経由で ClickStack にデータを送信するには、SDK でインジェスト API key を指定する必要があります。これは SDK の init 関数で設定するか、OTEL_EXPORTER_OTLP_HEADERS 環境変数で指定します。

OTEL_EXPORTER_OTLP_HEADERS='authorization=<あなたのインジェストAPIキー>'

この API キーは HyperDX アプリケーションで生成され、アプリの Team Settings → API Keys から取得できます。

ほとんどの language SDKs や OpenTelemetry をサポートするテレメトリライブラリでは、アプリケーションで OTEL_EXPORTER_OTLP_ENDPOINT 環境変数を設定するか、SDK の初期化時に指定するだけで利用できます。

export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318

Kubernetes integration

すべての SDK は、Kubernetes 環境で実行されている場合、Kubernetes メタデータ(ポッド名、ネームスペースなど)との自動的な相関付けをサポートします。これにより、次のことが可能になります。

  • サービスに関連付けられたポッドおよびノードの Kubernetes メトリクスを表示する
  • アプリケーションのログおよびトレースをインフラストラクチャのメトリクスと相関付ける
  • Kubernetes クラスター全体のリソース使用状況とパフォーマンスを追跡する

この機能を有効にするには、OpenTelemetry collector を構成し、リソースタグをポッドに転送するようにします。詳細なセットアップ手順については、Kubernetes integration guide を参照してください。