■ 本変更の概要
LifeKeeper for Linux v8.0 より、ログシステムが LifeKeeper for Linux 独自のバイナリ形式のログから、
Linux OS において標準的な syslog 機能を通して行われるようになりました。
本変更に伴い、LifeKeeper for Linux v7系以前を対象として作成されたスクリプトを v8.0 以降において使用する場合、出力されるログメッセージについては、スクリプト内のログ出力方法により固定の syslog におけるログレベルを割り当てた上でログ出力を行います。
■ 本変更の詳細
<詳細1> v7系以前のログ出力方法について
v7系以前を対象としたログ出力方法により、
v8.0 以降において割り当てられるログレベルは ERROR と INFO の 2種類があります。
・ERROR レベルとして出力されるログ出力方法
– echo “xxx” > /opt/LifeKeeper/out/log
– log “xxx”
– pl “xxx”
– pt “xxx”
・INFO レベルとして出力されるログ出力方法
– echo “xxx” >&1
– echo “xxx” >&2
上記において echo 以外 (log, pl, pt)の関数は、
LifeKeeper より提供される prfuncs というログ出力ツールを使用します。
prfuncs については後述の<詳細3> をあわせてご参照ください。
<詳細2> v8.0 以降追加されたログ出力方法について
v8.0 以降においてログレベルが ERROR と INFO 以外のログを出力するためには、
LifeKeeper より提供される関数またはコマンドを使用します。
・関数を使用する
関数を使用する場合、ksh を用いて Generic スクリプトを作成する事が前提となります。
以下の logmsg 関数および plogmsg 関数は、
LifeKeeper より提供されるprfuncs というログ出力ツールをスクリプト内で読み込み使用します。
prfuncs については <詳細3> をご参照ください。
2つの関数の違いは以下の通りです
logmsg 関数
ログのみへ出力します。
plogmsg 関数
ログへの出力のほか、perform_action コマンドや GUI からのリソース起動
および停止操作時のメッセージとしても出力されます。
2つの関数は以下のように使用します。引数と意味や順序はどちらも同じです。
引数はすべて指定する必要があります。引数の意味については後述いたします。
logmsg <program> <level> <source> <action> <tag> <mid> <message>
plogmsg <program> <level> <source> <action> <tag> <mid> <message>
・コマンドを使用する
ksh 以外 (perl, bash等) を用いて Generic スクリプトを作成することが前提となる場合、
LifeKeeper より提供される lklogmsg コマンドを使用します。
上述の logmsg 関数および plogmsg 関数と同じログ出力を行うためには、
以下ように lklogmsg コマンドを実行します。各引数の意味は上述の関数と同一です。
logmsg 関数と同じ出力を行う
/opt/LifeKeeper/bin/lklogmsg -p <program> -l <level> -s <source> -a <action> -t <tag> -i <mid> — <message>
plogmsg 関数と同じ出力を行う
/opt/LifeKeeper/bin/lklogmsg -o -p <program> -l <level> -s <source> -a <action> -t <tag> -i <mid> — <message>
・関数およびコマンドの引数の意味について
各引数の意味は下記の通りです。
program
関数を実行するスクリプトの名前を指定します。
level が LK_DEBUG である場合は本パラメータに指定されたスクリプト名ではなく、
必ず “lklogmsg” として出力されます。
level
以下のログレベルを指定します。
LK_NOTIFY, LK_FATAL, LK_ERROR, LK_WARN, LK_TRACE, LK_INFO, LK_DEBUG
LK_DEBUG は以下のコマンドにより、
“debug” フラグが作成されている場合にのみログ出力されます。
・フラグ作成
# /opt/LifeKeeper/bin/flg_create -f debug
・フラグ確認
# /opt/LifeKeeper/bin/flg_list
・フラグ削除
# /opt/LifeKeeper/bin/flg_remove -f debug
source
gen を指定します。
action
リソースの動作を指定します。
例 : restore, remove, recover 等
tag
Generic リソースのタグ名を指定します。
mid
6桁のメッセージ ID を指定します。
Generic スクリプトにて使用可能な範囲は 127000-127999 です。
message
メッセージの本文です。
<詳細3> prfuncs について
prfuncs は ksh を用いた Generic スクリプトを作成するにあたり、
LifeKeeper 専用のログ出力関数を提供します。
prfuncs を使用するには、ksh スクリプト内にて以下のファイルを読み込みます。
/opt/LifeKeeper/subsys/actions/prfuncs
■ 本変更に関連した注意事項
上述いたしました変更に関連した注意事項として、Generic スクリプトを使用した環境では、
以下のようにログメッセージが本来示す意味と異なるログレベルで出力される場合があります。
ログ調査の際はログメッセージの本文を十分にご確認ください。
・異常を示すものではないログメッセージが ERROR レベルで出力される
・異常を示すものであるログメッセージが INFO レベルで出力される