24.6. 启用 oVirt Engine Extension Logger log4j
日志记录器实施需要 ovirt-engine-extension-logger-log4j 软件包。通过实施,Red Hat 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 目录,并编辑 log4j.appender.myappender.myappender
的值。
.
SyslogHost
要定义 syslog 工具,请导航到 /etc/ovirt-engine/extensions.d 目录,并编辑 Log
文件中的值。例如,4j.appender.myappender.Facility 文件中的 log
4jLogger.propertieslog4j.appender.myappender.Facility=local1
。
配置 oVirt Engine Extension Logger log4j
安装 扩展名。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install ovirt-engine-extension-logger-log4j
# yum install ovirt-engine-extension-logger-log4j
在 /etc/ovirt-engine/extensions.d/ 目录中创建
Log4jLogger.properties
文件,并包含以下内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install rsyslog
# yum install rsyslog
配置 SELinux 以允许
rsyslog
流量。Copy to Clipboard Copied! Toggle word wrap Toggle overflow semanage port -a -t syslogd_port_t -p udp 514
# semanage port -a -t syslogd_port_t -p udp 514
编辑 /etc/rsyslog.conf 并添加以下行:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow $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
$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
取消注释以下两行:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow #$ModLoad imudp #$UDPServerRun 514
#$ModLoad imudp #$UDPServerRun 514
重启
rsyslog
服务:Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart rsyslog.service
# systemctl restart rsyslog.service
如果启用了防火墙并处于活动状态,请运行以下命令添加在 Firewalld 中打开 rsyslog 端口所需的规则。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow firewall-cmd --permanent --add-port=514/udp firewall-cmd --reload
# firewall-cmd --permanent --add-port=514/udp # firewall-cmd --reload
重启 Red Hat Virtualization Manager。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow restart ovirt-engine
# restart ovirt-engine
现有的 syslog 服务器现在可以接收和存储 engine.log
文件。