19.6.5 シェルスクリプトファイルの作成

運用管理エージェントのプロセスを監視し,運用管理エージェントと論理サーバを起動および停止するために,次のシェルスクリプトファイルを作成します。

現用系のアプリケーションサーバと予備系のアプリケーションサーバで同一のシェルスクリプトファイルを使用し,同一のパスに配置してください。

<この項の構成>
(1) 運用管理エージェントのプロセスを監視するシェルスクリプトファイル
(2) 運用管理エージェントと論理サーバを起動するシェルスクリプトファイル
(3) 運用管理エージェントと論理サーバを停止するシェルスクリプトファイル

(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コマンドについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「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