[20260924]避免oracle audit sys operations记录到messages文件2(补充).txt
--//昨天通过修改/etc/rsyslog.conf文件,找到下划线那行,增加;local0.none;local1.none;local2.none如下内容。
#*.info;mail.none;authpriv.none;cron.none action(type="omfile" file="/var/log/messages")
*.info;mail.none;authpriv.none;cron.none;local0.none;local1.none;local2.none action(type="omfile" file="/var/log/messages")
local0.info /var/log/oracle_audit.log
local1.info /var/log/oracle_unified_audit.log
local2.info /var/log/oracle_unified_audit_common.log
--//这样避免/var/log/messages文件出现oracle sys 操作以及审计操作相关信息,分解记录在上述文件中。
--//突然发现自己的测试环境/var/log/messages文件,反复出现如下信息。理论也可以实现将systemd写入特定的文件。
Sep 23 17:14:40 centos9 systemd[1]: Starting Network Manager Script Dispatcher Service...
Sep 23 17:14:40 centos9 systemd[1]: Started Network Manager Script Dispatcher Service.
Sep 23 17:14:50 centos9 systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully.
--//找到如下链接:
https://fritshoogland.wordpress.com/2019/07/03/getting-rid-of-annoying-repetitive-messages-in-var-log-messages/
--//原始链接存在一个小错误,作者少写一个等号。使用如下命令rsyslogd -N1检查发现错误:
# rsyslogd -N1
rsyslogd: version 8.2510.0-2.el9, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: error during parsing file /etc/rsyslog.d/10-oracle.conf, on or before line 1: syntax error on token '=' [v8.2510.0-2.el9 try https://www.rsyslog.com/e/2207 ]
rsyslogd: could not interpret master config file '/etc/rsyslog.conf'. [v8.2510.0-2.el9 try https://www.rsyslog.com/e/2207 ]
--//正确的修改如下:
# cat /etc/rsyslog.d/10-oracle.conf
if $programname == 'systemd' then /var/log/systemd.log
& stop
--//简单解析:
--// then /var/log/systemd.log ---- 定义了一个动作:写文件
--// & stop ---- 给上一个动作追加一个"停止处理"操作
--//写成一行不行,随时可以使用rsyslogd -N1检查配置是否正确。
--//重启rsyslog.service服务:
# systemctl restart rsyslog.service
--//简单测试:
# logger -p user.info -t systemd "test message"
# tail -1 /var/log/systemd.log
Sep 24 16:21:54 centos9 systemd[3924]: test message
2.继续学习:
--//上网查了一些资料,发现还可以这样写:
# cat /etc/rsyslog.d/10-oracle.conf
:programname, startswith, "systemd" /var/log/systemd.log
& stop
--//这样开始是systemd的进程名都会写入/var/log/systemd.log文件。
# tail -10 /etc/rsyslog.conf
local0.info /var/log/oracle_audit.log
local1.info /var/log/oracle_unified_audit.log
local2.info /var/log/oracle_unified_audit_common.log
:programname, regex, "^ora_...._book$" /var/log/oracle_merge.log
& stop
:programname, regex, "^oracle_" /var/log/oracle_merge.log
& stop
--//支持正则表达式,可以合并/var/log/oracle_audit.log ,/var/log/oracle_unified_audit.log到/var/log/oracle_merge.log。
--//注意不能写在10-oracle.conf文件里面,该配置优先读取并配置。
--//也不能写在local0.info前面,后面的stop会停止后续的操作。
3.补充logrotate相关配置:
# cat /etc/logrotate.d/oracle
/var/log/oracle_audit.log
/var/log/oracle_unified_audit.log
/var/log/oracle_unified_audit_common.log
/var/log/oracle_merge.log
{
size=20M
rotate 4
copytruncate
delaycompress
notifempty
}
# cat /etc/logrotate.d/rsyslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
/var/log/systemd.log
{
missingok
sharedscripts
postrotate
/usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true
endscript
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-3183890/ ,如需转载,请注明出处,否则将追究法律责任。