動作の仕組み
- アプリケーションは ClickStack SDK (例: Node.js、Python、Go) を使用します。これらの SDK は OpenTelemetry SDKs をベースにしており、追加機能と使いやすさの改善が加えられています。
- SDK は OTLP (HTTP または gRPC) 経由でトレースとログを収集し、エクスポートします。
- OpenTelemetry collector はテレメトリーを受信し、設定されたエクスポーターを通じて ClickHouse に書き込みます。
対応言語
OpenTelemetry 互換性ClickStack は、より充実したテレメトリーと機能を備えた独自の言語 SDK を提供していますが、既存の OpenTelemetry SDK もそのままシームレスに利用できます。
| 言語 | 説明 | リンク |
|---|---|---|
| AWS Lambda | AWS Lambda 関数をインストルメントする | ドキュメント |
| Browser | ブラウザベースのアプリケーション向け JavaScript SDK | ドキュメント |
| Elixir | Elixir アプリケーション | ドキュメント |
| Go | Go アプリケーションとマイクロサービス | ドキュメント |
| Java | Java アプリケーション | ドキュメント |
| NestJS | NestJS アプリケーション | ドキュメント |
| Next.js | Next.js アプリケーション | ドキュメント |
| Node.js | サーバーサイドアプリケーション向け JavaScript ランタイム | ドキュメント |
| Deno | Deno アプリケーション | ドキュメント |
| Python | Python アプリケーションと Web サービス | ドキュメント |
| React Native | React Native モバイルアプリケーション | ドキュメント |
| Ruby | Ruby on Rails アプリケーションと Web サービス | ドキュメント |
API key による保護
init 関数または OTEL_EXPORTER_OTLP_HEADERS 環境変数で設定できます。
Team Settings → API Keys から確認できます。
OpenTelemetry をサポートするほとんどの 言語 SDKs やテレメトリーライブラリでは、アプリケーションで OTEL_EXPORTER_OTLP_ENDPOINT 環境変数を設定するか、SDK の初期化時に指定するだけで済みます。
Kubernetes インテグレーション
- サービスに関連付けられたポッドやノードの Kubernetes メトリクスを表示する
- アプリケーションのログやトレースをインフラストラクチャのメトリクスと相関付ける
- Kubernetes クラスター全体にわたってリソース使用量とパフォーマンスを追跡する