Node.jsエージェントのインストール
WhaTapモニタリングサービスを使用するには、会員登録後にプロジェクトを作成し、対象サーバーにエージェントをインストールする必要があります。会員登録に関する詳細については、次の文書を参照してください。
次の動画ガイドを参照してください。
Node.jsモニタリングサービスを使用するには、モニタリング対象アプリケーションにモニタリングエージェントをインストールする必要があります。インストールはnpm(Node Package Manager)を使用してください。
-
サービス中のNode.jsアプリケーションのディレクトリパスに、WhaTapエージェントモジュールをインストールしてください。
-
WhaTapエージェントの環境設定(whatap.conf)を作成してください。
-
Node.jsサービスを再起動します。
プロジェクト作成
エージェントをインストールする前にプロジェクトを作成してください。
-
WhaTapモニタリングサービスに移動し、ログインします。
-
プロジェクトを作成するには、画面左サイドメニューからプロジェクト全体 > + Projectボタンを選択してください。
-
商品選択 画面でプロジェクトにインストールする製品を選択してください。
-
プロジェクト名, データサーバーリージョン, プロジェクトタイムゾーン項目を順番に設定してください。
-
通知言語の設定で、警告通知メッセージの言語を選択してください。
-
すべての設定を完了した後は プロジェクトを作成する ボタンを選択してください。
-
データサーバーリージョンは、リージョン(クラウドサービスを提供するためにインストールしたデータセンターのグループ)を意味します。特定のリージョンを選択すると、そのリージョンに所属するデータセンターにユーザーのデータが保存されます。
-
プロジェクトタイムゾーンは通知とレポートを生成する基準時間です。
-
複数のプロジェクトをグループで管理する場合は、プロジェクトグループからグループを選択するか、グループを追加してください。 グループの詳細については、次の文書を参照してください。
-
組織を選択してプロジェクトを追加する場合は、組織下位のグループを必須に設定する必要があります。
アクセスキーの確認
アクセスキーは、WhaTapサービスを有効にするための固有IDです。
インストール手順セクションでプロジェクトアクセスキーの発行ボタンをクリックします。 アクセスキーを自動的に発行した後、次のステップを進みます。
プロジェクトを作成すると、自動的にエージェントインストールページに移動します。 エージェントインストールページが移動しない場合は、画面左側のメニューから管理 > エージェントインストールを選択してください。
エージェントダウンロード
-
サービス中のNode.jsアプリケーションのディレクトリパスに、エージェントモジュールをインストールしてください。
$ npm install --save whatap
-
_node_modules/whatap_パスからwhatap.confファイルをコピーして、ソースコードのルート(root)パスに貼り付けます。
-
WhaTapモニタリングサービス 画面に移動してください。
-
作成したプロジェクトを選択しインストール手順セクションのエージェントのダウンロード セクションから、次をコピーしてください。
Examplelicense={アクセスキー}
whatap.server.host={収集サーバーIP} -
whatap.confファイルに貼り付けてください。
ホスト(whatap.server.host
) のアドレスは、WhaTap proxyをインストールしたサーバーのアドレスです。スラッシュ(「/」)を区切り文字として使用し、WhaTap proxy が実行中のサーバーにアドレスを入力することができます。
Node.jsエージェント構成ファイル
Node.jsモニタリングサービスを構成する各ファイルの役割は、次のとおりです。
-
whatap.conf:エージェント設定ファイルのサンプルです。そのファイルをコピーして、アクセスキーを入力してください。
-
lib:エージェント、トレーサープログラムです。
-
README.md:エージェントのインストールに関する手順書です。
-
package.json:npmモジュール環境構成ファイルです。
-
index.js:main export宣言ファイルです。
Next.jsまたはNuxt.jsなどのサーバーサイドレンダリング(Server-side Rendering、SSR)フレームワークでアプリケーションをモニタリングするためにCustom Serverの設定が必要です。一般的なNode.jsフレームワーク(例、Express.js、Nest.js)とは異なるアプローチが求められます。詳細については、以下の文書を参照してください。
活用方法
アプリケーションの進入点(メインモジュール)ファイルの最上段に次のコードを追加してください。例えばExpress.jsアプリケーションでは_app.js_または_server.js_ファイルが進入点(メインモジュール)です。Nest.jsといったフレームワークを使用する場合は、_main.ts_ファイルなどです。
var whatap = require('whatap').NodeAgent;
ECMAScript(ES)を使用している場合、次のコードを追加してください。
import WhatapAgent from 'whatap';
WhatapAgent.NodeAgent;
次の適用例を参照してください。
var WhatapAgent = require('whatap').NodeAgent;
import http from 'http';
import setupApp from '../src/app';
let server = null;
const port = normalizePort(process.env.PORT || '3000');
エージェントの実行コードは、node.jsを起動してから実行する必要があります。最初のimport
の前にセットする必要があります。
インストールが完了したら、次の文書を確認して問題がないことを確認してください。
環境別にwhatap.confファイルを区分して使用する
次の場合に該当する場合は、.confを除いたファイル名を設定してください。
-
環境別にプロジェクトを分割している場合
-
異なるエージェントのオプションを設定する場合
-
pm2でクラスター(Cluster) モードを起動する場合
process.env.WHATAP_CONF = 'whatapdev';
process.env.WHATAP_NAME = 'NodeAgent-{ip2}-{ip3}-{cluster}';
var WhatapAgent = require('whatap').NodeAgent;
WHATAP_NAME
オプションで設定できる引数は次のとおりです。
-
ipN:ip0、ip1、ip2、ip3
-
cluster:cluster ID
-
pid:process ID
-
hostname:ホスト名
エージェントのグループ単位の機能を使用する
エージェントのグループ単位の機能には、グループトポロジ、統合トポロジなどがあります。次のコードは、{グループ識別子}
の部分をエージェントグループ名に置き換えて使用してください。
process.env.WHATAP_OKIND = '{グループ識別子}';
var WhatapAgent = require('whatap').NodeAgent;
PaaSのアプリケーション環境
デフォルトの環境変数設定
PaaSアプリケーションからエージェントをインストールする場合は、すべての設定をソース(app.js)ファイルで設定する必要があります。whatap.confファイルは使用できません。
アクセスキー(WHATAP_LICENSE
)収集サーバーIP(WHATAP_SERVER_HOST
)を環境変数として設定してください。
process.env.WHATAP_LICENSE={アクセスキー};
process.env.WHATAP_SERVER_HOST={収集サーバーIP};
var whatap=require('whatap').NodeAgent;
...
環境変数として設定可能なオプション
whatap.confファイルが使用できないため、ソースファイルに環境変数としてWhaTapエージェントオプションを設定する必要があります。
process.env.profile_http_header_enabled=false;
process.env.profile_http_parameter_enabled=false;
process.env.profile_basetime=500;
process.env.auto_oname_enabled=false;
process.env.auto_oname_prefix='nodejs';
process.env.mtrace_rate=0;
process.env.mtrace_spec='v1';
process.env.stat_mtrace_enabled=false;
process.env.stat_domain_enabled=false;
Node.jsで設定できるオプションの詳細については、次の文書を参照してください。
モニタリングの開始
アプリケーションサーバーを再起動すると、エージェントが情報収集を開始します。