データサーバのインストール及び構成

データサーバについて

データサーバはエージェントとビューサーバ間のエージェントを管理する機能に加えて、データの処理や、ビューサーバからリクエストがあったデータの配信も行います。

JENNIFER5パッケージをダウンロードして解凍すると、server.dataディレクトリが作成されます。このディレクトリがデータサーバのディレクトリです。

データサーバによるエージェント制御

データサーバはポートを開いて、エージェントからのアクセスを待機します。エージェントがアクセスすると、データサーバはエージェントを接続し、エージェントライセンスの有効性を識別します。

データサーバによるデータ処理

データサーバはエージェントが収集して送信された、すべてのデータ処理、保存および検索を行います。

データサーバの仕様

データサーバの仕様は収集する監視対象のシステムおよびデータ量に応じて異なります。通常、1000TPS以下のトランザクションに対するサービスを提供するデータサーバの最低要件は次の通りです。

データサーバの仕様

項 目

推奨仕様

CPU

2コア(2.0GHz以上)

メモリ

8GB以上の物理メモリ、4GB以上の余裕メモリ

HDD

NFSではない1000GBの空き容量が必要、 - システム規模およびプロファイル量によって異なります

サーバ

物理サーバ(仮想環境ではないこと)

対応OS

Windows、Linux、AIX、HP、Solaris

対応JDKバージョン

サーババージョン

JDKバージョン

5.0.0 ~ 5.3.3.13

1.6 ~ 1.8

5.4.0 ~ 5.5.3.16

1.8

5.6.0 ~

LTS (1.8, 11, 17, 21)

5.6.5 ~

LTS (17, 21)

データサーバはデーモン(daemon)型のJAVAプログラムで、JAVAがインストールされている大部分のシステムで運用できます。HDDの必要な容量はJENNIFERを構成しているシステムの規模および収集するデータによって異なります。

HP-UX環境の場合は、以下のオプションを追加する必要があります。

JAVA_OPTS=" ${JAVA_OPTS} -d64" 
JAVA_OPTS=" ${JAVA_OPTS} -Xmpas:on"

JENNIFERサーバは性能の観点から物理サーバをお勧めします。

同一物理マシン上に複数のデータサーバ プロセスを実行する場合は、各プロセス当たり2コア以上が必要です。

Bootstrapチェック

データサーバは円滑な収集性能を確保のため、起動時に現在環境の適合性をチェックします。次のチェック項目中1つでも満たさない場合、データサーバは起動されません。

Bootstrapチェックの無効化

推奨スペックではない環境でデータサーバを運用したい場合は、Bootstrapチェックを無効化して起動させることが可能です。

データサーバの設定ファイル(server_data.conf) に次のオプションを追記してからデータサーバを起動します。

jennifer_bootstrap_check=false

データサーバのディレクトリ構成

データサーバのディレクトリ構成は次の通りです。

データサーバのディレクトリ構成

ディレクトリ名

説 明

bin

実行可能ファイルが含まれているディレクトリ

conf

構成ファイルが含まれているディレクトリ

lib

データサーバを実行するためのライブラリ

db_data

性能データが保存されるディレクトリ(最初の実行時に作成されます)

logs

データサーバのログが出力されるディレクトリ

upgrade

データサーバのアップグレードファイルを保存するディレクトリ(最初のアップグレード実行時に作成されます)

性能データが保存されるパーティション(ディスク)の全体容量が4GB未満の場合、警告メッセージを表示します。

100MB未満の場合は自動的にshutdownされます。

データサーバのインストールディレクトリは空白がないパスのみサポートします。パスに空白がある場合(例:C:¥Program Files¥jennifer)は、正常に動作しません。必ず空白がないパスにデータサーバをインストールしてください。

データサーバの開始と停止(UNIX/Linux)

データサーバの構成

データサーバはエージェントとビューサーバ間のエージェントを管理する機能に加えて、データの処理や、ビューサーバからリクエストがあったデータの配信も行うサーバです。データサーバは収集するデータ量が大きいときやエージェント数が多いときに拡張できます。

データサーバ開始時に必要な構成

