メインコンテンツまでスキップ

NodeJS Agent インストール

1. モジュールの説明​

exem-nodejs-agentは、Node.jsベースのアプリケーションのトランザクション、SQL、Call Tree、例外データを収集してExemONEに送信するモニタリングエージェントです。

2. サポート環境​

項目内容
OSLinux
Windows
Arch64bit
RuntimeNode.js 12 ~ 20
PlatformOn-premise
Docker
ProtocolTCP 9010 → Receiver
Prereqnpmが使用可能な環境(プロジェクト内でnpm install)

3. インストール方法​

3-1. パッケージの解凍​

パッケージ(EXEM-NODEJS-AGENT-x.x.x.tar.gz)をサーバーにアップロードした後、解凍します。

tar -zxvf EXEM-NODEJS-AGENT-x.x.x.tar.gz

解凍後のディレクトリ構造は以下の通りです。

exem/nodejs/
├── cfg/
│ └── agent/
│ ├── nodejs.conf # 収集サーバーアドレスなどの基本設定ファイル
│ └── nodejs.home
├── lib/
│ ├── exem-nodejs-agent-x.x.x.tgz
│ ├── EXEM-TRANSACTION-AGENT-x.x.x.tar.gz
│ └── google-protobuf-3.21.2.tgz
├── data/
└── log/

3-2. モジュールのインストール​

アプリケーションのプロジェクトディレクトリでnpm installによりエージェントモジュールをインストールします。

cd <プロジェクトパス>
npm install /path/to/exem/nodejs/lib/exem-nodejs-agent-x.x.x.tgz

3-3. 収集サーバーアドレスの設定​

exem/nodejs/cfg/agent/nodejs.confファイルのRECEIVER_ADDRにExemONE収集サーバーのアドレスを設定します。

RECEIVER_ADDR=<収集サーバーIP>:<収集サーバーポート>

3-4. エージェントの適用​

エージェントのホームパスを環境変数として設定します。

export EXEM_NODEJS_HOME=/path/to/exem/nodejs

一般的なNode.jsアプリケーション​

アプリケーションの最初の実行ファイルの最上部にエージェントモジュールの呼び出しコードを追加します。

// エージェントモジュールの呼び出し(最上部に配置する必要があります)
require('exem-nodejs-agent').start();

// 既存のアプリケーションコード
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();

その後、アプリケーションを通常通り起動します。

Next.jsアプリケーション​

  1. 適用先のNext.jsサーバーディレクトリにexem-nodejs-loader.jsファイルを配置します。

  2. package.jsonのscripts.startに-r ./exem-nodejs-loader.jsオプションを追加して、エージェントを先にロードします。

{
"scripts": {
"start": "node -r ./exem-nodejs-loader.js node_modules/.bin/next start"
}
}
注記

-r ./exem-nodejs-loader.jsは、Next.js起動前にエージェントloaderをrequireで先に実行します。devスクリプトには適用しません。