Controlling logging#

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

The cluster properties file のjgroups.loglevel 、efm.loglevel 、およびjdbc.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.

#  If there are issues with creating database connections, increasing

#  the jdbc.loglevel level will show more information.

#  TRACE level logging should be used for diagnosing problems only.

#  It is not supported for production use.

jgroups.loglevel=INFO
efm.loglevel=INFO
jdbc.loglevel=INFO

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

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

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

!!!重要 TRACEレベルのログは、特定の問題を診断する場合にのみ使用してください。これにより、Failover Managerエージェントの作業が増加し、このレベルのロギングでの動作は定義されていません。実稼働使用はサポートされていません。

デフォルトでは、フェールオーバーマネージャーログファイルは毎日ローテーション、圧縮され、1週間保存されます。ログローテーションファイル /etc/logrotate.d/efm-5.<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-5.<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のマニュアルページを参照してください。

man syslog