ロギングの制御¶
フェールオーバーマネージャーは、エージェントごとに1つのログファイルを書き込み、エージェントごとに1つの起動ログを/ <cluster_name> log/ <cluster_name> /var/log/<cluster_name>-3.6 ( <cluster_name>はクラスターの名前を指定)に保存します。
クラスタプロパティファイルの 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に設定すると、Failover ManagerはWARNレベル以上( WARNおよびERROR )のメッセージのみをログに記録します。
既定では、フェールオーバーマネージャーのログファイルは毎日ローテーションされ、圧縮され、1週間保存されます。ログローテーションファイル( /etc/logrotate.d/efm-3.6 )の設定を変更することにより、ファイルローテーションスケジュールを変更できます。ログローテーションスケジュールの変更の詳細については、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
Failover Managerホスト上のrsyslog.confファイルを変更した後、Failover Managerのプロパティを変更してロギングを有効にする必要があります。エディタの選択を使用して、プロパティファイル ( /etc/edb/efm-3.6/efm.properties.in )を変更し、実装するロギングのタイプを指定します。
# Which logging is enabled.
file.log.enabled=true
syslog.enabled=false
システムのsyslogの詳細も指定する必要があります 。 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