${JENNIFER_DATA_SERVER_HOME}/bin/jennifer_data.shファイルはUNIX環境でデータサーバを開始するために必要な構成を含んでいます。このファイルにはJAVA_HOME、データサーバホーム、サーバ構成ファイルおよびデータサーバJVMオプションが含まれています。JENNIFERがインストールされている環境に応じ、次の表にある変数を使用して設定できます。

${JENNIFER_DATA_SERVER_HOME}/bin/jennifer_data.shファイルの構成変数

構成変数

JAVA_HOME

/home/jdk1.8.0_181

JENNIFER_DATA_SERVER_HOME

/home/jennifer5/server.data

JENNIFER_DATA_SERVER_CONF

${JENNIFER_DATA_SERVER_HOME}/conf/server.conf

JENNIFER_DATA_SERVER_LOG_CONF

${JENNIFER_DATA_SERVER_HOME}/conf/logback.xml

# ----------------------------------------------------------------------
# ----- Customizable Variables -----------------------------------------
# ----------------------------------------------------------------------
JAVA_HOME=/home/jdk1.8.0_181
JENNIFER_DATA_SERVER_HOME=/home/jennifer5/server.data
JENNIFER_DATA_SERVER_CONF=${JENNIFER_DATA_SERVER_HOME}/conf/server_data.conf
JENNIFER_DATA_SERVER_LOG_CONF=${JENNIFER_DATA_SERVER_HOME}/conf/logback.xml
rem ----------------------------------------------------------------------

データサーバの設定オプション

データの保存場所や、ポートの設定などデータサーバの基本設定を行います。設定ファイルはデータサーバのホームディレクトリ配下のconf/server_data.confに配置します。ファイル名とファイル位置は変更できます。初期設定が必要なオプションは次の通りです。

${JENNIFER_DATA_SERVER_HOME}/conf/server_data.confファイルの初期設定が必要なオプション

構成

初期値

説 明

db_path

../db_data

性能データを保存するディレクトリ

listen_port

5000

データサーバのリスニングポート番号

backup_path

$JENNIFER_DATA_SERVER_HOME/db_data/domain_id

バックアップファイルを保存するディレクトリ

${JENNIFER_DATA_SERVER_HOME}/conf/server_data.conf

構成

初期値

タイプ

再起動可否

説 明

db_path

$JENNIFER_DATA_SERVER_HOME/db_data

単数形

O

性能データを保存するディレクトリ

listen_port

5000

単数形

O

データサーバのリスニングポート番号

backup_path

$JENNIFER_DATA_SERVER_HOME/db_data/domain_id

単数形

O

バックアップファイルを保存するディレクトリ

method_sampling_period

0

単数形

X

データサーバのボトルネック箇所を把握するためのメソッドサンプリングの周期

method_sampling_thread_filter

空白

単数形

X

メソッドサンプリングの対象Executor名を設定。

method_sampling_method_filter

空白

単数形

X

メソッドサンプリングの対象パッケージを設定

otel_span_name_using_http_call

空白

複数形

X

ExternalCall で収集するオープンテレメトリのSpan名を設定。

otel_span_attr_name_using_http_call

空白

複数形

X

ExternalCall で収集するオープンテレメトリのSpan属性を指定。

db_path=../db_data
listen_port=5000

データサーバがバインドするポートが5000で、エージェントとビューサーバが通信します。初期設定を変更しない場合は修正する必要がありません。

複数タイプの設定の場合、confファイルに同じキーの名前を複数登録することができます。

データサーバの開始

  1. データサーバ配下のbinディレクトリに移動します。

# cd /home/jennifer5/server.data/bin
  1. binディレクトリで、startup_data.shを実行します。

# ./startup_data.sh
  1. データサーバが正常に開始したことを確認します。正常に開始すると、下記のようなログ(${JENNIFER_DATA_SERVER_HOME}/logs/server.data.yyyy-mm-dd.log)が出力されます。

2020-08-31 14:41:36.452 KST [main] INFO  com.aries.data.Main - OS: Linux 4.15.0-112-generic amd64
2020-08-31 14:41:36.453 KST [main] INFO  com.aries.data.Main - JDK: Private Build 1.8.0_265 OpenJDK 64-Bit Server VM
2020-08-31 14:41:36.453 KST [main] INFO  com.aries.data.Main - Using JRE: /usr/lib/jvm/java-8-openjdk-amd64/jre
2020-08-31 14:41:36.455 KST [main] INFO  com.aries.data.Main - Using GarbageCollector: [PS Scavenge, PS MarkSweep]
2020-08-31 14:41:36.455 KST [main] INFO  com.aries.data.Main - Data server arguments ---------

