2.12. syslogdイベントログを設定する

/etc/syslog.confファイルを編集して、/var/log/messagesログファイル以外のファイルにイベントを記録するようにクラスタを設定することができます。別のファイルにクラスタメッセージを記録することで、問題をより明確に診断することができます。

メンバは、syslogdデーモンを使用して、/etc/syslog.confで指定されているファイルにクラスタ関連イベントを記録します。ログファイルにより、クラスタの問題を診断することができます。syslogdデーモンが実行されているメンバのクラスタメッセージだけをsyslogdデーモンがログに記録するようにイベントロギングを設定することをお勧めします。 このため、すべてのメンバでログファイルを確認してクラスタ全体を把握する必要があります。

syslogdデーモンはクラスタデーモンからのメッセージを記録し、 すべて重大度レベル4(警告)にデフォルト設定します。 クラスタデーモンに関する詳細は、項2.6を参照してください。

イベントの重要性は、ログエントリの重要度を決定します。重要なイベントは、それらがクラスタのアベイラビリティ(可用性)に影響を与える前に調査する必要があります。クラスタは、以下の重要度レベルでメッセージをログに記録できます(重要度が高い順に示しています)。

ログファイルのエントリの例を以下に示します。

Jul 18 20:24:39 clu1 clufence[7397]: <info> STONITH: rps10 at /dev/ttyS0,\
	  port 0 controls clu1 
Jul 18 20:24:39 clu1 clufence[7397]: <info> STONITH: rps10 at /dev/ttyS0,\
	  port 1 controls clu2
Jul 18 20:24:53 clu1 clufence[7397]: Port 0 being turned off.
Jul 18 20:24:53 clu1 clufence[7397]: <notice> STONITH: clu2 has been fenced! 
Jul 18 20:51:03 clu1 clufence[30780]: <info> STONITH: rps10 at/dev/ttyS0,\
	  port 0 controls clu1
Jul 18 20:51:03 clu1 clufence[30780]: <info> STONITH: rps10 at /dev/ttyS0,\
	  port 1 controls clu2
Jul 18 20:51:17 clu1 clufence[30780]: Port 0 being turned on.
Jul 18 20:51:17 clu1 clufence[30780]: <notice> STONITH: clu2 is no longer fenced off. 
     [1]         [2]      [3]               [4]         [5]

ログファイル内の各エントリには、以下の情報が含まれています。

クラスタソフトウェアを設定したら、オプションで/etc/syslog.confファイルを編集して、クラスタがデフォルトのログファイル/var/log/messages以外のファイルにイベントをログするように設定できます。 クラスタユーティリティとデーモンは、local4というsyslogタグを使用してメッセージをログします。クラスタ固有のログファイルを使用することで、クラスタのモニタリングや問題解決が行えるようになります。

クラスタイベントが/var/log/clusterファイルにログされないようにするには、 /etc/syslog.confファイルの以下の行にlocal4.none を追加します。

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;news.none;authpriv.none;local4.none   /var/log/messages

クラスタログ機能にクラスタイベントを/var/log/cluster ファイルにログさせるようにするには、/etc/syslog.conf ファイルに以下のような行を追加します。

#
# Cluster messages coming in on local4 go to /var/log/cluster
#
local4.*                         /var/log/cluster

前の変更を適用するには、service syslog restart コマンドでsyslogdを再起動します。

また、個別のクラスタデーモンがログするイベントの重大度レベルを変更することもできます。詳細については、項2.6、及び syslog.confの man ページを参照してください。

/etc/logrotate.confファイルに指定される頻度に従って クラスタログファイルを交替させるには(デフォルトでは毎週)、 /var/log/cluster/etc/logrotate.d/syslog ファイルの最初の行に追加します。例えば、

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler 
/var/log/boot.log /var/log/cron /var/log/cluster {
   sharedscripts
   postrotate
       /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> 
       /dev/null || true
   endscript
}