ハイブリッドアーキテクチャでは、サーバーレス関数がアプリケーションにおいて重要な役割を果たします。分散型システムでのパフォーマンスボトルネックとサービス障害を検知するためには、分散型トレースでこれらの関数を利用することが不可欠です。
言語設定とコンフィギュレーションに応じて、トレースにDatadog APM か AWS X-Ray のどちらを設定するかを選択してください。それぞれの行のヘッダーにあるリンクをクリックして、お使いの環境に応じた設定手順をご確認ください。
Datadog APM | AWS X-Ray |
---|---|
Datadog APM のインテグレーションライブラリを使用してエンドツーエンドのトレーシングを行います。 | AWS X-Ray からトレースを取得します。 |
開発ツールを使用して、サーバーレスフレームワークと AWS SAM インテグレーションのコードを変更せずに設定を行います。 | AWS X-Ray クライアントライブラリを Lambda ランタイムにインストールします。 |
Python、Node.js、Ruby をサポートしています。 | すべての Lambda ランタイムをサポートしています。 |
AWS X-Ray トレーシングと Datadog APM の_双方_を構成することも可能ですが、使用料が高額になる可能性があります。この場合のセットアップ手順は以下のとおりです。
AWS X-Ray はバックエンド AWS サービスとクライアントライブラリの両方を提供します。バックエンド AWS サービスのみを有効にすると、お使いの AWS Lambda 関数および Amazon API Gateway、メッセージキュー全体のトレースに呼び出し用のスパンを生成します。
AWS X-Ray と Datadog APM の両クライアントライブラリは、コード内のインテグレーションをトレースします。AWS X-Ray クライアントライブラリの代わりに Datadog APM クライアントライブラリを使用してトレース作業とそのトレースの可視化を行っている場合は、以下の 2 つのステップを実施してください。
module.exports.hello = datadog(
(event, context, callback) => {
longCalculation();
callback(null, {
statusCode: 200,
body: 'Hello from serverless!'
});
},
{ mergeDatadogXrayTraces: true }
);
Lambda 関数で DD_MERGE_XRAY_TRACES
環境変数を True
に設定します。
Lambda 関数で DD_MERGE_DATADOG_XRAY_TRACES
環境変数を True
に設定します。
該当する場合、Datadog は AWS X-Ray トレースをネイティブ Datadog APM トレースとマージします。これにより、AWS Lambda、コンテナ、オンプレミスホスト、マネージドサービスなど、インフラストラクチャーの境界を越えるリクエストの全体像がトレースに表示されることになります。
注: 分散型トレーシングはホストまたはコンテナベースアプリケーションにおけるすべてのランタイムでサポートされています。
注: X-Ray と Datadog APM トレースを同じフレームグラフに表示するには、すべてのサービスに同じ env
タグが必要です。
お役に立つドキュメント、リンクや記事:
このページ