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に属する仮想サーバに対するフックスクリプトを編集して実行するまでの流れを示します。
図7-5 フックスクリプトによる仮想サーバ上のJP1製品のプログラムに対する環境設定処理の流れ
![[図データ]](figure/zu070500.gif)
図中の番号に対応する処理について説明します。
- システム構築者は,フックスクリプトのテンプレートを編集し,定義ディレクトリに格納します。
- システム構築者は,管理ユニットAを作成し,管理ユニットAへ定義ディレクトリを取り込みます。
- システム構築者は,管理ユニットAに属する仮想サーバに手順2.で取り込んだ定義ディレクトリを一括反映します。仮想サーバマネージャでは,フックスクリプトを各仮想サーバに配布し,実行します。
- 各仮想サーバでは,フックスクリプトの設定に従って,JP1製品のプログラムに対して環境設定処理が自動的に実行されます。フックスクリプトの処理が成功するとアプリケーションサーバが構築されます。
- <この項の構成>
- (1) 設定方法
- (2) 実行方法と実行結果
- (3) 注意事項
(1) 設定方法
JP1連携の自動設定で使用するフックスクリプトは,仮想サーバマネージャによってテンプレートが提供されています。このテンプレートを編集して設定する方法について説明します。
(a) フックスクリプトのテンプレート
フックスクリプトのテンプレートファイル(pre-setup.batまたはpre-setup)は,次の場所に格納されています。テンプレートファイルを任意の場所にコピーして,フックスクリプトを編集してください。
- ゲストOSがWindowsの場合
- <Cosminexusのインストールディレクトリ>¥manager¥vmi¥templates¥pre-setup.bat
- ゲストOSがLinuxの場合
- <Cosminexusのインストールディレクトリ>/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 Hitachi Web 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 : Hitachi Web Server log output directory
rem HWSRDLOGDIR : Hitachi Web 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=<Hitachi Web Server log output directory>
rem set HWSRDLOGDIR=<Hitachi Web 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 Hitachi Web 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 : Hitachi Web Server log output directory
# HWSRDLOGDIR : Hitachi Web 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=<Hitachi Web Server log output directory>
#HWSRDLOGDIR=<Hitachi Web 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のメッセージログ(ログファイルのデフォルトの面数を監視します)
- なお,テンプレートでは,次のログに対するログファイルトラップの設定は無効になっています。必要に応じて,フックスクリプトを編集してください。
- Hitachi Web Serverのエラーログ
- Hitachi Web Serverのリダイレクタログ
- J2EEサーバのメッセージログ
- J2EEサーバのリソースアダプタの稼働ログ
- OFF:
- ログファイルトラップは設定しません。
| OFF |
11 | ○ | - | MNGMLOGDIR | JP1/Baseのログファイルトラップで監視するManagerのメッセージログが出力されるディレクトリを絶対パスで指定します。 LOGFILE_TRAP=ON指定時に有効です。 | - Windowsの場合
<Cosminexusのインストールディレクトリ>¥manager¥log¥message
- Linuxの場合
/opt/Cosminexus/manager/log/message
|
12 | ○ | - | HWSLOGDIR | JP1/Baseのログファイルトラップで監視するHitachi Web Serverのエラーログが出力されるディレクトリを絶対パスで指定します。 LOGFILE_TRAP=ON指定時に有効です。 | コメント |
13 | ○ | - | HWSRDLOGDIR | JP1/Baseのログファイルトラップで監視するHitachi Web Serverのリダイレクタログが出力されるディレクトリを絶対パスで指定します。 LOGFILE_TRAP=ON指定時に有効です。 | コメント |
14 | ○ | - | J2EELOGDIR | JP1/Baseのログファイルトラップで監視するJ2EEサーバのメッセージログが出力されるディレクトリを絶対パスで指定します。 LOGFILE_TRAP=ON指定時に有効です。 | コメント |
15 | ○ | - | J2EERCLOGDIR | JP1/Baseのログファイルトラップで監視するJ2EEサーバのリソースアダプタの稼働ログが出力されるディレクトリを絶対パスで指定します。 LOGFILE_TRAP=ON指定時に有効です。 | コメント |
16 | ○ | - | 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_SQLServer2005[n].logをトラップします。
- NONE:
- DB Connectorのログはトラップしません。
なお,HiRDB,OracleおよびSQLServer以外を指定した場合はすべてNONEと見なします。 | コメント |
17 | - | ○ | JP1PFM_SETUP | JP1/PFM連携の自動設定を有効にするかどうかを指定します。
- ON:
- 自動設定を有効にします。
- OFF:
- 自動設定を無効にします。
| OFF |
18 | - | ○※1 | JP1PFM_HOME | 仮想サーバ上のJP1/PFM - Agentのインストールディレクトリを絶対パスで指定します。 | %ProgramFiles%¥Hitachi¥jp1pc |
19 | - | ○ | JP1PFMM_HOST | JP1/PFM - Managerがインストールされているマシンのホスト名を指定します。 | なし |
20 | - | ○ | JP1PFMM_IP | JP1/PFM - Managerがインストールされているマシン(ホスト)のIPアドレスを指定します。 | なし |
21 | - | ○ | BACKUPDIR | JP1/PFMの監視ホスト名の取得方法を変更する際のバックアップディレクトリを指定します。 | なし |
- (凡例)
- IM:JP1/IM
- PFM:JP1/PFM
- ○:設定できます。
- -:該当しません。
- 注※1
- 仮想サーバのゲストOSがWindowsの場合に設定できます。
- 注※2
- 仮想サーバ上のJP1/Baseのバージョンが09-10以降の場合に設定できます。JP1/Baseのバージョンが09-10より前の場合に,ログファイルトラップの設定をするときは,仮想サーバのテンプレートにあらかじめ設定しておいてください。仮想サーバのテンプレートについては,「5.2.1 仮想サーバのテンプレートの作成と初期設定」を参照してください。
(2) 実行方法と実行結果
フックスクリプト機能は,「7.4.3 管理ユニットに属する仮想サーバへの定義ディレクトリの反映」から呼び出されます。フックスクリプトの実行タイミングについては,「7.7.1(2) 実行方法と実行結果」を参照してください。
(a) 実行方法
フックスクリプト機能が呼び出されると,フックスクリプトファイルに設定された内容に従って,JP1連携の自動設定処理が実行されます。JP1製品ごとに自動設定処理で実行される内容を次に示します。また,作成したフックスクリプトをテスト環境であらかじめ実行しておくこともできます。
●JP1/IM連携時の実行内容
JP1/IM連携の自動設定を有効(JP1IM_SETUP=ON指定時)にすると,仮想サーバ上のJP1/Baseで次の設定が自動的に実行されます。
- JP1/IM - Managerがインストールされているマシンと仮想サーバで名前解決ができるように設定します。
- JP1/Baseでユーザマッピングの設定をします。
フックスクリプトでUSERMAPPING=ON指定時に実行されます。
- JP1/BaseにCosminexusアダプタコマンドを設定します。
- JP1/BaseがOS起動時に自動起動,およびOS停止時に自動停止するように設定します。
- JP1/Baseでログファイルトラップの設定をします。
フックスクリプトでLOGFILE_TRAP=ON指定時に実行されます。
- JP1/Baseを起動します。
●JP1/PFM連携時の実行内容
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の場合
- <Cosminexusのインストールディレクトリ>¥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サーバとHitachi Web Serverのログの出力先にデフォルト値を設定している
この場合,フックスクリプトおよび簡易構築定義ファイルでは,次の表に示す値を設定し,かつ同じ値を設定してください。
分類 | フックスクリプトのパラメタ | 簡易構築定義ファイルのプロパティ | 設定する値 |
---|
J2EEサーバのログ出力先 | J2EELOGDIR | ejb.server.log.directory | <J2EEサーバの作業ディレクトリ※>以下以外 |
J2EERCLOGDIR |
Hitachi Web Serverのログ出力先 | HWSLOGDIR | HttpsdLogFileDirまたはHttpsdErrorLogFileDir | <Hitachi Web Serverのインストールディレクトリ>¥servers¥<サーバ名称>ディレクトリ以下以外 |
HWSRDLOGDIR | JkLogFileDir |
注※ J2EEサーバの作業ディレクトリについては,マニュアル「Cosminexus アプリケーションサーバ システム構築・運用ガイド」の「7.10 J2EEサーバの作業ディレクトリ」を参照してください。