エージェントがアプリケーションのモニターを開始できるようにするには、その前に Node.js アプリケーションにエージェント・データ・コレクターを追加して、アプリケーションを再始動する必要があります。
始める前に
同じバージョン内でエージェント設定を再構成する前に、以下のステップを実行して、以前の構成で作成されたデータ・コレクター・ファイルをクリーンアップします。
- install_dir/lx8266/nj/bin ディレクトリーに移動します。
./uninstall.sh コマンドを実行して、既存のデータ・コレクター・ファイルを削除します。
このタスクについて
Node.js エージェントは単一インスタンス・エージェントです。このエージェントはモニター対象の各 Node.js アプリケーションのサブノードを登録します。サブノードの構造は、以下のとおりです。
NJ:hostname_port:NJAヒント: ある Node.js アプリケーションが複数のポート番号を listen する場合、最も低いポート番号が使用されます。
エージェントがアプリケーションのモニターを開始できるようにするには、その前に Node.js アプリケーションにエージェント・データ・コレクターを追加して、アプリケーションを再始動する必要があります。エージェント・データ・コレクターは、Node.js エージェントに転送されるデータを収集します。現在、以下のエージェント・データ・コレクターが用意されています。
- リソース・データ・コレクター。Node.js アプリケーションからリソース・モニター・データを収集します。
- 診断データ・コレクター。Node.js アプリケーションから診断データおよびリソース・モニター・データを収集します。
- メソッド・トレース・データ・コレクター。Node.js アプリケーションからメソッド・トレース、診断データ、およびリソース・モニター・データを収集します。
手順
-
アプリケーション・サーバーの実行に使用するユーザー ID にエージェントの install_dir ディレクトリーに対するすべての権限が付与されていることを確認してください。
-
install_dir/bin ディレクトリーに移動し、次のコマンドを実行します。
-
プロンプトに従って、以下の構成オプションの値を指定します。
- KNJ_NODEJS_RUNTIME_BIN_LOCATION
- Node.js ランタイムの bin フォルダーのディレクトリー。デフォルトのディレクトリーは、/usr/local/bin です。
- KNJ_NPM_RUNTIME_BIN_LOCATION
- npm コマンドの bin フォルダーのディレクトリー。デフォルトのディレクトリーは、/usr/local/bin です。
- KNJ_NPM_LIB_LOCATION
- npm パッケージのグローバル・インストール・ディレクトリーの lib フォルダーのディレクトリー。デフォルトのディレクトリーは、/usr/local/lib です。例えば、
npm install -g コマンドを実行して npm パッケージをインストールした場合、パッケージは /nodejs_home/lib/node_modules にインストールされます。この場合、KNJ_NPM_LIB_LOCATION は /nodejs_home/lib です。
- CP_PORT
- ソケット・クライアントからのデータに関してエージェントが listen するポート。値
0 は、一時ポートが使用されることを示します。デフォルト値は 63336 です。注: システムで既に使用されているポート番号は使用しないでください。ポートが既に使用中かどうかを確認するには、netstat -apn | grep port_number コマンドを実行します。
-
以下のコマンドを実行してエージェントを開始します。
-
Node.js エージェントが正常に開始されていることを確認します。エージェントが正常に開始した場合、KNJ_NPM_LIB_LOCATION/node_modules/ibmapm フォルダーが生成されています。
-
所有するオファリングと要件に基づいて、エージェント・データ・コレクターを構成するために Node.js アプリケーションの .js ファイルに次のいずれかの項目を挿入します。
注: エージェント・データ・コレクター機能を有効にするために Node.js アプリケーションに追加できる項目は 1 つのみです。また、オファリングに含まれていない機能を有効にした場合、不要なオーバーヘッドが生じ、アプリケーションの実行効率が低下する可能性があります。
- リソース・モニター機能のみを所有している場合は、リソース・データ・コレクターを追加できます。これを追加するには、Node.js アプリケーション・ファイルの先頭に以下の行を挿入します。
require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm');
ご使用の環境の KNJ_NPM_LIB_LOCATION の値が /usr/local/lib の場合、この行は、以
下のとおりです。
require('/usr/local/lib/node_modules/ibmapm');
- リソース・レベルのモニター機能に加えて診断機能を保持している場合は、次のいずれかのエージェント・データ・コレクターを追加できます。
- メソッド・トレース・データ・コレクターを追加するには、Node.js アプリケーション・ファイルの先頭に以下の行を挿入します。
require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm/methodtrace.js');
- 診断データ・コレクターを追加するには、Node.js アプリケーション・ファイルの先頭に以下の行を挿入します。
require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm/deepdive.js');
- リソース・モニター・データ・コレクターを追加するには、Node.js アプリケーション・ファイルの先頭に以下の行を挿入します。
require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm');
最適なパフォーマンスを保証するには、デバッグのためにメソッド・トレース・データ・コレクターのみを追加します。
注: プラグインのコードは、Cloud
APM March, 2017 から変更されています。以前のバージョンからエージェントをアップグレードした場合は、モニター機能が正常に動作するようにするには、アプリケーション内の既存のデータ・コレクターのコードを更新する必要があります。
-
Node.js アプリケーションを再始動して、エージェント・データ・コレクターを有効にします。
タスクの結果
Node.js エージェントが正常に構成されました。