本文へスキップ

Node.jsエージェントのインストール

WhaTapモニタリングサービスを使用するには、会員登録後にプロジェクトを作成し、対象サーバーにエージェントをインストールする必要があります。会員登録に関する詳細については、次の文書を参照してください。

次の動画ガイドを参照してください。

Node.jsモニタリングサービスを使用するには、モニタリング対象アプリケーションにモニタリングエージェントをインストールする必要があります。インストールはnpm(Node Package Manager)を使用してください。

  • サービス中のNode.jsアプリケーションのディレクトリパスに、WhaTapエージェントモジュールをインストールしてください。

  • WhaTapエージェントの環境設定(whatap.conf)を作成してください。

  • Node.jsサービスを再起動します。

プロジェクト作成

エージェントをインストールする前にプロジェクトを作成してください。

  1. WhaTapモニタリングサービスに移動し、ログインします。

  2. プロジェクトを作成するには、画面左サイドメニューからプロジェクト全体 > + Projectボタンを選択してください。

  3. 商品選択 画面でプロジェクトにインストールする製品を選択してください。

  4. プロジェクト名, データサーバーリージョン, プロジェクトタイムゾーン項目を順番に設定してください。

    プロジェクトの生成

  5. 通知言語の設定で、警告通知メッセージの言語を選択してください。

  6. すべての設定を完了した後は プロジェクトを作成する ボタンを選択してください。

ノート
  • データサーバーリージョンは、リージョン(クラウドサービスを提供するためにインストールしたデータセンターのグループ)を意味します。特定のリージョンを選択すると、そのリージョンに所属するデータセンターにユーザーのデータが保存されます。

  • プロジェクトタイムゾーンは通知とレポートを生成する基準時間です。

  • 複数のプロジェクトをグループで管理する場合は、プロジェクトグループからグループを選択するか、グループを追加してください。 グループの詳細については、次の文書を参照してください。

  • 組織を選択してプロジェクトを追加する場合は、組織下位のグループを必須に設定する必要があります。

アクセスキーの確認

アクセスキーは、WhaTapサービスを有効にするための固有IDです。

インストール手順セクションでプロジェクトアクセスキーの発行ボタンをクリックします。 アクセスキーを自動的に発行した後、次のステップを進みます。

ノート

プロジェクトを作成すると、自動的にエージェントインストールページに移動します。 エージェントインストールページが移動しない場合は、画面左側のメニューから管理 > エージェントインストールを選択してください。

エージェントダウンロード

  1. サービス中のNode.jsアプリケーションのディレクトリパスに、エージェントモジュールをインストールしてください。

    $ npm install --save whatap
  2. _node_modules/whatap_パスからwhatap.confファイルをコピーして、ソースコードのルート(root)パスに貼り付けます。

  3. WhaTapモニタリングサービス 画面に移動してください。

  4. 作成したプロジェクトを選択しインストール手順セクションのエージェントのダウンロード セクションから、次をコピーしてください。

    Example
    license={アクセスキー}
    whatap.server.host={収集サーバーIP}
  5. 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宣言ファイルです。

Tips

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_ファイルなどです。

Javascript
var whatap = require('whatap').NodeAgent;

ECMAScript(ES)を使用している場合、次のコードを追加してください。

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)を環境変数として設定してください。

app.js
process.env.WHATAP_LICENSE={アクセスキー};
process.env.WHATAP_SERVER_HOST={収集サーバーIP};
var whatap=require('whatap').NodeAgent;
...

環境変数として設定可能なオプション

whatap.confファイルが使用できないため、ソースファイルに環境変数としてWhaTapエージェントオプションを設定する必要があります。

app.js
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で設定できるオプションの詳細については、次の文書を参照してください。

モニタリングの開始

アプリケーションサーバーを再起動すると、エージェントが情報収集を開始します。