Controlling logging

フェールオーバーマネージャーは、エージェントごとに1つのログファイルと、エージェントごとに1つの起動ログを/var/log/<cluster_name>-4 に書き込んで保存します。

The cluster properties file の jgroups.loglevel および efm.loglevel

パラメーターを変更することにより、エージェントログに書き込まれる詳細レベルを制御できます。

#  Logging levels for JGroups and EFM.

#  Valid values are: TRACE, DEBUG, INFO, WARN, ERROR

#  Default value: INFO

#  It is not necessary to increase these values unless debugging a

#  specific issue. If nodes are not discovering each other at

#  startup, increasing the jgroups level to DEBUG will show

#  information about the TCP connection attempts that may help

#  diagnose the connection failures.

jgroups.loglevel=INFO
efm.loglevel=INFO

ロギング機能は、Javaロギングライブラリとロギングレベルを使用します。ログレベルは、ログ出力の多いものから順に、次のとおりです。

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

たとえば、 efm.loglevel パラメーターをWARN に設定すると、フェールオーバーマネージャーはWARN レベル以上、つまりWARN およびERROR のメッセージのみをログに記録します。

既定では、フェールオーバーマネージャーのログファイルは毎日ローテーションされ、圧縮され、1週間保存されます。ログローテーションファイル(/etc/logrotate.d/efm-4.<x> )の設定を変更することにより、ファイルローテーションスケジュールを変更できます。ログローテーションスケジュールの変更の詳細については、logrotateのマニュアルページを参照してください。

$ man logrotate

syslogログファイルエントリの有効化

フェールオーバーマネージャーは、syslogロギングをサポートしています。 syslogロギングを実装するには、syslogを構成してUDPまたはTCP接続を許可する必要があります。

syslogへの接続を許可するには、 /etc/rsyslog.conf ファイルを編集し、使用するプロトコルのコメントを外します。また、プロトコルに関連付けられているUDPServerRun またはTCPServerRun エントリーに、ログエントリーの送信先のポート番号が含まれていることを確認してください。たとえば、次の構成ファイルエントリは、ポート514へのUDP接続を有効にします。

#  Provides UDP syslog reception

$ModLoad imudp
$UDPServerRun 514

次の構成ファイルエントリにより、ポート514へのTCP接続が有効になります。

#  Provides TCP syslog reception

$ModLoad imtcp
$InputTCPServerRun 514

syslog構成ファイルを変更した後、rsyslog サービスを再起動して接続を有効にします。

systemctl restart rsyslog.service

フェールオーバーマネージャーホスト上のrsyslog.conf ファイルを変更した後、フェールオーバーマネージャーのプロパティを変更してログ記録を有効にします。エディターの選択を使用して、実装するロギングのタイプを指定して modify the properties file /etc/edb/efm-4.<x>/efm.properties.in します。

#  Which logging is enabled.

file.log.enabled=true
syslog.enabled=false

システムに specify syslog details も必要です。 syslog.protocol パラメーターを使用してプロトコルタイプ(UDPまたはTCP)を指定し、 syslog.port パラメーターを使用してsyslogホストのリスナーポートを指定します。 syslog.facility 値を、エントリを作成したプロセスの識別子として使用できます。 LOCAL0 とLOCAL7 の間の値を使用してください。

#  Syslog information. The syslog service must be listening # on the

 port for the given protocol, which can be UDP or
#  TCP. The facilities supported are LOCAL0 through LOCAL7.

#  syslog.host=localhost

syslog.port=514
syslog.protocol=UDP
syslog.facility=LOCAL1

syslogの詳細については、syslogのマニュアルページを参照してください。

syslog man