このページでは、開発時に Node.js サーバレストレーサと AWS Lambda 関数を使用する方法について説明します。推奨される方法は、AppDynamics AWS Lambda Extension を使用することです。「AppDynamics AWS Lambda Extension を使用して、実行時にサーバレス APM をインストゥルメントする」を参照してください。
はじめる前に
AWS Lambda 向けサーバレス APM に登録し、環境変数を設定すると、インストゥルメンテーションを開始できます。セットアップが次の要件を満たしていることを確認します。
このマニュアルには、Amazon Web Services(AWS)のマニュアルへのリンクが記載されています。Amazon は自身のマニュアルを管理しているため、AppDynamics は Amazon のマニュアルの精度については一切保証しません。
開発時に npm
を使用して、Node.js サーバレストレーサをインストールする
ラムダをインストゥルメント化するには、AWS Lambda Extension をお勧めします。次の手順を使用して、Node.js サーバレストレーサをインストールすることもできます。
- Node.js サーバレストレーサのダウンロード
- Requireステートメントの追加
- Node.js サーバレストレーサを使用した関数のインストゥルメント化
Node.js サーバレストレーサのダウンロード
トレーサをインストールするには、package.json
ファイルが存在するディレクトリに移動します。次の npm
コマンドを実行します。
npm install appdynamics-lambda-tracer --save
JS
コマンドは、トレーサの依存関係を node_modules/
フォルダにダウンロードします。
Requireステートメントの追加
アプリケーションにトレーサを追加するには、AWS Lambda handler
関数が含まれているアプリケーションコードのプライマリファイルに require
ステートメントを追加します。
const tracer = require('appdynamics-lambda-tracer');
JS
他の require
ステートメントの前にトレーサの require
ステートメントを追加することを忘れないでください。
Node.js サーバレストレーサを使用した関数のインストゥルメント化
tracer.init
メソッドを呼び出して、require
ステートメント内の Node.js サーバレストレーサを初期化します。
インストゥルメンテーションを完了するには、コードの最後の行として tracer.mainModule(module)
を呼び出します。
次のコードスニペットは、トレーサを使用してサーバレス関数をインストゥルメント化する方法を示しています。
const tracer = require('appdynamics-lambda-tracer');
//Initialize the tracer
tracer.init();
// Your AWS Lambda handler function code here, for example:
exports.handler = async (event) => {
// TODO implement
const response = {
statusCode: 200,
body: JSON.stringify('Hello from Lambda!'),
};
return response;
};
//Complete the instrumentation
tracer.mainModule(module);
JS
デフォルトでは、Node.js サーバレストレーサは、HTTP または AWS Lambda 間のコールを介して渡された終了コールを自動的に検出します。関数がこれらのプロトコルを使用しない場合は、終了コールを作成する必要があります。「Node.js サーバレストレーサ API」を参照してください。
次のステップ
サーバレス トレーサ インストゥルメンテーションの確認 の準備ができました。
また、Node.js サーバレストレーサとエンドユーザモニタリングの統合や、Node.js サーバレストレーサ API の使用も可能です。
これらのマニュアルで使用されている Amazon Web サービス、AWS ロゴ、AWS、およびその他の AWS マークは、米国およびその他の国における Amazon.com, Inc. またはその関連会社の商標です。