- 重要な情報
- はじめに
- 用語集
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
最新の Node.js トレーサーは、バージョン >=14
に対応しています。Datadog の Node.js バージョンとフレームワークのサポート一覧 (レガシーバージョンとメンテナンスバージョンを含む) については、互換性要件ページをご覧ください。
Datadog のクイックスタート手順に従って、最高のエクスペリエンスを実現します。例:
service
、env
、version
タグを動的に設定します。インスツルメントされたアプリケーションからトレースを受信するように Datadog Agent をインストールして構成します。デフォルトでは、Datadog Agent は apm_config
下にある datadog.yaml
ファイルの enabled: true
で有効になっており、http://localhost:8126
でトレースデータをリッスンします。コンテナ化環境の場合、以下のリンクに従って、Datadog Agent 内でトレース収集を有効にします。
メイン datadog.yaml
コンフィギュレーションファイルの apm_config
セクションで apm_non_local_traffic: true
を設定します。
コンテナ化された環境でトレースを受信するように Agent を構成する方法については、それぞれの説明を参照してください。
トレースクライアントは、デフォルトでは localhost:8126
にトレースを送信します。これが Agent の正しいホストとポートでない場合、以下を実行して DD_TRACE_AGENT_HOSTNAME
と DD_TRACE_AGENT_PORT
環境変数を設定してください。
DD_TRACE_AGENT_HOSTNAME=<HOSTNAME> DD_TRACE_AGENT_PORT=<PORT> node server
Unix ドメインソケットを使用するには、URL 全体を一つの環境変数 DD_TRACE_AGENT_URL
として指定します。
別のソケット、ホスト、ポートが必要な場合は、DD_TRACE_AGENT_URL
環境変数または DD_TRACE_AGENT_HOST
と DD_TRACE_AGENT_PORT
環境変数を使用します。いくつかの例を挙げます。
DD_AGENT_HOST=<HOSTNAME> DD_TRACE_AGENT_PORT=<PORT> node server
DD_TRACE_AGENT_URL=http://<HOSTNAME>:<PORT> node server
DD_TRACE_AGENT_URL=unix:<SOCKET_PATH> node server
DD_SITE
を
に設定して、Agent が正しい Datadog の場所にデータを送信するようにします。AWS Lambda で Datadog APM を設定するには、サーバーレス関数のトレースドキュメントを参照してください。
トレースは、Heroku、Cloud Foundry、AWS Elastic Beanstalk など、他の環境で利用できます。
その他の環境については、その環境のインテグレーションのドキュメントを参照し、セットアップの問題が発生した場合はサポートにお問い合わせください。
初期化のオプションについては、トレーサー設定をお読みください。
Agent のインストールが完了したら、以下の手順で Datadog のトレーシングライブラリを Node.js アプリケーションに追加します。
Node.js 14 以降に対応する npm を使用して Datadog Tracing ライブラリをインストールします。
npm install dd-trace --save
発売終了済みの Node.js バージョン 12 をトレースしたい場合は、以下を実行して dd-trace
のバージョン 2.x をインストールしてください。
npm install dd-trace@latest-node12
ディストリビューションタグおよび Node.js のランタイムばージョンサポートについて詳しくは、互換性要件 ページを参照してください。 ライブラリの以前のメジャーバージョン (0.x、1.x、2.x) から別のメジャーバージョン (2.x、3.x) にアップグレードする場合は、移行ガイドを読み、変更点を評価するようにしてください。
コードまたはコマンドライン引数を使用して、トレーサーをインポートして初期化します。Node.js トレースライブラリは、他のモジュールの前にインポートして初期化する必要があります。
セットアップが完了した後、Web リクエストの URL ルートの欠落、スパンの切断または欠落など、完全なトレースを受信していない場合は、ステップ 2 が正しく行われたことを確認してください。最初に初期化されるトレースライブラリは、トレーサーが自動インスツルメンテーションに必要なすべてのライブラリに適切にパッチを適用するために必要です。
TypeScript、Webpack、Babel などのトランスパイラーを使用する場合は、トレーサーライブラリを外部ファイルにインポートして初期化し、アプリケーションをビルドするときにそのファイル全体をインポートします。
// この行は、インスツルメントされたいずれのモジュールのインポートより前である必要があります。
const tracer = require('dd-trace').init();
EcmaScript モジュール構文をサポートする TypeScript およびバンドラーの場合、正しいロード順序を維持するために、別のファイルでトレーサーを初期化します。
// server.ts
import './tracer'; // インスツルメントされたいずれのモジュールのインポートより前である必要があります。
// tracer.ts
import tracer from 'dd-trace';
tracer.init(); // ホイストを避けるため異なるファイルで初期化。
export default tracer;
デフォルトのコンフィギュレーションで十分な場合、またはすべてのコンフィギュレーションが環境変数を介して行われる場合は、dd-trace/init
を使用することもできます。これは 1 つのステップでロードおよび初期化されます。
import 'dd-trace/init';
Node.js の --require
オプションを使用して、トレーサーを 1 回のステップでロードして初期化します。
node --require dd-trace/init app.js
注: このアプローチでは、トレーサーのすべてのコンフィギュレーションに環境変数を使用する必要があります。
必要に応じて、統合サービスタグ付けの設定など、アプリケーションパフォーマンスのテレメトリーデータを送信するためのトレースライブラリーを構成します。詳しくは、ライブラリの構成を参照してください。
お役に立つドキュメント、リンクや記事: