17.6.5 シェルスクリプトファイルの作成
運用管理エージェントのプロセスを監視し,運用管理エージェントと論理サーバを起動および停止するために,次のシェルスクリプトファイルを作成します。
-
運用管理エージェントのプロセスを監視するシェルスクリプトファイル
-
運用管理エージェントと論理サーバを起動するシェルスクリプトファイル
-
運用管理エージェントと論理サーバを停止するシェルスクリプトファイル
現用系のアプリケーションサーバと予備系のアプリケーションサーバで同一のシェルスクリプトファイルを使用し,同一のパスに配置してください。
- 〈この項の構成〉
(1) 運用管理エージェントのプロセスを監視するシェルスクリプトファイル
運用管理エージェントのプロセスを監視するシェルスクリプトファイルの例(manager_adminagent_monitor.sh)を次に示します。
#!/bin/sh LOGDIR=/home/manager/hamon/log AA=/opt/Cosminexus/manager/bin/adminagent logg() { echo `date '+[%Y/%m/%d %H:%M:%S]'`"[$$]: $1" \ >> ${LOGDIR}/adminagent.log 2>&1 } logg "### $0: started. ###" while true do CHECK=`ps -ef | grep $AA | grep -v grep` if [ "$CHECK" = "" ] then logg "### $0: stop. ###" exit 0 fi sleep 10 done
(2) 運用管理エージェントと論理サーバを起動するシェルスクリプトファイル
運用管理エージェントと論理サーバを起動するシェルスクリプトファイルの例(manager_adminagent_start.sh)を次に示します。
#!/bin/sh LOGDIR=/home/manager/hamon/log SCRIPTDIR=/home/manager/hamon/bin MNGDIR=/opt/Cosminexus/manager logg() { echo `date '+[%Y/%m/%d %H:%M:%S]'`"[$$]: $1" \ >> ${LOGDIR}/adminagent.log 2>&1 } # make adminagent.access.info logg "### $0: make adminagent.access.info ###" echo 172.16.12.30:28080,hostA:20295 > $MNGDIR/tmp/adminagent.access.info # start Administration Agent logg "### $0: starting Administration Agent. ###" $MNGDIR/bin/adminagentctl start if [ $? -eq 0 ] ; then logg "### $0: Administration Agent start normally. ###" else logg "### $0: Administration Agent cannot start. ###" exit 1 fi sleep 10 # start logical server logg "### $0: starting logical servers. ###" $MNGDIR/bin/mngsvrutil -m mnghost:28080 -t lserver1 -s start server $MNGDIR/bin/mngsvrutil -m mnghost:28080 -t lserver2 -s start server $MNGDIR/bin/mngsvrutil -m mnghost:28080 -t lserver3 -s start server exit 0
このシェルスクリプトファイルでは,アクセス情報ファイル(/opt/Cosminexus/manager/tmp/adminagent.access.info)※の作成,運用管理エージェントの起動,論理サーバの起動をします。
- 注※
-
アクセス情報ファイルは,運用管理エージェントの起動後に削除され,Management Serverからアクセスがあった場合に再度作成されます。
ここでは,Management Serverからアクセスがあった場合に再度作成される内容と同じになるように設定してください。このファイルによって,系障害発生時に切り替わった場合に各論理サーバが再起動されます。
シェルスクリプトファイルでの設定内容のポイントを次に示します。
- アクセス情報ファイルの作成
-
- 例のシェルスクリプトファイルで該当する記述
echo 172.16.12.30:28080,hostA:20295 > $MNGDIR/tmp/adminagent.access.info
- フォーマット
<Mng_ip>:<Mng_port>,<AA_host>:<AA_port>
設定する内容について次に示します。
-
Mng_ip
Management ServerのあるホストのIPアドレスを指定します。
-
Mng_port
Management Server接続HTTPポート番号を指定します。
-
AA_host
運用管理エージェントのホスト名を指定します。Management Serverの運用管理ポータルの「運用管理ドメインの構成定義」のホストに指定した値を指定してください。
-
AA_port
運用管理エージェントのポート番号を指定します。Management Serverの運用管理ポータルの「運用管理ドメインの構成定義」の運用管理エージェントのポート番号に指定した値を指定してください。
-
- 論理サーバの起動
-
論理サーバを起動するように設定します。
論理サーバの起動にはmngsvrutilコマンドを使用します。mngsvrutilコマンドについては,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「mngsvrutil(Management Serverの運用管理コマンド)」を参照してください。
(3) 運用管理エージェントと論理サーバを停止するシェルスクリプトファイル
運用管理エージェントと論理サーバを停止するシェルスクリプトファイルの例(manager_adminagent_stop.sh)を次に示します。
#!/bin/sh LOGDIR=/home/manager/hamon/log MNGDIR=/opt/Cosminexus/manager logg() { echo `date '+[%Y/%m/%d %H:%M:%S]'`"[$$]: $1" \ >> ${LOGDIR}/adminagent.log 2>&1 } # stop logical server logg "### $0: stop logical servers. ###" $MNGDIR/bin/mngsvrutil -m mnghost:28080 -t lserver3 -s stop server $MNGDIR/bin/mngsvrutil -m mnghost:28080 -t lserver2 -s stop server $MNGDIR/bin/mngsvrutil -m mnghost:28080 -t lserver1 -s stop server # stop Administration Agent logg "### $0: stopping Administration Agent. ###" $MNGDIR/bin/adminagentctl stop