高信頼化システム監視機能 HAモニタ HP-UX(IPF)編
サーバの監視コマンドは,プログラムの状態を監視するコマンドです。HAモニタでは,サーバの監視コマンドを作成することによって,サーバ障害時にサーバの再起動や自動系切り替えができます。
ここでは,サーバの監視コマンドが呼び出されるタイミング,およびサーバの監視コマンドの作成方法について説明します。サーバの監視方法の説明については,「3.1.1 モニタモードのサーバの監視」を参照してください。
作成したサーバの監視コマンドは,HAモニタがスーパユーザの権限で実行します。
サーバの監視コマンドは,実行系で実行サーバが起動完了したあとに起動されます。
サーバの監視コマンドのサンプルファイルを,HAモニタサンプルファイル用ディレクトリの下にpatrol.sh というファイル名で格納していますので,必要に応じて利用してください。作成したサーバの監視コマンドは,サーバ対応の環境設定のpatrolcommandオペランドに指定します。
サーバの監視コマンドは,次の点を考慮して作成してください。
次に,Bシェルによる監視コマンドの作成例を示します。
#!/bin/sh
# The object program to monitor
PROGRAM=/home/xxxx/yyyy
# The definition of command
PS=/bin/ps
GREP=/bin/grep
# Main loop
while true
do
# Is the object program to monitor operating ?
EXIST=`$PS -efl | $GREP $PROGRAM | $GREP -v grep`
# When the object program to monitor is not operating,
# the variable EXIST is empty.
if [ "$EXIST" = "" ]
then
# This patrol command terminates, because the object program
# to monitor is not operating.
exit
fi
# The monitoring is continued, because the object program
# to monitor is operating.
sleep 5
done
|
前述のコーディング例では,サーバの監視コマンド内でループを持ち,そのループ内でプログラムのプロセスがあるかどうかを確認します。プロセスの確認には,OSのpsコマンドの出力などを使用します。プログラムのプロセスがあればループを継続し,プロセス生存の確認を続行します。
All Rights Reserved. Copyright (C) 2009, 2010, Hitachi, Ltd.