SignalFx Tracing Library for Node.jsからの移行
Splunk Distribution of OpenTelemetry JS は、非推奨の SignalFx Tracing Library for Node.js に代わるものです。Splunk Distribution of OTel JS に移行するには、次の手順に従ってください。
SignalFx Tracing Library for Node.js は廃止されており、2023 年 6 月 8 日にサポート終了となります。Splunk Distribution of OpenTelemetry JS に置き換えてください。移行方法については、以下の説明をお読みください。
Splunk Distribution of OpenTelemetry JS は、OpenTelemetry API を使用するオープンソースプロジェクトである OpenTelemetry Instrumentation for Node.js をベースにしています。
互換性と要件
Splunk Distribution of OpenTelemetry JS には Node.js 14 以降が必要です。 「Splunk OTel JS の互換性と要件」を参照してください。
SignalFx Tracing Library for Node.js から Splunk Distribution of OpenTelemetry JS への移行に関する考慮事項については、「Considerations for migrating to Splunk Distribution of OpenTelemetry JS」を参照してください。
Splunk Distribution of OpenTelemetry JS への移行
SignalFx Tracing Library for Node.js から Splunk Distribution of OpenTelemetry JS に移行するには、以下の手順に従ってください:
-
トレースライブラリのパッケージを削除します。「SignalFx Tracing Library for Node.js の削除」を参照してください。
-
Splunk Distribution of OpenTelemetry JS をデプロイします。「Splunk Distribution of OpenTelemetry JS をデプロイする」を参照してください。
-
「 Node.js インストルメンテーションのインストールとアクティブ化」の説明に従って、ライブラリまたはフレームワークのインストルメンテーション パッケージをインストールします。サポートされているインストルメンテーション パッケージのリストについては、GitHub の「Default Instrumentation Packages」を参照してください。
-
インストルメンテーション エントリー ポイントの更新「インストルメンテーション エントリー ポイントの更新」を参照してください。
-
既存の設定を移行します。「設定の移行」を参照してください。
SignalFx Tracing Library for Node.js の削除
以下の手順に従って、トレース・ライブラリとその依存関係を削除してください:
-
signalfx-tracingをアンインストールします:npm uninstall --save signalfx-tracing -
npm が
signalfx-tracingのすべての依存関係を削除していない場合は、手動で削除してください。 -
SignalFx Tracing Library for Node.jsに関連する追加のインストルメンテーション・パッケージを削除します。
Splunk Distribution of OpenTelemetry JS をデプロイする
Splunk Distribution of OpenTelemetry JS をインストールするには、「Splunk Observability Cloud の Node.js アプリケーションをインストルメンテーションする」を参照してください。
インストルメンテーション・エントリーポイントの更新
コードでは、SignalFxトレースのためのインストルメンテーション・エントリーポイントは、以下のようなものです:
const tracer = require('signalfx-tracing').init({
// your options here
})
インストルメンテーション・エントリーポイントを更新するには、2つのオプションがあります:
-
次のコードに示すように、
@splunk/otelとstart()を使用するようにエントリーポイントを更新します:const { start } = require('@splunk/otel'); start({ // your new options here }); -
SignalFx Tracing Library の代わりに Splunk Distribution of OpenTelemetry JS を使用するように、アプリケーションを自動的に更新します。これを行うには、次のコマンドを使用して Node.js を実行します。
node -r @splunk/otel/instrument <your-app.js>注: Splunk Observability Cloud に直接トレースをエクスポートするには、「Splunk Observability Cloud にデータを直接送信する」を参照してください。
設定の移行
SignalFx トレース・ライブラリから Splunk Distribution of OpenTelemetry JS に設定を移行するには、以下の環境変数の名前を変更します:
|
SignalFx 環境変数 |
OpenTelemetry環境変数 |
|---|---|
|
|
|
|
|
|
|
|
「エンドポイント URL の更新」を参照してください。 |
|
|
|
|
|
「デバッグログ設定の移行」を参照してください。 |
|
|
|
|
|
該当なしログインジェクションは常にアクティブになります。「Node.js のトレースデータを Splunk Observability Cloud のログに接続する」を参照してください。 |
|
|
該当しない場合は、「Splunk Observability Cloud で Node.js のトレースデータをログに接続する」を参照してください。 |
|
|
該当なしインストルメンテーション パッケージをインストールするには、「カスタム インストルメンテーションを追加する」を参照してください。 |
|
|
|
|
|
|
start() の引数として渡す設定オプションを使用している場合は、それらも更新してください。
|
SignalFx プロパティ |
OpenTelemetry プロパティ |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
実際の値ではありません。環境変数 |
|
|
実際の値ではありません。「デバッグログ設定の移行」を参照してください。 |
|
|
|
|
|
|
|
|
実際の値ではありません。代わりに、 |
|
|
実際の値ではありません。代わりに、環境変数 |
|
|
該当なしインストルメンテーション パッケージをインストールするには、「カスタム インストルメンテーションを追加する」を参照してください。 |
|
|
該当なし代わりに、環境変数 |
|
|
|
デバッグログ設定の移行
インストルメンテーションによって生成されるデバッグログを設定する場合、SIGNALFX_TRACING_DEBUG に最も近いものは OTEL_LOG_LEVEL です。「診断ロギングの有効化」を参照してください。
エンドポイントURLの更新
デフォルトでは、Splunk Distribution of OpenTelemetry JS は Jaeger の代わりに OTLP エクスポーターを使用します。
SignalFx Tracing Library で使用していたレシーバエンドポイントが OTLP をサポートしている場合は、SIGNALFX_ENDPOINT_URL の代わりに OTEL_EXPORTER_OTLP_ENDPOINT を設定します。OTel Collector は OTLP をサポートしています。
カスタムメトリクス・コレクションの移行
SignalFx クライアントライブラリからカスタム メトリクス インストルメンテーションを移行するには、「Migrate from SignalFx metrics for Node.js」を参照してください。
インストルメンテーションの移行
SignalFx Tracing Library for Node.js でサポートされているライブラリは、すべて Splunk Distribution of OpenTelemetry JS でサポートされています。例外は、「Splunk Distribution of OpenTelemetry JS への移行の考慮点」に一覧表示されています。
同等のインストルメンテーションを見つけるには、OpenTelemetry レジストリで各インストルメンテーションを検索します。インストルメンテーションがバンドルされていない場合、カスタム インストルメンテーション パッケージを使用できます。「カスタム インストルメンテーションの追加」を参照してください。
Splunk Distribution of OpenTelemetry JS への移行の考慮点
SignalFx Tracing Library for Node.jsから移行する場合、以下の制限が適用されます:
-
Splunk Distribution of OpenTelemetry JS がサポートする Node.js バージョンのセットは、SignalFx Tracing Library がサポートするセットとは異なります。 「:ref:
nodejs-otel-requirements」を参照してください。 -
デフォルトのフラッシュ間隔は、捕捉されたテレメトリデータがバックエンドに送信される頻度を定義するもので、2 秒から 500 ミリ秒に変更されており、変えることはできません。
- 自動インストルメンテーションは以下のライブラリではご利用いただけません:
-
AdonisJS -
amqp10 -
mongodb-core -
sails
-
- 一部のインストルメンテーションには特別な要件があります:
-
express、koa、およびhapiのインストルメンテーションは、スパンを生成するためにアクティブhttpまたはhttpsのインストルメンテーションを必要とします。 -
bluebird、q、whenは、AsyncLocalStorageContextManager(Node.jsのバージョンが14.8より低い場合はAsyncHooksContextManager)までサポートされています。
-
OpenTelemetry Registry を使用して、Splunk Distribution of OpenTelemetry JS でサポートされているライブラリの自動インストルメンテーション パッケージを検索します。