3. ウェブアプリケーションサーバ¶
この章ではMaxGauge専用ウェブサーバおよびアプリケーションサーバとして機能するPlatformJSについて説明します。
PlatformJSはアプリケーションサーバで、下記の役割があります。
- HTTPウェブサーバ
- Websocketを用いたJavaScriptの実行
- Database Queryの実行(Oracle,PostgreSQL)
- DLL Plug-In Functionの実行
3.1. リアルタイム監視のためのインタフェース¶
- リアルタイム監視のための実行フローは次のとおりです。
- F1. RTS Interface
- PlatformJSは、Configurationで設定したrefresh間隔によりRTSに性能データを要求します。
- RTSは、要求された性能データを送信します。
注釈
RTSに性能データを要求するためには、RTS listening port (default : 5080)接続権限が必要です。
- F2. Oracle Interface
PlaftformJSは、RTSが提供しない性能データおよびセッションcontrol機能実行のために、Oracleに接続してquery(または、命令語)を実行する機能を提供します。 Oracleにquery(または、コマンド)を実行する場合は、次のとおりです。
- セッションControl (Kill Session、10046 SQL Trace)
- RTMのSQL Used Tool使用のためのV$SQLAREA照会
- RTMのSQL Detail Window使用のためのV$SQLAREA照会
- Script Manager Toolで提供されるscript実行
- Session Detail Window内のexecution planおよびbind情報照会
注釈
PlatformJSのオラクル接続アカウントは、サーバモジュールセットアップ時に作成された”MAXGAUGE”です。 Oracleにquery(または、コマンド)を実行するためにはListener port接続権限が必要です。
3.2. パフォーマンス解析のためのインタフェース¶
- パフォーマンス解析のための実行フローは次のとおりです。
-
- PlatformJSはPAの照会要求に合致したqueryを、ウェブアプリケーションサーバ内のディレクトリで検索します。
- Repository Databaseでqueryを実行した後、PAに結果を送信します。
注釈
Repository DBでのquery実行のためには、Repojitory DB Listener port(デフォルト値- PostgreSQL : 5432,Oracle : 1521)に対する接続権限が必要です。
3.3. Alarm連携のためのインタフェース¶
- Alarm連携のための実行フローは次のとおりです。
PlatformJSはDGで収集したalarm情報を受け、Reraltime-Monitorに送信します。
3.4. PlatformJSの操作¶
Unix/Linuxサーバの場合、PlatformJSの起動停止コマンドをサービスとして登録して、PlatformJSを制御します。
Windowsサーバの場合、Windowsサービスに登録して、PlatformJSを制御します。
3.4.1. Unix/Linuxサーバ¶
登録したサービスを利用してPlatformJSを操作します。
PlatformJSサービス名は次のとおりです。
- PlatformJS : mfo-platformjs
3.4.2. Windowsサーバ¶
PlatformJSをセットアップすると、Local Serviceで自動登録されます。
PlatformJSサービス名は次のとおりです。
- PlatformJS : Exem_PlatformJS(8080)
注釈
PlatformJSインストールおよびアンインストール方法は“インストールガイド”を参照してください。
3.5. PlatformJSの設定ファイル¶
PlatformJSに関する設定は、config.jsonファイルを使用します。
PlatformJSとData Gatherが同じサーバを使用する場合、デフォルト値をそのまま使うことが可能です。
それぞれ他のサーバを使用する場合は、database_serverおよびgather_ipパラメータを修正する必要があります。
3.5.1. config.jsonファイル¶
該当ファイルは、”/PlatformJS/config”ディレクトリ内に配置します。
主なパラメータに対する説明は次のとおりです。
- 主なパラメータ
パラメータ名 説明 service_port Platformの使用するポート番号(デフォルト値:8080) refresh_time PlatformJSは該当パラメータに設定された値(デフォルト)により性能データをRTMに送信します。
該当パラメータ値に対する変更はRTMのConfiguration画面を利用します。(デフォルト値:3)execute_exa モニタリング環境内EXA環境含む有無により設定変更
(EXA含まない:false / EXA含む:true)version PlatformJSプログラム バージョンでモニタリング環境内EXA環境含む有無により、バージョン変更します。
(EXA含まない:5.3.1 / EXA含む:5.5)database_pool_min PlatformJSがPostgreSQL(リポジトリDB)と通信する際に使用するコネクションプール初期値(デフォルト5)
割り当てられたコネクションプールが3分間使用されない場合は、コネクションプールを初期値まで減らします。
PlatformJSがDataGatherまたはRTSとの通信する際にはコネクションプールを使用しません。database_pool_max PlatformJSがPostgreSQL(リポジトリDB)と通信する際に使用するコネクションプール最大値(デフォルト20)
割り当てられたコネクションプールが3分間使用されない場合は、コネクションプールを初期値まで減らします。
PlatformJSがDataGatherまたはRTSとの通信する際にはコネクションプールを使用しません。datagather_ip Master DataGatherが設置された環境のIP
(デフォルト値:127.0.0.1)datagather_port Master DataGatherに割り当てられたポート番号
(デフォルト値:7000)database_type PostgreSQLである場合 : postgresql database_server PostgreSQLである場合 : repositoryサーバのIP address database_port RepositoryデータベースのListener Port(デフォルト値:1521) database_database Repojitoryデータベースの名称
(PostgreSQL:DB Name/Oracle:SID)database_user Repositoryデータベースのユーザー名設定
(デフォルト値:Repository DB使用者名称(ex:maxgauge))database_password Repositoryデータベースのユーザーのパスワード設定
(デフォルト値:Repository DB使用者パスワード(ex:maxgauge))log_level PlatformJSが実行されて出力するログのレベルを設定(デフォルト値:info)
info:データ照会に関する単純ログだけ記録
trace:データ照会を含んだ詳細なログを記録log_max_history PlatformJSログの保持期間(デフォルト値:90日) log_max_file_size PlatformJSログローテーションサイズ(デフォルト値:30MB) log_directory PlatformJSが生成するログファイルの経路を設定(デフォルト値:./log) second_charset 文字列の復号化で使用する参照するCHARASETを設定(基本的にRTSのCHARASETで復号化します。(デフォルト値:CP949) query_timeout PlatformJSのクエリタイムアウト(デフォルト値:300sec) xms PlatformJSの最小メモリサイズ(デフォルト値:1024MB) xmx PlatformJSの最大メモリサイズ(デフォルト値:1024MB) rac_service_name (Oracle Repository) RACで構成されたRepository接続のためのService名
OracleのRepojitoryDBは標準提供していませんrac_instance_list (Oracle Repository) RACで構成されたRepository接続のためのInstance List
OracleのRepojitoryDBは標準提供していません