3. ウェブアプリケーションサーバ

この章ではMaxGauge専用ウェブサーバおよびアプリケーションサーバとして機能するPlatformJSについて説明します。

PlatformJSはアプリケーションサーバで、下記の役割があります。

  • HTTPウェブサーバ
  • Websocketを用いたJavaScriptの実行
  • Database Queryの実行(Oracle,PostgreSQL)
  • DLL Plug-In Functionの実行

3.1. リアルタイム監視のためのインタフェース

リアルタイム監視のための実行フローは次のとおりです。
../_images/mfo_pjs1.png
  • F1. RTS Interface
    1. PlatformJSは、Configurationで設定したrefresh間隔によりRTSに性能データを要求します。
    2. 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. パフォーマンス解析のためのインタフェース

パフォーマンス解析のための実行フローは次のとおりです。
../_images/mfo_pjs3.png
  1. PlatformJSはPAの照会要求に合致したqueryを、ウェブアプリケーションサーバ内のディレクトリで検索します。
  2. Repository Databaseでqueryを実行した後、PAに結果を送信します。

注釈

Repository DBでのquery実行のためには、Repojitory DB Listener port(デフォルト値- PostgreSQL : 5432,Oracle : 1521)に対する接続権限が必要です。

3.3. Alarm連携のためのインタフェース

Alarm連携のための実行フローは次のとおりです。
../_images/mfo_pjs4.png

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は標準提供していません