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

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. サービス名とエクスポータエンドポイントを設定するための追加の環境変数を使用してアプリケーションをデプロイします

  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 vs HTTPも参照してください。