SignalFx Tracing Library for Node.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 への移行に関する考慮事項については、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 Smart Agent から Splunk Distribution of OpenTelemetry Collector への移行 を参照してください。
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 をインストールするには、Node.jsアプリケーションをSplunk Observability Cloudにインストルメンテーションする を参照してください。
インストルメンテーション・エントリーポイントの更新 🔗
コードでは、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の更新 を参照してください。 |
|
|
|
デバッグログ設定の移行 を参照してください。 |
|
|
|
該当しません。ログ注入は常に有効です。Splunk Observability Cloud で Node.js のトレースデータをログに接続する を参照してください。 |
|
該当なし。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クライアント・ライブラリからカスタムインストルメンテーションを移行するには、Node.js用SignalFxメトリクスからの移行 を参照してください。`
インストルメンテーションの移行 🔗
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 でサポートされているライブラリの自動インストルメンテーション・パッケージを検索します。