Cosminexus V9 アプリケーションサーバ 機能解説 運用/監視/連携編
運用管理エージェントのプロセスを監視し,運用管理エージェントと論理サーバを起動および停止するために,次のシェルスクリプトファイルを作成します。
各スクリプトについて説明します。
運用管理エージェントのプロセスを監視するシェルスクリプトファイルの例(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
|
この例では,運用管理エージェントのプロセスが存在しているかどうかを10秒おきに監視しています。
運用管理エージェントを起動するためのシェルスクリプトファイルの例(start.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
}
# 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
exit 0
|
運用管理エージェントと論理サーバを停止するためのシェルスクリプトファイルの例(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 -u admin -p admin \
-t 172.16.12.31 -k host -s stop server
# stop Administration Agent
logg "### $0: stopping Administration Agent. ###"
$MNGDIR/bin/adminagentctl stop
exit 0
|
シェルスクリプトファイルでの設定内容のポイントを説明します。
各J2EEサーバに対してリカバリ処理を実行するためのシェルスクリプトファイルの例(recover.sh)を次に示します。
#!/bin/sh
LOGDIR=/home/manager/hamon/log
PATH=/opt/Cosminexus/CC/server/bin:/bin:/usr/bin:/home/manager/hamon/bin
LD_LIBRARY_PATH=/opt/DABroker/lib:/opt/Cosminexus/jdk/lib:/opt/Cosminexus/TPB/lib:/opt/Cosminexus/PRF/lib:/opt/Cosminexus/CTM/lib:/bin:/opt/HiRDB/client/lib:/opt/oracle/app/oracle/product/10.1.0/client_1/lib:/opt/oracle/app/oracle/product/10.1.0/client_1/lib/libclntsh.so.10.1:/opt/oracle/app/oracle/product/10.1.0/client_1/lib/libclntsh.so
export LD_LIBRARY_PATH
LOCKFILE=/var/lock/kosmi_recover.lock
SLEEP_TIME=60
RETRIES=30
STATUS_PATH=$3/otsstatus
cjlockfile()
{
counter=$2
TMP_LOCK_FILE=`dirname $3`/$$.lock
echo $$ > $TMP_LOCK_FILE
if [ -f $3 ]
then
kill -0 `cat $3` 2>/dev/null || rm -f $3
fi
until ln $TMP_LOCK_FILE $3 2>/dev/null
do
counter=`expr $counter - 1`
if [ $counter -le 0 ]
then
rm -f $TMP_LOCK_FILE
return 1
fi
sleep $1
done
rm -f $TMP_LOCK_FILE
return 0
}
logg()
{
echo `date '+[%Y/%m/%d %H:%M:%S]'`"[$$]: $1" \
>> ${LOGDIR}/adminagent.log 2>&1
}
if cjlockfile ${SLEEP_TIME} ${RETRIES} ${LOCKFILE}
then
logg "### $0: started for $1 ###"
cjstartrecover MyServer -p vbroker.se.iiop_tp.host=$2 \
-p ejbserver.distributedtx.ots.status.directory1=$STATUS_PATH \
-t 600
logg "### $0: ended. $? ###"
fi
rm -f $LOCKFILE
exit 0
|
シェルスクリプトファイルでの設定内容のポイントを説明します。
なお,cjstartrecoverコマンドについては,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjstartrecover(J2EEサーバのトランザクション回復)」を参照してください。ejbserver.distributedtx.ots.status.directory1キーおよびvbroker.se.iiop_tp.hostキーについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.4 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.