....

2020-08-31 14:41:36.542 KST [main] INFO  com.aries.data.Main - Data server version: 5.5.2.4
2020-08-31 14:41:36.542 KST [main] INFO  com.aries.data.Main - System property: user.timezone=,file.encoding=UTF-8
2020-08-31 14:41:36.552 KST [main] INFO  com.aries.data.Main - Data server signal handlers: [SYS, ABRT, INT, TERM, HUP, TRAP, PIPE]
2020-08-31 14:41:36.588 KST [Global Timer:Running:com.aries.data.mng.DomainListLogger$1] INFO  c.aries.data.mng.DomainListLogger$1 - Available domain: None
2020-08-31 14:41:36.705 KST [main] INFO  com.aries.data.Main - Data server startup. address=/0:0:0:0:0:0:0:0, port=5000
  1. ビューサーバを接続すると、下記のようなログが作成されます。

2020-08-31 15:28:37.609 KST [:ME:CommandMultiplexer] INFO  c.a.d.n.ViewServerSessionCreationHandler - View server session is created. domainId=1000, connection=Local:192.168.0.31:5000-Remote:192.168.0.31:33630
  1. エージェントを接続すると、下記のようなログが作成されます。

2020-08-31 15:30:08.659 KST [:ME:CommandMultiplexer] INFO  c.a.d.n.AgentSessionCreationHandler - Agent session is created. domainId=1000, instanceId=10000, version=5.5.0.3, networkEncrypt=false, connection=Local:192.168.0.31:5000-Remote:192.168.9.113:55936
  1. ライセンスがない場合、以下のようなログが生成されます。管理画面でライセンスを登録する必要があります。

2020-08-31 15:29:47.595 KST [:ME:CommandMultiplexer] INFO c.a.d.n.AgentSessionCreationHandler - Agent connection rejected. reason=no license found, domainId=1000, instanceId=10000, connectionMessage=Local:192.168.0.31:5000-Remote:192.168.9.113:55922

データサーバの停止

  1. データサーバ配下のbinディレクトリに移動します。

# cd /home/jennifer5/server.data/bin
  1. binディレクトリで、shutdown_data.shを実行します。

# ./shutdown_data.sh
  1. データサーバが正常に停止すると、下記のようなログが出力されます。

2020-08-31 15:32:31.341 KST [main] INFO  com.aries.data.DataServerManager - Shutting down. reason=Shutdown request
2020-08-31 15:32:31.341 KST [main] INFO  com.aries.data.core.ManagedExecutor - Stopping LosableProfileRelevantDataProcessor
2020-08-31 15:32:31.341 KST [main] INFO  com.aries.data.core.ManagedExecutor - Stopping LosableProfileWriter
2020-08-31 15:32:31.341 KST [main] INFO  com.aries.data.core.ManagedExecutor - Stopping LosableStackTraceWriter
2020-08-31 15:32:31.341 KST [main] INFO  com.aries.data.core.ManagedExecutor - Stopping RealtimeDataWriter
2020-08-31 15:32:31.342 KST [main] INFO  com.aries.data.core.ManagedExecutor - Stopping StatisticWriter
2020-08-31 15:32:31.342 KST [main] INFO  com.aries.data.core.ManagedExecutor - Stopping LosableTransactionRelevantDataWriter
2020-08-31 15:32:31.342 KST [main] INFO  c.aries.data.core.ManagedExecutor$1 - Some executions are lost. lostCount=0, name=RealtimeDataWriter
2020-08-31 15:32:31.343 KST [main] INFO  c.a.data.nio.AgentSessionManager - Agent session is expired. domainId=1000, instanceId=10000, reason=Shutting down, connection=Local:192.168.0.31:5000-Remote:192.168.9.113:55936
2020-08-31 15:32:31.344 KST [main] INFO  com.aries.data.DataServerManager - Shutdown is done

