Docs » Splunk Observability Cloud でサポートされているインテグレーション » バックエンドアプリケーションをインストルメンテーションして、スパンを Splunk APM に送信する » Splunk Observability Cloud に Node.js アプリケーションをインストルメンテーションする » SignalFx Tracing Library for Node.jsからの移行

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 に移行するには、以下の手順に従ってください:

  1. トレース・ライブラリパッケージを削除します。SignalFx Tracing Library for Node.js の削除 を参照してください。

  2. Splunk Distribution of OpenTelemetry JS をデプロイします。Splunk Distribution of OpenTelemetry JS をデプロイする を参照してください。

  3. Node.jsインストルメンテーションをインストールし、有効化します。 の指示に従って、ライブラリまたはフレームワークのインストルメンテーション・パッケージをインストールします。サポートされているインストルメンテーション・パッケージのリストについては、GitHub の Default Instrumentation Packages を参照してください。

  4. インストルメンテーション・エントリーポイントを更新します。インストルメンテーション・エントリーポイントの更新 を参照してください

  5. 既存の構成を移行します。設定の移行 を参照してください。

注釈

スパン名と属性の意味上の規約は、マイグレーションの際に変更されます。詳しくは、SignalFx Smart Agent から Splunk Distribution of OpenTelemetry Collector への移行 を参照してください。

SignalFx Tracing Library for Node.js の削除 🔗

以下の手順に従って、トレース・ライブラリとその依存関係を削除してください:

  1. signalfx-tracing をアンインストールします:

    npm uninstall --save signalfx-tracing
    
  2. npmが signalfx-tracing 、すべての依存関係を削除していない場合は、手動で削除してください。

  3. 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つのオプションがあります:

  1. 次のコードに示すように、@splunk/otelstart() を使用するようにエントリーポイントを更新します:

const { start } = require('@splunk/otel');

start({
 // your new options here
});
  1. 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環境変数

SIGNALFX_ACCESS_TOKEN

SPLUNK_ACCESS_TOKEN

SIGNALFX_SERVICE_NAME

OTEL_SERVICE_NAME

SIGNALFX_ENDPOINT_URL

エンドポイントURLの更新 を参照してください。

SIGNALFX_RECORDED_VALUE_MAX_LENGTH

OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT

SIGNALFX_TRACING_DEBUG

デバッグログ設定の移行 を参照してください。

SIGNALFX_SPAN_TAGS

OTEL_RESOURCE_ATTRIBUTES をカンマ区切りのキーと値のペアで指定します。Splunk Observability Cloud 用の Splunk Distribution of OTel JS を設定する を参照してください。

SIGNALFX_LOGS_INJECTION

該当しません。ログ注入は常に有効です。Splunk Observability Cloud で Node.js のトレースデータをログに接続する を参照してください。

SIGNALFX_LOGS_INJECTION_TAGS

該当なし。Splunk Observability Cloud で Node.js のトレースデータをログに接続する を参照してください。

SIGNALFX_ENABLED_PLUGINS

該当なし。インストルメンテーション・パッケージをインストールするには、カスタムインストルメンテーションの追加 を参照してください。

SIGNALFX_SERVER_TIMING_CONTEXT

SPLUNK_TRACE_RESPONSE_HEADER_ENABLED

SIGNALFX_TRACING_ENABLED

OTEL_TRACE_ENABLED

start() の引数として渡す設定オプションを使用している場合は、それらも更新してください:

SignalFx プロパティ

OpenTelemetry プロパティ

service

serviceName

url

endpoint

accessToken

accessToken

enabled

同等のものはありません。OTEL_TRACE_ENABLED 環境変数を使用してください。

debug

同等のものはありません。デバッグログ設定の移行 を参照してください。

tags

tracerConfig.resource

logInjection

logInjectionEnabled

logInjectionTags

同等のものはありません。代わりに tracerConfig.resource を使用します。

flushInterval

同等のものはありません。代わりに OTEL_BSP_SCHEDULE_DELAY 環境変数を設定してください。

plugins

該当なし。インストルメンテーション・パッケージをインストールするには、カスタムインストルメンテーションの追加 を参照してください。

recordedValueMaxLength

該当しません。代わりに OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT 環境変数を設定してください。

enableServerTiming

serverTimingEnabled

デバッグログ設定の移行 🔗

インストルメンテーションによって生成されるデバッグログを設定するには、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

  • 一部のインストルメンテーションには特別な要件があります:
    • expresskoa、および hapi のインストルメンテーションは、スパンを生成するためにアクティブ http または https のインストルメンテーションを必要とします。

    • bluebirdqwhen は、AsyncLocalStorageContextManager (Node.jsのバージョンが14.8より低い場合は AsyncHooksContextManager )までサポートされています。

OpenTelemetry Registry を使用して、Splunk Distribution of OpenTelemetry JS でサポートされているライブラリの自動インストルメンテーション・パッケージを検索します。

This page was last updated on 2023年11月10日.