Node.js プローブ エージェントのインストールおよび実行
管理者は、以下のいずれかの方法を使用して、Node.js プローブ エージェントをインストールおよび実行できます。
apmdevops106
管理者は、以下の
いずれか
の方法を使用して、Node.js プローブ エージェントをインストールおよび実行できます。Node.js プローブ エージェントをグローバルにインストール(コード変更なし)
Node.js プローブ エージェントを、デフォルト値を使用してコード変更せずにグローバルにインストールできます。 この方法では、Node.js プローブ エージェントがすべての Node.js プロセスで使用可能になります。 複数のプロセスの場合、各プロセスの名前を、環境変数としてまたは config.json ファイルに個別に指定できます。
NPM を使用して、Node.js プローブ エージェントをグローバルにインストールし、アプリケーションを実行します。
以下の手順に従います。
- ユーザに以下の権限があることを確認します。UNIX: root - root ユーザは、ca-apm-probe/log ディレクトリへの書き込み権限を root 以外のユーザに付与します。Windows: 管理者
- 以下のコマンドを実行して、プローブ エージェントをインストールします。$ npm install --global ca-apm-probe
- (オプション)実行コンテキストに基づいて、インフラストラクチャ エージェントのホスト、ポート、プローブ名をデフォルト以外の値に設定します。 オペレーティング システム コマンドを使用して、以下の環境変数を設定します。ここで、Probe Name は Node.js エージェントの名前です。 例:export INFRASTRUCTURE_AGENT_HOST=<Infrastructure-agent-host> export INFRASTRUCTURE_AGENT_PORT=<Infrastructure-agent-port> export CA_APM_PROBENAME=<probe-name>たとえば、CA_APM_PROBENAME環境変数を設定します。export CA_APM_PROBENAME=mynodeapp: Node.js インフラストラクチャ エージェントのデフォルト値は以下のとおりです。
- Node.js アプリケーションを実行します。$ ca-apm-run <startup_script>アプリケーションは動的にインスツルメントされます。require ステートメントを使用してソース コードを変更することもできます。
Node.js プローブ エージェントをアプリケーションごとにインストールして実行(コード変更なし)
Node.js プローブ エージェントを各アプリケーションに対してローカルにインストールできます。 この方法では、各アプリケーションを選択的にインスツルメントし、監視できます。
以下の手順に従います。
- コマンド プロンプトを開き、以下のコマンドを使用します。$ cd <your_application_root> $ npm install --save ca-apm-probeパッケージは、アプリケーションのルート ディレクトリにインストールされます。
- (オプション)実行コンテキストに基づいて、Node.js インフラストラクチャ エージェントのホスト、ポート、プローブ名をデフォルト以外の値に設定します。 オペレーティング システム コマンドを使用して、以下の環境変数を設定します。ここで、Probe Name は Node.js エージェントの名前です。 例:export INFRASTRUCTURE_AGENT_HOST=<Infrastructure-agent-host> export INFRASTRUCTURE_AGENT_PORT=<Infrastructure-agent-port> export CA_APM_PROBENAME=<probe-name>たとえば、CA_APM_PROBENAME環境変数を設定します。export CA_APM_PROBENAME=mynodeappNode.js エージェントは、Node.js アプリケーションを開始するたびに動的に実行されます。: Node.js インフラストラクチャ エージェントのデフォルト値は以下のとおりです。
- Node.js アプリケーションを開始します。$ cd <your_application_root>$ ./node_modules/ca-apm-probe/bin/ca-apm-run.js <startup_script>
Node.js プローブ エージェントをアプリケーションの依存関係としてインストールして手動で設定(コード変更あり)
Node.js プローブ エージェントをインストールして手動で設定できます。 プローブ エージェントをアプリケーションの依存項目としてローカルにインストールおよび実行できます。 必要に応じて、監視用に Node.js アプリケーションを手動で設定することができます。
npm
コマンドを使用して Node.js プローブ エージェントをインストールし、アプリケーションの依存項目として追加します。 これにより、システムに対する変更を回避し、アプリケーションに対するローカルのすべての依存関係を保持します。以下の手順に従います。
- コマンド プロンプトを開き、以下のコマンドを使用して、Node.js プローブ エージェントをインストールします。$ cd <your_application_root> $ npm install --save ca-apm-probeパッケージは、アプリケーションのルート ディレクトリにインストールされます。
- (オプション)プローブ名をデフォルト以外の値に設定します。 オペレーティング システム コマンドを使用して、以下の環境変数を設定します。 例:export CA_APM_PROBENAME=<probe-name>たとえば、CA_APM_PROBENAME環境変数を設定します。export CA_APM_PROBENAME=mynodeapp
- 以下の最初の行をアプリケーションのメイン エントリ ポイント スクリプトに追加します(たとえば、server またはserver.jsなど)。 必要に応じて、対応する引数を指定できます。 たとえば、Node.js インフラストラクチャ エージェントが別のホストまたはポート上で実行されている場合は、対応する引数を指定できます。 ファイルを保存して閉じます。var probe = require('ca-apm-probe').start(<Infrastructure-agent-host>, <Infrastructure-agent-port>, <probe-name>);各項目の説明:<Infrastructure-agent-host> は、インフラストラクチャ エージェントのホスト アドレスです。 通常、このアドレスは localhost です。<Infrastructure-agent-port> は、インフラストラクチャ エージェントのポートです。<probe-name> は、メトリックがレポートされるプローブの名前です。ca-apm-probe require ステートメントを、コード内の最初の require ステートメントとして配置します。 例:var probe = require('ca-apm-probe')({……var express = require('express');var mongoose = require('mongoose');
- 以下のコマンドを使用して、アプリケーションを実行します。$ node <startup_script>
Node.js プローブ エージェントをオフラインの実稼働システムにインストール(コード変更なし)
通常は、インターネット上の NPM 中央リポジトリから
npm
コマンドを使用して、Node.js プローブ エージェントをインストールします。 ただし、一部の実稼働ホストでは、インターネットへのアクセスが利用できず、npm が必要な依存関係モジュールをロードできません。 そのような場合は、npmbox
ユーティリティを使用することをお勧めします。以下の手順に従います。
- システムに以下の項目が含まれていることを確認します。
- NPM がインストールされ、インターネットにアクセス可能なステージング システム(複数可)
- NPM がインストールされたオフラインの実稼働ホスト(複数可)
- ステージングおよびオフラインの両方のホストに npmbox モジュールをインストールします。
- ステージング ホストで、次のコマンドを使用します:$ npm install –g npmbox
- オフライン システムで、次のリンクの指示に従います:https://github.com/arei/npmbox/blob/master/README.md#user-content-using-npmunbox-without-npmbox-being-installed
- ca-apm-probe.npmbox ファイルを作成します。
- ステージング ホストで、次のコマンドを使用します:$ npmbox ca-apm-probeログには、クエリとダウンロードの進捗状況が表示されます。 以下のログが表示された場合、ca-apm-probe.npmbox ファイルが現在のディレクトリで使用可能です。Packing <working_dir>/ca-apm-probe.npmbox...Done.
- NFS、ポータブル メディア、電子メール、または他の手段を使用して、ca-apm-probe.npmbox ファイルをオフライン ホストに移します。
- npmunboxコマンドを使用して ca-apm-probe をインストールします。 このコマンドは、npm install コマンドを実行したディレクトリで実行します(ローカルにインストールされている場合)。-gオプションを使用して ca-apm-probe をグローバルにインストールすることもできます。$ npmunbox -g ca-apm-probe.npmboxA log shows the installation progress, for example:Unboxing ca-apm-probe.npmbox...Unpacking ca-apm-probe...Installing ca-apm-probe...…
Node.js プローブ エージェント名の検出
Node.js プローブ エージェント名は、メトリック ブラウザ ツリーでノード パスを決定します。 例:
(SuperDomain|<Host>|nodejs-probes|Agent(<ProbeName>)
Node.js プローブ エージェント名の下で、エージェントは、指定された Node.js アプリケーションに対するパフォーマンス メトリックをレポートします。 Node.js アプリケーションの開始時に、プローブ名の検出ロジックが実行されます。 メトリックは、個別のプローブ エージェント名を指定しない限り、すべての Node.js プロセスにわたって集約されます。 各プロセスがレポートするメトリックを分割する場合は、個別のプローブ エージェント名を設定します。 以下のいずれかの方法を使用します。
- インストール時に、環境変数を渡すか、require ステートメントを挿入する
- config.json ファイルを編集する複数の個別の名前がnodejs-probesノードの下のメトリック ブラウザ ツリーに表示されます。たとえば以下のようになります。(SuperDomain|<Host>|nodejs-probes|Agent(<ProbeName_One>)(SuperDomain|<Host>|nodejs-probes|Agent(<ProbeName_Two>)(SuperDomain|<Host>|nodejs-probes|Agent(<ProbeName_Three>)
Node.js プローブ エージェント名の検出は、次の順序で実行されます。 有効な値は NULL でも空でもありません。 名前の検出で現在の実行手順に対して有効な値が見つかると、Node.js プローブ エージェント名が設定されます。 名前の検出は、残りの手順をスキップします。
- インストール時に指定されたCA_APM_PROBENAME環境変数
- config.json ファイルに指定されているprobeNameEnvKey環境キー
- アプリケーションへの require ステートメントの追加によるプローブのロード時のアプリケーション コード
- config.json ファイルに指定されているprobeNameプロパティ
- Node.js アプリケーション(ルート ディレクトリ)の package.json に指定されているnameプロパティ
- ルート レベルの起動スクリプト名(index.js でない限り)
- アプリケーションのルート ディレクトリ名(index.js が存在する場所)
- ハードコードされたNodeApplicationの値