大量のデータがデータサーバにリアルタイムで流入し、JENNIFERの内部データベースに保存されるデータ量が多い場合でも、この処理のスレッドを正常に閉じてから、データサーバは停止しなければなりません。データが損傷する可能性があるため、データサーバの強制終了は推奨しません。

データサーバの開始と停止(Windows)

データサーバの構成

データサーバはエージェントとビューサーバ間のエージェントを管理する機能に加えて、データの処理や、ビューサーバからリクエストがあったデータの配信も行うサーバです。データサーバは収集するデータ量が大きいときや、エージェント数が多いときに拡張できます。

データサーバ開始時に必要な構成

%JENNIFER_DATA_SERVER_HOME%bin\jennifer_data.batファイルはWindows環境でデータサーバを開始するのに必要な構成を含んでいます。このファイルにはJAVA_HOME、データサーバホーム、サーバ構成ファイルおよびデータサーバJVMオプションが含まれています。JENNIFERをインストールした環境に応じて、次の表の変数で設定できます。

%JENNIFER_DATA_SERVER_HOME%\bin\jennifer_data.batファイルの構成変数

構成変数

JAVA_HOME

D:\jdk1.8

JENNIFER_DATA_SERVER_HOME

D:\work\jennifer5\server.data

JENNIFER_DATA_SERVER_CONF

%JENNIFER_DATA_SERVER_HOME%\conf\server_data.conf

JENNIFER_DATA_SERVER_LOG_CONF

%JENNIFER_DATA_SERVER_HOME%\conf\logback.xml

rem ----------------------------------------------------------------------
rem ----- Customizable Variables -----------------------------------------
rem ----------------------------------------------------------------------
set JAVA_HOME=D:\jdk1.8
set JENNIFER_DATA_SERVER_HOME=D:\work\jennifer5\server.data
set JENNIFER_DATA_SERVER_CONF=%JENNIFER_DATA_SERVER_HOME%\conf\server_data.conf
set JENNIFER_DATA_SERVER_LOG_CONF=%JENNIFER_DATA_SERVER_HOME%\conf\logback.xml
rem ----------------------------------------------------------------------

データサーバの設定オプション

データの保存場所や、ポートの設定などのデータサーバ用の基本設定を行います。設定ファイルはデータサーバのホームディレクトリ配下のconf/server_data.confに配置します。ファイル名とファイル位置は変更できます。初期設定が必要なオプションは次の通りです。

%JENNIFER_DATA_SERVER_HOME%\conf\server_data.confファイルの初期設定が必要なオプション

設定

初期値

説明

db_path

../db_data

性能データを保存するディレクトリ

listen_port

5000

データサーバのリスニングポート

backup_path

../db_data/domain_id

バックアップファイルを保存するディレクトリ

・データサーバがバインドした5000ポートで、エージェントとビューサーバと通信します。

・構成ファイル内のディレクトリセパレータとして、「\」ではなく「/」を使用します。

・初期設定を変更しないときは修正する必要はありません。

データサーバの開始

  1. データサーバ配下のbinディレクトリに移動します。

>cd D:\work\jennifer5\server.data\bin
  1. binディレクトリで、startup_data.batを実行します。

D:\work\jennifer5\server.data\bin>startup_data.bat
  1. データサーバが正常に開始したことを確認します。正常に開始すると、下記のようなログ(%JENNIFER_DATA_SERVER_HOME%¥logs¥server.data.yyyy-mm-dd.log)が出力されます。

2016-05-19 16:08:15.460 [main] INFO  com.jennifersoft.data.Main - Using JRE: D:\jdk1.8\jre
2016-05-19 16:08:15.491 [main] INFO  com.jennifersoft.data.Main - Jennifer data server home: D:\work\jennifer5\server.data
2016-05-19 16:08:15.491 [main] INFO  com.jennifersoft.data.ConfigManager - Load configuration: D:\work\jennifer5\server.data\conf\server_data.conf
2016-05-19 16:08:15.491 [main] INFO  com.jennifersoft.data.Main - Database path: D:\work\jennifer5\server.data\db_data
2016-05-19 16:08:15.491 [main] INFO  com.jennifersoft.data.Main - Data server version: 5.0.15.1
2016-05-19 16:08:15.491 [main] INFO  com.jennifersoft.data.Main - System property: user.timezone=Asia/Tokyo,file.encoding=UTF-8
2016-05-19 16:08:15.507 [Global Timer:Running:com.jennifersoft.data.mng.DomainListLogger$1] INFO  c.j.data.mng.DomainListLogger$1 - Available domain: None
2016-05-19 16:08:15.679 [main] INFO  com.jennifersoft.data.Main$2 - Data server startup. address=/0:0:0:0:0:0:0:0, port=5000
  1. ビューサーバを接続すると、下記のようなログが作成されます。

