24.6. oVirt Engine Extension Logger log4j の有効化
ロガー実装には ovirt-engine-extension-logger-log4j パッケージが必要です。この実装により、Red Had Virtualization Manager はレコードを log4j に委譲します。Log4j は、SNMP や syslog などのさまざまなテクノロジーのアペンダーを提供するカスタマイズ可能なフレームワークです。
oVirt Engine Extension Logger log4j は engine.log
ファイルを既存の syslog サーバーに渡します。設定手順は、ホストロギングサーバーの設定 と重複します。
中央の syslog ログサーバーでこの手順を使用します。別のログサーバーを使用するか、この手順を使用して、engine.log
ファイルを Manager から syslog サーバーに渡すことができます。
この拡張機能の syslog サーバーを定義するには、/etc/ovirt-engine/extensions.d ディレクトリーに移動し、Log4jLogger.properties
ファイルの log4j.appender.myappender.SyslogHost
の値を編集します。
syslog 機能を定義するには、/etc/ovirt-engine/extensions.d ディレクトリーに移動し、Log4jLogger.properties
ファイルで log4j.appender.myappender.Facility
の値を編集します。たとえば、log4j.appender.myappender.Facility=local1
です。
oVirt Engine Extension Logger log4j の設定
拡張をインストールします。
# yum install ovirt-engine-extension-logger-log4j
/etc/ovirt-engine/extensions.d/ ディレクトリーに
Log4jLogger.properties
ファイルを作成し、以下の内容を追加します。ovirt.engine.extension.name = log4jlogger ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.logger.Logger ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.logger.log4j ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.logger.log4j.Log4jLogger log4j.rootLogger=DEBUG, myappender log4j.appender.myappender=org.apache.log4j.net.SyslogAppender log4j.appender.myappender.SyslogHost=localhost log4j.appender.myappender.layout=org.apache.log4j.PatternLayout log4j.appender.myappender.layout.ConversionPattern=[%c] %m%n
rsyslog をインストールして設定します。
# yum install rsyslog
rsyslog
トラフィックを許可するように SELinux を設定します。# semanage port -a -t syslogd_port_t -p udp 514
/etc/rsyslog.conf を編集し、以下の行を追加します。
$template TmplAuth, "/var/log/%fromhost%/secure" $template TmplMsg, "/var/log/%fromhost%/messages" $RuleSet remote authpriv.* ?TmplAuth *.info,mail.none;authpriv.none,cron.none ?TmplMsg $RuleSet RSYSLOG_DefaultRuleset $InputUDPServerBindRuleset remote
次の 2 行のコメントを解除します。
#$ModLoad imudp #$UDPServerRun 514
rsyslog
サービスを再起動します。# systemctl restart rsyslog.service
ファイアウォールが有効でアクティブな場合は、次のコマンドを実行して、Firewalld で rsyslog ポートを開くために必要なルールを追加します。
# firewall-cmd --permanent --add-port=514/udp # firewall-cmd --reload
Red Hat Virtualization Manager を再起動します。
# restart ovirt-engine
これで、既存の syslog サーバーは engine.log
ファイルを受け取って保存できるようになります。