この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

Node.jsアプリケーションのインストルメンテーション

自動インストルメンテーション

Node.jsの自動インストルメンテーションは、アプリケーションに自動インストルメンテーション用のJavaScriptライブラリを含めることで行われます。幅広いhttps://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-node#_supported_instrumentations[ライブラリやフレームワークがサポートされています]。

自動インストルメンテーションは、アプリケーションの変更を必要としません。設定するには、次の手順に従ってください:

  1. アプリケーションにOpen TelemetryインストルメンテーションSDKを追加します:

    npm install --save @opentelemetry/api
    npm install --save @opentelemetry/auto-instrumentations-node
  2. SDKを読み込むためにアプリケーションを起動するコマンドを更新します。これは、Dockerイメージのエントリポイントまたはコマンド、またはアプリケーションのKubernetesマニフェスト内の`command`を更新することで行います。`--require @opentelemetry/auto-instrumentations-node/register`を追加します:

    node --require @opentelemetry/auto-instrumentations-node/register app.js
  3. サービス名とエクスポーターエンドポイントを設定するための追加の環境変数を指定してアプリケーションをデプロイします。サポートされているプロトコルはgRPCとHTTP上のprotobufです。

  4. SUSE Observabilityがトレースやメトリクスを受信していることを確認するには、サービス名のメトリクス / トレースエクスプローラーでメトリクス / トレースを検索してください。

詳細については、https://opentelemetry.io/docs/languages/js/automatic/[Open Telemetry ドキュメント]を参照してください。

環境変数を介して設定された自動インストルメンテーションは、このhttps://github.com/open-telemetry/opentelemetry-js/issues/4551[Open Telemetryの問題]が解決されるまでトレースのみをサポートします。自動インストルメンテーションからメトリクスを有効にするには、コードの変更が必要です。これらの変更を行うには、https://opentelemetry.io/docs/languages/js/exporters/#_usage_with_nodejs[Open Telemetry ドキュメント]の指示に従ってください。

手動インストルメンテーション

手動インストルメンテーションは、自動インストルメンテーションでサポートされていないコードの部分からメトリクス、トレース、またはログが必要な場合に使用できます。例えば、サポートされていないライブラリ、社内コード、またはビジネスレベルのメトリクスなどがあります。

そのデータをキャプチャするには、アプリケーションを変更する必要があります。

  1. Open Telemetry SDKを依存関係として含めます。

  2. アプリケーションにコードを追加して、必要に応じてメトリクス、スパン、またはログをキャプチャします。

これに関する詳細なドキュメントは、https://opentelemetry.io/docs/languages/js/instrumentation/[Open Telemetry Javascript SDK ドキュメントページ]にあります。

OTLPエクスポーターを使用し、コードからエクスポーターエンドポイントを正しく設定することを確認してください。また、https://opentelemetry.io/docs/languages/js/exporters/#_usage_with_nodejs[Open Telemetry ドキュメント]も参照してください。エクスポーターをドキュメント通りに設定したと仮定すると、設定する必要があるエンドポイントは`http://opentelemetry-collector.open-telemetry.svc.cluster.local:4317`で、gRPCを使用します。gRPCに問題がある場合は、gRPCとHTTPも参照してください。