Oracle goldengate write syslog(ogg 写系统日志)
今天有朋友问她们的/var/log/messages (Linux syslog)文件有很多ogg的info信息,影响了操作系统日志的可读性,信息如下:
Apr 15 03:13:01 ccwlracnode01 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="21123" x-info="http://www.rsyslog.com"] rsyslogd was HUPed Apr 16 15:43:32 ccwlracnode01 Oracle GoldenGate Command Interpreter for Oracle[188615]: 2018-04-16 15:43:32 INFO OGG-00987 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (ogguser): info all. Apr 16 16:08:57 ccwlracnode01 Oracle GoldenGate Command Interpreter for Oracle[188615]: 2018-04-16 16:08:57 INFO OGG-00987 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (ogguser): info all. Apr 16 16:09:12 ccwlracnode01 Oracle GoldenGate Command Interpreter for Oracle[188615]: 2018-04-16 16:09:12 INFO OGG-00987 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (ogguser): dblogin userid ogguser password ***. Apr 16 16:09:23 ccwlracnode01 Oracle GoldenGate Command Interpreter for Oracle[188615]: 2018-04-16 16:09:23 INFO OGG-00987 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (ogguser): delete e_mysql. Apr 16 16:09:43 ccwlracnode01 Oracle GoldenGate Command Interpreter for Oracle[188615]: 2018-04-16 16:09:43 INFO OGG-00987 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (ogguser): add ext e_mysql tranlog, begin now, threads 2. Apr 16 16:09:43 ccwlracnode01 Oracle GoldenGate Command Interpreter for Oracle[188615]: 2018-04-16 16:09:43 INFO OGG-00987 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (ogguser): add exttrail ./dirdat/my ext e_mysql, megabytes 100. Apr 16 16:09:49 ccwlracnode01 Oracle GoldenGate Command Interpreter for Oracle[188615]: 2018-04-16 16:09:49 INFO OGG-00987 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (ogguser): info all.
显然这和OGG_HOME目录中oggerr log文件中的内容相同,从ORACLE DOC上记录OGG所有日志是默认启用的。
On UNIX and Linux, Oracle GoldenGate messaging to the
syslog
is enabled by default.
之前一直没有注意到这个问题,还不确认是从哪个版本来开引入的,但是从OGG v11.1.1.0.0 版本开始引入syslog
来控制OGG的消息写入操作系统日志(WIN&UNIX).
syslog用法
SYSLOG {[ALL | NONE] | [, INFO] [, WARN] [, ERROR]}
写日志的粒度写所有信息、禁止所有信息、和信息、告警、错误三个等级的任意组全。
可以配置在GLOBAL, mgr和不同的OGG 进程参数中, 在GLOBAL中配置应用于所有进程,如果在GLOBAL和进程参数中都配置了syslog, OGG进程参数的配置会覆盖GLOBAL中的配置.
ALL 是所有日志信息, NONE 是禁止写系统日志,剩下三个选项顾名思义。
如我们只希望把告警和错误信息写入系统日志,可以配置如下:
SYSLOG WARN, ERROR
— or:
SYSLOG ERROR, WARN
如果禁用OGG写系统日志配置如下:
SYSLOG NONE
在OGG v11.1.1.0.0版本以前没有办法控制OGG消息的传递,如果禁止OGG写SYSLOG, 只能通过操作系统层上的/etc/syslog.conf 中把user.info 或 *.info 去除。
新版本变化
在OGG V12.3 版本中syslog 已经弃用(deprecated),但不是不支持(unsupported), 可以使得另一种方法控制syslog的写入。修改$OGG_HOME/diretc/logging/目录下的ogg-ggserr.xml文件,去掉下面这部份的注释,重启MGR进程,又可以重新启用把ogg的消息写入syslog.
<!-- !- The ggserr.Syslog adapter will write all messages to the local !- system log. !- <appender name="ggserr.Syslog" class="SyslogAppender"> <layout class="PatternLayout"> <param name="Pattern" value="%-19.19d{%Y-%m-%d %H:%M:%S} %m%n"/> </layout> </appender> ! -->
对不起,这篇文章暂时关闭评论。