一、问题描述
早上在巡检一套新升级到Oracle 19C的RAC库时,发现节点二的grid用户不停的将审计信息写入到/var/log/messages里,导致该文件记录了大量非操作系统日志,影响到了系统的正常监控,对于日常排查系统问题也不方便。
于是又查看了这套RAC的另一个节点,发现该节点grid用户审计日志正常,grid用户的审计日志信息可以正常记录到/var/log/oraasmaudit.log文件。第一次遇到这种情况,认证思索了下到底是哪方面出现了问题,该如何排查处理呢?
二、问题排查
之前运维经常关注Oracle用户下的审计,grid用户的这个审计之前确实没太过于关注过。
于是分别登陆Oracle 19C grid用户和oracle用户,查看两个用户下审计相关参数。
grid和oracle两个用户查询到的审计参数分别如下:
再对了下另一套Oracle 11g 数据库,发现11G 数据库 grid和oracle用户审计参数确实和Oracle 19C 数据库有些差别,Oracle 11g数据库grid和oracle用户的审计参数分别如下:
经过对比,发现Oracle 19C grid除了其它参数不同,还多了 audit_syslog_level=LOCAL0.INFO这个参数,之前没关注过,于是上网查询了相关资料,对此是这么解释的:通过UNIX系统级的日志组件来进行审计对防止黑客侵入和“内鬼“捣乱都很有效
然后查阅MOS资料及对比两个节点信息差异, /etc/rsyslog.conf 文件最下方有如下信息:
local0.info /var/log/oraasmaudit.log
local1.info /var/log/oraiosaudit.log
local2.info /var/log/oraapxaudit.log
但对比两个节点,发现19C RAC 节点一/var/log下有上述三个日志文件,而节点二这三个日志文件都不存在,两个节点显示rsyslog服务都是开启着
跟进上面查询到的信息,问题可能是因该原因导致。
三、问题处理
于是手工在Oracle 19C RAC 节点二创建了上述那三个日志文件,并重启了下syslog服务,重启服务后显示grid审计日志已不再/var/log/messages里记录,也正常记录到/var/log/oraasmaudit.log文件了。
处理过程如下:
#使用root用户修改syslog配置文件(修改1行,新增3行)
vi /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none;local0.none;local1.none;local2.none /var/log/messages #修改
local0.info /var/log/oraasmaudit.log # 手工新增内容
local1.info /var/log/oraiosaudit.log # 手工新增内容
local2.info /var/log/oraapxaudit.log # 手工新增内容
#然后从其他正常节点拷贝如下三个文件(用于日志保留周期管理)
vi /etc/logrotate.d/oraasmaudit
vi /etc/logrotate.d/oraiosaudit
vi /etc/logrotate.d/oraapxaudit
#重启syslog服务
systemctl restart rsyslog.service
问题处理了,也算学到了一点知识。