Elastic からの SDK の移行
Elastic Stack は、アプリケーションを計装するための言語 SDK を 2 種類提供しています:
-
Elastic Official APM agents – これらは Elastic Stack 専用に構築された APM エージェントです。現時点では、これらの SDK 向けの直接的な移行パスは存在しません。これらを使用しているアプリケーションは、対応する ClickStack SDKs を使用して再計装する必要があります。
-
Elastic Distributions of OpenTelemetry (EDOT SDKs) – これは標準 OpenTelemetry SDKs の Elastic ディストリビューションであり、.NET、Java、Node.js、PHP、Python 向けに提供されています。アプリケーションがすでに EDOT SDK を使用している場合、コードを再計装する必要はありません。その代わりに、ClickStack に含まれる OTLP Collector へテレメトリデータをエクスポートするように SDK を再構成するだけでかまいません。詳細は "Migrating EDOT SDKs" を参照してください。
標準の OpenTelemetry SDKs もサポートされていますが、各言語向けには ClickStack-distributed SDKs の使用を強く推奨します。これらのディストリビューションには、追加の計装、強化されたデフォルト設定、ClickStack パイプラインおよび HyperDX UI とシームレスに連携するよう設計されたカスタム拡張機能が含まれています。ClickStack SDKs を使用することで、プレーンな OpenTelemetry や EDOT SDKs では利用できない例外スタックトレースなどの高度な機能を活用できます。
EDOT SDK の移行
ClickStack の OpenTelemetry ベースの SDK と同様に、Elastic Distributions of the OpenTelemetry SDKs(EDOT SDK)は、公式の OpenTelemetry SDK をベースにしたカスタマイズ版です。たとえば、EDOT Python SDK は、Elastic Observability とシームレスに連携するように設計された、OpenTelemetry Python SDK のベンダー独自ディストリビューションです。
これらの SDK は標準の OpenTelemetry ライブラリに基づいているため、ClickStack への移行は容易で、再インストルメンテーションは不要です。ClickStack OpenTelemetry Collector にテレメトリ データを送信するように設定を調整するだけで済みます。
設定は標準的な OpenTelemetry のメカニズムに従います。Python の場合、通常は OpenTelemetry Zero-Code Instrumentation ドキュメント で説明されているように、環境変数経由で行います。
一般的な EDOT SDK の設定は次のようになります。
ClickStack へ移行するには、エンドポイントをローカルの OTLP Collector を指すように更新し、Authorization ヘッダーを変更します。
インジェスト API key は HyperDX アプリケーション上で生成され、「Team Settings」→「API Keys」で確認できます。
