7.7.2 フックスクリプトを利用したJP1連携の自動設定
フックスクリプトを使用して,仮想サーバ上のJP1製品の環境設定処理を自動的に実行できます。また,JP1連携の自動設定で使用するフックスクリプトは,仮想サーバマネージャによってテンプレートが提供されています。このテンプレートを利用すると,JP1製品と連携したアプリケーション実行環境の構築時に,JP1製品の環境設定作業を効率良く実行できます。
フックスクリプトでは,次に示すJP1製品のプログラムに対して環境設定処理を自動的に実行できます。
-
JP1/Base(JP1/IM連携時)
-
JP1/PFM - Agent for Cosminexus(JP1/PFM連携時)
- 注意事項
-
ここで説明する機能は,次の条件を満たしていることを前提としています。
-
環境設定処理を自動化するJP1製品のプログラムがインストールされていること
-
管理ユニットに登録したすべての仮想サーバに対して,Windowsの場合はAdministrator権限,Linuxの場合はroot権限のある同一のユーザで操作できること
-
フックスクリプトによる仮想サーバ上のJP1製品に対する環境設定処理の流れを次の図に示します。ここでは,管理ユニットAに属する仮想サーバに対するフックスクリプトを編集して実行するまでの流れを示します。
図中の番号に対応する処理について説明します。
-
システム構築者は,フックスクリプトのテンプレートを編集し,定義ディレクトリに格納します。
-
システム構築者は,管理ユニットAを作成し,管理ユニットAへ定義ディレクトリを取り込みます。
-
システム構築者は,管理ユニットAに属する仮想サーバに手順2.で取り込んだ定義ディレクトリを一括反映します。仮想サーバマネージャでは,フックスクリプトを各仮想サーバに配布し,実行します。
-
各仮想サーバでは,フックスクリプトの設定に従って,JP1製品のプログラムに対して環境設定処理が自動的に実行されます。フックスクリプトの処理が成功するとアプリケーションサーバが構築されます。
- 〈この項の構成〉
(1) 設定方法
JP1連携の自動設定で使用するフックスクリプトは,仮想サーバマネージャによってテンプレートが提供されています。このテンプレートを編集して設定する方法について説明します。
(a) フックスクリプトのテンプレート
フックスクリプトのテンプレートファイル(pre-setup.batまたはpre-setup)は,次の場所に格納されています。テンプレートファイルを任意の場所にコピーして,フックスクリプトを編集してください。
- ゲストOSがWindowsの場合
-
<Application Serverのインストールディレクトリ>\manager\vmi\templates\pre-setup.bat
- ゲストOSがLinuxの場合
-
<Application Serverのインストールディレクトリ>/manager/vmi/templates/pre-setup
なお,JP1連携の自動設定以外の処理をフックスクリプトに設定したい場合は,テンプレートにその処理内容を加えて,一つのフックスクリプトファイルを作成してください。
(b) フックスクリプトの編集
フックスクリプトのテンプレートの設定例と,設定内容について説明します。連携するJP1製品に必要な情報をパラメタで指定してください。
-
仮想サーバのゲストOSごとにテンプレートの設定例を示します。
ゲストOSがWindowsの場合(pre-setup.bat)の設定例
rem ------------------------------------------------------------------------ rem Parameters for user settings [for linking to JP1/IM] rem JP1IM_SETUP : JP1/IM settings (ON: Configure; OFF: Do not configure) rem JP1BASE_HOME : JP1/Base installation directory rem JP1IMM_HOST : JP1/IM - Manager host name rem JP1IMM_IP : JP1/IM - Manager IP address rem USERMAPPING : User mapping settings (ON: Configure; OFF: Do not configure) rem JP1USERID : JP1 user (Only required when USERMAPPING=ON.) rem GUESTOS_USERID: Guest OS login user (Only required when USERMAPPING=ON.) rem GUESTOS_PASSWD: Guest OS login password (Only required when USERMAPPING=ON.) rem LOGFILE_TRAP : Log file trapping function settings (Only available in JP1 V9.1 or later. ON: Configure; OFF: Do not configure) rem ----------------------------------------------------------------------- set JP1IM_SETUP=ON set JP1BASE_HOME=%ProgramFiles%\Hitachi\JP1Base set JP1IMM_HOST=immserver set JP1IMM_IP=192.168.0.1 set USERMAPPING=ON set JP1USERID=jp1admin set GUESTOS_USERID=Administrator set GUESTOS_PASSWD=adminpasswd set LOGFILE_TRAP=ON rem >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> rem Specify the output directories of the logs to monitor via the log file trapping function. rem To monitor log files related to HTTP Server/the J2EE server, uncomment the following parameters, rem and specify the appropriate directories. rem (Only valid when LOGFILE_TRAP=ON.) rem MNGMLOGDIR : Manager log output directory rem HWSLOGDIR : HTTP Server log output directory rem HWSRDLOGDIR : HTTP Server redirector log output directory rem J2EELOGDIR : J2EE server log output directory rem J2EERCLOGDIR: Output directory for the J2EE server resource adapter operation logs rem TRAPLOG_DB : Type of database connection logs to trap (HiRDB/Oracle/SQLServer/NONE) rem (Only required when J2EERCLOGDIR is specified.) rem >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> set MNGMLOGDIR=%COSMINEXUS_HOME%\manager\log\message rem set HWSLOGDIR=<HTTP Server log output directory> rem set HWSRDLOGDIR=<HTTP Server redirector log output directory> rem set J2EELOGDIR=<J2EE server log output directory> rem set J2EERCLOGDIR=<J2EE server log output directory>\connectors rem set TRAPLOG_DB=NONE rem ------------------------------------------------------------------------ rem Parameters for user settings [for linking to JP1/PFM] rem JP1PFM_SETUP: JP1/PFM settings (ON: Configure; OFF: Do not configure) rem JP1PFM_HOME : JP1/FPM - Agent installation directory rem JP1PFMM_HOST: JP1/PFM - Manager host name rem JP1PFMM_IP : JP1/PFM - Manager IP address rem BACKUPDIR : Backup directory for the jpcconf host hostmode command rem ------------------------------------------------------------------------ set JP1PFM_SETUP=ON set JP1PFM_HOME=%ProgramFiles%\Hitachi\jp1pc set JP1PFMM_HOST=pfmmserver set JP1PFMM_IP=192.168.0.2 set BACKUPDIR=C:\backup rem ------------------------------------------------------------------------ rem Parameter for user settings [common to JP1 products] rem SCRIPT_TRACE: Trace file for this script (specified as an absolute path) rem ------------------------------------------------------------------------ set SCRIPT_TRACE=%COSMINEXUS_HOME%\manager\log\jp1setupscript.log
ゲストOSがLinuxの場合(pre-setup)の設定例
# ------------------------------------------------------------------------ # Parameters for user settings [for linking to JP1/IM] # JP1IM_SETUP : JP1/IM settings (ON: Configure; OFF: Do not configure) # JP1IMM_HOST : JP1/IM - Manager host name # JP1IMM_IP : JP1/IM - Manager IP address # USERMAPPING : User mapping settings (ON: Configure; OFF: Do not configure) # JP1USERID : JP1 user (Only required when USERMAPPING=ON.) # GUESTOS_USERID: Guest OS login user (Only required when USERMAPPING=ON.) # LOGFILE_TRAP : Log file trapping function settings (Only available in JP1 V9.1 or later. ON: Configure; OFF: Do not configure) # ----------------------------------------------------------------------- JP1IM_SETUP=ON JP1IMM_HOST=immserver JP1IMM_IP=192.168.0.1 USERMAPPING=ON JP1USERID=jp1admin GUESTOS_USERID=root LOGFILE_TRAP=ON # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> # Specify the output directories of the logs to monitor via the log file trapping function. # To monitor log files related to HTTP Server/the J2EE server, uncomment the following parameters, # and specify the appropriate directories. # (Only valid when LOGFILE_TRAP=ON.) # MNGMLOGDIR : Manager log output directory # HWSLOGDIR : HTTP Server log output directory # HWSRDLOGDIR : HTTP Server redirector log output directory # J2EELOGDIR : J2EE server log output directory # J2EERCLOGDIR: Output directory for the J2EE server resource adapter operation logs # TRAPLOG_DB : Type of database connection logs to trap (HiRDB/Oracle/SQLServer/NONE) # (Only required when J2EERCLOGDIR is specified.) # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MNGMLOGDIR=/opt/Cosminexus/manager/log/message #HWSLOGDIR=<HTTP Server log output directory> #HWSRDLOGDIR=<HTTP Server redirector log output directory> #J2EELOGDIR=<J2EE server log output directory> #J2EERCLOGDIR=<J2EE server log output directory>/connectors #TRAPLOG_DB=NONE # ------------------------------------------------------------------------ # Parameters for user settings [for linking to JP1/PFM] # JP1PFM_SETUP: JP1/PFM settings (ON: Configure; OFF: Do not configure) # JP1PFMM_HOST: JP1/PFM - Manager host name # JP1PFMM_IP : JP1/PFM - Manager IP address # BACKUPDIR : Backup directory for the jpcconf host hostmode command # ------------------------------------------------------------------------ JP1PFM_SETUP=ON JP1PFMM_HOST=pfmmserver JP1PFMM_IP=192.168.0.2 BACKUPDIR=/tmp/backup # ------------------------------------------------------------------------ # Parameter for user settings [common to JP1 products] # SCRIPT_TRACE: Trace file for this script (specified as an absolute path) # ------------------------------------------------------------------------ SCRIPT_TRACE=/opt/Cosminexus/manager/log/jp1setupscript.log
-
フックスクリプトのテンプレートの設定内容を次の表に示します。連携するJP1製品に必要な情報をパラメタで指定してください。
表7‒5 フックスクリプトのテンプレートの設定内容 項番
連携するJP1製品
パラメタ名
説明
初期値
IM
PFM
1
○
○
SCRIPT_TRACE
フックスクリプトで出力するトレースファイル名を絶対パスで指定します。
トレースファイルには,フックスクリプトで実行するコマンドやファイルの操作が記録されます。このファイルは,フックスクリプトが実行されると出力され,同一のファイル名がある場合は削除してから新たに出力されます。
-
Windowsの場合
%COSMINEXUS_HOME%\manager\log\jp1setupscript.log
-
Linuxの場合
/opt/Cosminexus/manager/log/ jp1setupscript.log
2
○
−
JP1IM_SETUP
JP1/IM連携の自動設定を有効にするかどうかを指定します。
- ON:
-
自動設定を有効にします。
- OFF:
-
自動設定を無効にします。
OFF
3
○※1
−
JP1BASE_HOME
仮想サーバ上のJP1/Baseのインストールディレクトリを絶対パスで指定します。
%ProgramFiles%\Hitachi\JP1Base
4
○
−
JP1IMM_HOST
JP1/IM - Managerがインストールされているマシンのホスト名を指定します。
なし
5
○
−
JP1IMM_IP
JP1/IM - Managerがインストールされているマシン(ホスト)のIPアドレスを指定します。
なし
6
○
−
USERMAPPING
JP1/Baseのユーザマッピングを設定するかどうかを指定します。
- ON:
-
JP1/Baseのユーザマッピングを設定します。仮想サーバ上で,JP1/IM - Managerがインストールされているマシン(ホスト)のOSユーザ(JP1ユーザー)と,仮想サーバに設定されているゲストOSユーザを対応づけます。
- OFF:
-
JP1/Baseのユーザマッピングは設定しません。
OFF
7
○
−
JP1USERID
仮想サーバのJP1製品に対する操作を許可するJP1ユーザーを指定します。すべてのユーザが操作できるようにする場合は,「*」を指定します。
USERMAPPING=ON指定時に有効です。
jp1admin
8
○
−
GUESTOS_USERID
仮想サーバのゲストOSに対するユーザIDを指定します。
USERMAPPING=ON指定時に有効です。
-
Windowsの場合
Administrator
-
Linuxの場合
root
9
○※1
−
GUESTOS_PASSWD
仮想サーバのゲストOSに対するユーザID(GUESTOS_USERID)で指定したユーザのパスワードを指定します。
USERMAPPING=ON指定時に有効です。
なし
10
○
−
LOGFILE_TRAP※2
アプリケーションサーバが出力するログに対して,JP1/Baseのログファイルトラップを設定するかどうかを指定します。
- ON:
-
次のログに対してログファイルトラップを設定します。
-
Managerのメッセージログ(ログファイルのデフォルトの面数を監視します)
なお,テンプレートでは,次のログに対するログファイルトラップの設定は無効になっています。必要に応じて,フックスクリプトを編集してください。
-
HTTP Serverのエラーログ
-
J2EEサーバのメッセージログ
-
J2EEサーバのリソースアダプタの稼働ログ
-
- OFF:
-
ログファイルトラップは設定しません。
OFF
11
○
−
MNGMLOGDIR
JP1/Baseのログファイルトラップで監視するManagerのメッセージログが出力されるディレクトリを絶対パスで指定します。
LOGFILE_TRAP=ON指定時に有効です。
-
Windowsの場合
<Application Serverのインストールディレクトリ>\manager\log\message
-
Linuxの場合
/opt/Cosminexus/manager/log/message
12
○
−
HWSLOGDIR
JP1/Baseのログファイルトラップで監視するHTTP Serverのエラーログが出力されるディレクトリを絶対パスで指定します。
LOGFILE_TRAP=ON指定時に有効です。
コメント
13
○
−
J2EELOGDIR
JP1/Baseのログファイルトラップで監視するJ2EEサーバのメッセージログが出力されるディレクトリを絶対パスで指定します。
LOGFILE_TRAP=ON指定時に有効です。
コメント
14
○
−
J2EERCLOGDIR
JP1/Baseのログファイルトラップで監視するJ2EEサーバのリソースアダプタの稼働ログが出力されるディレクトリを絶対パスで指定します。
LOGFILE_TRAP=ON指定時に有効です。
コメント
15
○
−
TRAPLOG_DB
JP1/Baseのログファイルトラップで監視するJ2EEサーバのリソースアダプタの稼働ログのうち,トラップの対象とするデータベースの種類を指定します。
LOGFILE_TRAP=ONおよびJ2EERCLOGDIRで絶対パス指定時に有効です。
- HiRDB:
-
DB_Connector_for_HiRDB_Type4[n].logをトラップします。
- Oracle:
-
DB_Connector_for_Oracle[n].logをトラップします。
- SQLServer:
-
DB_Connector_for_SQLServer[n].logをトラップします。
- NONE:
-
DB Connectorのログはトラップしません。
なお,HiRDB,OracleおよびSQLServer以外を指定した場合はすべてNONEと見なします。
コメント
16
−
○
JP1PFM_SETUP
JP1/PFM連携の自動設定を有効にするかどうかを指定します。
- ON:
-
自動設定を有効にします。
- OFF:
-
自動設定を無効にします。
OFF
17
−
○※1
JP1PFM_HOME
仮想サーバ上のJP1/PFM - Agentのインストールディレクトリを絶対パスで指定します。
%ProgramFiles%\Hitachi\jp1pc
18
−
○
JP1PFMM_HOST
JP1/PFM - Managerがインストールされているマシンのホスト名を指定します。
なし
19
−
○
JP1PFMM_IP
JP1/PFM - Managerがインストールされているマシン(ホスト)のIPアドレスを指定します。
なし
20
−
○
BACKUPDIR
JP1/PFMの監視ホスト名の取得方法を変更する際のバックアップディレクトリを指定します。
なし
-
(2) 実行方法と実行結果
フックスクリプト機能は,「7.4.3 管理ユニットに属する仮想サーバへの定義ディレクトリの反映」から呼び出されます。フックスクリプトの実行タイミングについては,「7.7.1(2) 実行方法」を参照してください。
(a) 実行方法
フックスクリプト機能が呼び出されると,フックスクリプトファイルに設定された内容に従って,JP1連携の自動設定処理が実行されます。JP1製品ごとに自動設定処理で実行される内容を次に示します。また,作成したフックスクリプトをテスト環境であらかじめ実行しておくこともできます。
-
JP1/IM連携の自動設定を有効(JP1IM_SETUP=ON指定時)にすると,仮想サーバ上のJP1/Baseで次の設定が自動的に実行されます。
-
JP1/IM - Managerがインストールされているマシンと仮想サーバで名前解決ができるように設定します。
-
JP1/Baseでユーザマッピングの設定をします。
フックスクリプトでUSERMAPPING=ON指定時に実行されます。
-
JP1/Baseにアダプタコマンドを設定します。
-
JP1/BaseがOS起動時に自動起動,およびOS停止時に自動停止するように設定します。
-
JP1/Baseでログファイルトラップの設定をします。
フックスクリプトでLOGFILE_TRAP=ON指定時に実行されます。
-
JP1/Baseを起動します。
-
-
JP1/PFM連携の自動設定を有効(JP1PFM_SETUP=ON指定時)にすると,仮想サーバ上のJP1/PFM - Agent for Cosminexusで次の設定が自動的に実行されます。
-
JP1/PFM - Managerがインストールされているマシンと仮想サーバで名前解決ができるように設定します。
-
監視対象の名前にホスト名を使用するための設定をします。
-
JP1/PFM - Agent for Cosminexusのインスタンス環境を構築するための設定をします。
-
接続先のJP1/PFM - Managerの設定をします。
-
JP1/PFM - Agent for CosminexusがOS起動時に自動起動,およびOS停止時に自動停止するように設定します。
-
JP1/PFM - Agent for Cosminexusを起動します。
-
-
テンプレートを利用してフックスクリプトを作成した場合,本番環境の管理ユニットで実行する前に,あらかじめテスト環境で実行しておくことをお勧めします。テスト環境で使用した仮想サーバは,必要に応じて削除してください。
テスト環境でのフックスクリプトの実行手順を次に示します。
-
システム構築者は,メールなどを利用して,JP1製品のインストールが完了した仮想サーバのテンプレートから仮想サーバの複製を,リソース管理者に依頼します。
-
リソース管理者は,仮想サーバのテンプレートから仮想サーバの複製を作成し,システム構築者に報告します。
-
システム構築者は,作成したフックスクリプトファイルを複製した仮想サーバに転送します。
-
システム構築者は,フックスクリプトファイルをテキストエディタで開き,ファイルの先頭に次の行を追加します。
VMI_VIRTUALID=<仮想サーバのIPアドレス>
(例)仮想サーバのIPアドレスが192.168.101.11の場合の設定例
VMI_VIRTUALID=192.168.101.11
-
システム構築者は,仮想サーバ上でフックスクリプトを実行します。
-
システム構築者は,フックスクリプトの戻り値を確認します。
戻り値が0の場合は,フックスクリプトが正常終了していることを示します。戻り値が64の場合は,フックスクリプトのエラー原因を調査し,戻り値が0になるまで,テストを繰り返してください。
-
(b) 実行結果
フックスクリプトのテンプレートでは,フックスクリプトで実行するコマンドやファイルの操作を記録するために,トレースファイルを出力するように実装されています。また,フックスクリプトの実行中にエラーが発生した場合には,戻り値に64を返すように実装されています。
-
トレースファイルは,SCRIPT_TRACEパラメタで指定したファイル名で出力されます。フックスクリプトが実行されると出力され,同一のファイル名がある場合はそのファイルを削除してから新たに出力されます。
トレースファイルのデフォルトの出力先を次に示します。
- ゲストOSがWindowsの場合
-
<Application Serverのインストールディレクトリ>\manager\log\jp1setupscript.log
- ゲストOSがLinuxの場合
-
/opt/Cosminexus/manager/log/ jp1setupscript.log
-
トレースファイルには,自動設定処理で実行される内容ごとにトレース情報(処理内容(コメント),実行するコマンド,および実行結果(成功または失敗))が出力されます。処理中にエラーが発生した場合は,エラーが発生した処理以降のトレース情報は出力されません。
トレース情報の出力形式と出力例を次に示します。
- トレース情報の出力形式
<実行日時>△<ステータス>△<メッセージ>
(凡例)
△:半角スペースを示します。
<実行日時>:メッセージ出力日時(YYYY/MM/DD hh:mm:ss)が出力されます。
<ステータス>:INFOまたはERRORが出力されます。
<メッセージ>:メッセージ本文が出力されます。ステータスがINFOの場合は,コメントまたは実行するコマンドなどの情報が出力されます。ステータスがERRORの場合は,エラーメッセージやコマンドの戻り値などの障害情報が出力されます。
- トレースファイルの出力例
2011/01/31 10:23:45 INFO ========== Starting the JP1/PFM service ========== 2011/01/31 10:23:45 INFO The command started. Command=jpcspm start -key all 2011/01/31 10:23:49 ERROR pre-setup.bat: Command failed. jpcspm start, ret=123
(3) 注意事項
次の条件をすべて満たす仮想サーバを構築している場合に,再度,仮想サーバに対して一括反映(vmiunitコマンドのサブコマンド「update」)を実行すると,失敗することがあります。
-
仮想サーバのゲストOSがWindowsである
-
フックスクリプトのテンプレートを使用している
-
JP1/Baseのログファイルトラップを有効(LOGFILE_TRAP=ON)にしている
-
フックスクリプトおよび簡易構築定義ファイルで,J2EEサーバとHTTP Serverのログの出力先にデフォルト値を設定している
この場合,フックスクリプトおよび簡易構築定義ファイルでは,次の表に示す値を設定し,かつ同じ値を設定してください。
分類 |
フックスクリプトのパラメタ |
簡易構築定義ファイルのプロパティ |
設定する値 |
---|---|---|---|
J2EEサーバのログ出力先 |
J2EELOGDIR |
ejb.server.log.directory |
<J2EEサーバの作業ディレクトリ※>以下以外 |
J2EERCLOGDIR |
|||
HTTP Serverのログ出力先 |
HWSLOGDIR |
HttpsdLogFileDirまたはHttpsdErrorLogFileDir |
<HTTP Serverのインストールディレクトリ>\servers\<サーバ名称>ディレクトリ以下以外 |