Download PDF
Download page Node.js エージェントのインストール.
Node.js エージェントのインストール
Related pages:
このページでは、Node.js エージェントのインストール方法について説明します。
コントローラの開始ウィザードは、AppDynamics Node.js エージェントを使い始めるための最も簡単な方法を提供します。ウィザードは、入力に基づいてエージェント用に事前構成された require ステートメントを作成します。
はじめる前に
Node.js エージェントをインストールするには、Node.js アプリケーションのソースコードに require ステートメントを追加する必要があります。このため、実行中の AppDynamics コントローラに加えて、アプリケーションのソースコードへの書き込みアクセス権と、Node.js アプリケーションを再起動する機能(これによってエージェントをインストールします)が必要です。
コントローラの開始ウィザードは、require ステートメントを自動的に生成します。このステートメントには、コントローラの接続設定と、AppDynamics で Node.js アプリケーションをモデル化するためのウィザードに指定した値が入力されます。
Windows でのインストールについては、ご使用の Windows のバージョンに対応したサポート対象環境を参照し、Visual Studio 2015 用の Visual C ++ Redistributable をインストールしてください。
Node.jsエージェントのノードIDについて
ノード名設定を使用して、Node.js アプリケーション インスタンスの ID を構成します。デフォルトでは、エージェントは nodeName
に対して構成された値をプレフィックスとして使用し、ダッシュと数字をサフィックスとして追加します。たとえば、次のように設定します。
nodeName=MyNode
この構成で開始する最初のノードは MyNode-0
という名前になります。ノード名の自動で番号付けされたサフィックスは、複数のワーカープロセスを持つマシンで最も有用です。
複数のワーカープロセスを実行していない場合に、ノード名に自動番号付けが行われないようにするには、noNodeNameSuffix
を true
に設定します。次の例では、ノードの名前は MyNode
になります。
nodeName=MyNode
noNodeNameSuffix=true
各マシンでワーカープロセスをインストゥルメント化する場合は、アプリケーション名とノード名の各組み合わせは一意にする必要があります。このため、たとえば 1 番目のサーバーに nodeName=Server1
を、2 番目のサーバーには nodeName=Server2
を構成して、各サーバーには異なるノード名プレフィックスを指定してください。
PM2 プロセスマネージャを使用する Node.js アプリケーションをインストゥルメント化している場合は、ノードサフィックス名を process.env.pm_id
に設定します。
マシンエージェントでの Node.js エージェントの使用
インストゥルメント化された Node.js をホストするマシンに Machine Agentをインストールして、マシンエージェントの controller-info.xml
ファイルにティア名とノード名を指定する場合、Node.js Agentは登録に失敗します。
この問題を回避するには、
- まず、Node.js Agentをインストールして、次のエージェントをインストールします。Machine Agent。
- インストゥルメント化された Node.js ノードをホストするマシンにマシンエージェントをインストールする場合、マシンエージェントの
controller-info.xml
ファイルにアプリケーション、ティア、またはノードの名前を指定しないでください。これを行うとNode.jsエージェントが登録に失敗する可能性があります。
Node.js エージェントのインストール
エージェントをインストールするには、アプリケーションのディレクトリでインストールコマンドを実行してから、アプリケーションにエージェントモジュールを追加するための require
コマンドを追加します。
Node.js 0.8.1 ~ 0.8.18 を使用している場合は、インストールコマンドを実行する前に、「Node.js 0.8.1 から 0.8.18 までのユーザーエージェントを設定」を参照してください。
インストール方法:npm
Node.js エージェントのどのバージョンがご使用のコントローラと互換性があるかを判断するには、「エージェントとコントローラの互換性」を参照してください。
最新のエージェントをインストールするには、以下のコマンドを実行します。
npm install appdynamics@next
インストールしたいNode.jsエージェントの具体的なバージョンがわかっている場合は、それを指定できます。
npm install appdynamics@<x.y.z>
npm 5 を使用している場合は、npm 構成設定で package-lock=false
を設定してロックファイルを無効化する必要があります。
Node.js v6 に付属している npm のバージョンは、エージェントの 4.5.12 以降のバージョンで使用されているインストール後スクリプトを自動実行しません。最新の Node.js バージョンを使用することを推奨します。
Node.js v6 を使用する必要がある場合は、エージェントをインストールする前に npm を更新する必要があります。
npm install -g npm
npm install appdynamics
Requireステートメントの追加
他の require ステートメントの前に、アプリケーションのソースコードの最初の行として次の require ステートメントを貼り付けます。次に、変数を設定用の値に置き換えます。アカウント名とアクセスキーを検索するには、[Settings ] を選択してから、[License] を選択します。
require("appdynamics").profile({
controllerHostName: '<controller host name>',
controllerPort: <controller port number>,
controllerSslEnabled: false, // Set to true if controllerPort is SSL
accountName: '<AppDynamics_account_name>',
accountAccessKey: '<AppDynamics_account_key>', //required
applicationName: 'your_app_name',
tierName: 'choose_a_tier_name',
nodeName: 'choose_a_node_name'
});
設定に関する参照情報、および使用可能なその他の設定については、「Node.js Settings Reference」を参照してください。
コードの最初の行として表示される別のモジュールの require ステートメントの最初の行として、require
ステートメントを配置できます。
この場合、ポイントオブエントリ ソース ファイルの変更が必要な場合があります。エージェントへのコールを発信するファイルに対して require()
を実行するために 1 行変更するだけです。例:require(“<script-that-initializes-the-agent>”
。また、複数のバージョンのエージェント初期化スクリプトを使用せずに、profile()
コールをパラメータ化して、異なるインスタンスに名前を付けることもできます。
require ステートメントをコードの最初の行として配置できない場合は、ステートメントを他の場所に挿入できますが、インストゥルメント化する必要のあるコアまたはサードパーティ製モジュールの require()
の前に置く必要があります。一般に、require(“appdynamics”)
ステートメントはコード内でできるだけ早期に実行する必要があります。
構成のテスト
インストールを確認するには、アプリケーションを再起動して負荷をかけます。構成で指定したビジネスアプリケーションのフローマップに新しいノードが表示されます。
Node.js アプリケーションの停止
デフォルトでは、Node.js アプリケーションを閉じるとアプリケーションが停止します。
他のプロファイリングツールを使用して実行
エージェントは他のプロファイリングツールと互換性がありません(例:--inspect
フラグを付けてノードプロセスを実行する)。
Node.js クラスタのインストゥルメント化
アプリケーションでクラスタモジュールが使用されている場合、プライマリおよびワーカープロセスの両方に appdynamics.profile require
ステートメントを配置します。
Node.js 0.8.1から0.8.18までのユーザーエージェントを設定します
0.8.1 ~ 0.8.18 のバージョンの Node.js を実行している場合、npm install
コマンドを実行する前に、user-agent npm
プロパティを設定する必要があります。
構文は次のとおりです。
npm config set user-agent "node/<version> {linux|darwin} {x64|i86}"
例:
npm config set user-agent “node/v0.8.14 linux x64"
Node.js に関するインストレーション問題の解決
エージェントでサポートされていないバージョンの Node.js にNode.js Agentをインストールしようとすると、インストールが失敗し次のようなメッセージが表示されます。
npm ERR! notsup Unsupported
npm ERR! notsup Not compatible with your version of node/npm: appdynamics@3.9.3
npm ERR! notsup Required: {"node":">=0.8.0 <=0.10.31"}
npm ERR! notsup Actual: {"npm":"1.4.28","node":"0.10.32"}
...
詳細については、「Node.js対応環境」を参照してください。