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ロギングライブラリとロギングレベルを使用します。ログレベルは、ログ出力の多いものから順に、次のとおりです。
TRACEDEBUGINFOWARNERROR
たとえば、 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