2016-05-19 16:11:51.031 [:ME:CommandMultiplexer:Running:com.jennifersoft.data.nio.DataServerProtocol$1$1$1@2a88cb57] INFO  c.j.d.n.ViewServerSessionCreationHandler - View server session is created. domainId=1000, connection=Local:127.0.0.1:5000-Remote:127.0.0.1:9599
  1. エージェントを接続すると、下記のようなログが作成されます。

2016-05-19 16:16:41.149 INFO Agent session is created. domainId=1000, instanceId=10000(generated), version=5.0.15.1, connection=Local:192.168.1.77:5000-Remote:192.168.1.77:9653

データサーバをWindowsサービスとして登録

  1. 管理者権限でコマンドプロンプトを実行します。

  2. データサーバ配下のbinディレクトリに移動して、reg_service.batを実行します。

D:\work\jennifer5\server.data\bin>reg_service.bat

登録するサービス名の初期設定値は"jennifer_data"です。登録するサービス名を変更する場合は以下のINIファイルをデータサーバ配下のbinディレクトリに作成します。

jenniferdata64.ini

作成したiniファイルを開いて次のように記述します。サービス名はserviceNameに指定します。

[default]
serviceName=jennifer_data
servicePath=jennifer_data.bat

serviceNameの値を変更後、reg_service.batを実行すると、指定したサービス名でWindowsサービスに登録されます。

reg_service.batでWindowsサービスに登録するときには基本的にWindowsの環境変数のPATHにJAVA_HOMEが登録されているかをチェックします。JAVA_HOMEが登録されていないとWindowsサービスに正常に登録できません。Windows環境変数のチェックをスキップする場合は"reg_service.bat -nc"のように"-nc"オプションを利用し実行してください。

データサーバの停止

  1. データサーバ配下のbinディレクトリに移動します。

>cd D:\work\jennifer5\server.data\bin
  1. binディレクトリで、shutdown_data.batを実行します。

D:\work\jennifer5\server.data\bin> shutdown_data.bat
  1. データサーバが正常に停止すると、下記のようなログが出力されます。

2016-05-19 17:52:50.739 [main] INFO  com.jennifersoft.data.Main - Using JRE: D:\jdk1.8\jre
2016-05-19 17:52:50.755 [main] INFO  com.jennifersoft.data.Main - Jennifer data server home: D:\work\jennifer5\server.data
2016-05-19 17:52:50.755 [main] INFO  com.jennifersoft.data.ConfigManager - Load configuration: D:\work\jennifer5\server.data\conf\server_data.conf
2016-05-19 17:52:50.755 [main] INFO  com.jennifersoft.data.Main - Database path: D:\work\jennifer5\server.data\db_data
2016-05-19 17:52:51.844 [main] INFO  com.jennifersoft.data.Main - Shutting down...
2016-05-19 17:52:51.845 [main] INFO  com.jennifersoft.data.Main - Shutdown is done

データサーバが処理中のスレッドを全て正常に閉じてからデータサーバを停止しなければなりません。データが損傷する可能性があるため、データサーバの強制終了は推奨しません。

データサーバのログ管理

データサーバは収集したデータとは別にデータサーバ自体の動作状況をログファイルに記録します。日付単位でログを記録し、デフォルトでは30日分のログファイルを保存します。

このログファイルの保存件数を管理するときはJENNIFER_DATA_SERVER_HOME/confにあるlogback.xmlファイルを修正します。

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${log_dir}/server.data.%d{yyyy-MM-dd}.log</fileNamePattern>
    <maxHistory>30</maxHistory>
</rollingPolicy>

上記の<maxHistory>の値がログファイルの最大保存数です。デフォルトは30であり、30日分のログファイルを保存します。ログファイルの数が30個を超えたときは最も古いファイルから削除して行きます。