前面有用ELK搭建了一套日志收集系统,不过后面不知道领导哪个筋抽了,说要把日志发送到Oracle数据库中进行保存。
先不管这种方案是不是适合,会不会有性能问题,领导提了,就先搭了环境,开始研究怎么实现。

一、前期调查
因为前面有使用过rsyslog发送日志到mysql中,所以也就想继续使用rsyslog来实现。
到rsyslog官网中去查,最新版还是支持非常多数据库的。

  --enable-mysql          Enable MySql database support [default=no]
  --enable-pgsql          Enable PostgreSQL database support [default=no]
  --enable-libdbi         Enable libdbi database support [default=no]
  --enable-ommongodb      Compiles ommongodb module [default=no]
  --enable-elasticsearch  Enable elasticsearch output module [default=no]

最新版是使用libdbi来支持Oracle等数据库,而rsyslog v7之前是通过omoracle来支持的。

rsyslog对于omoracle的描述:

Module Name:    omoracle
Author:Luis Fernando Muñoz Mejías <Luis.Fernando.Munoz.Mejias@cern.ch> - this module is currently orphaned, the original author does no longer support it.
Available since:: 4.3.0, does not work with recent rsyslog versions (v7 and up). Use omlibdbi instead. 

omoracle的作者已经停止了更新。
rsyslog是从4.3.0开始支持omoracle的,但是到v7和更高版本时都不支持了。

二、环境
rsyslog日志收集服务器一台
系统:oracle Linux 7.2
IP:192.168.0.2

Oracle数据库服务器一台
系统:oracle Linux 5.8
IP:192.168.0.3

三、架构原理

其它服务器(syslog/rsyslog/syslog-ng)—->rsyslog日志收集服务器—->Oracle数据库服务器

改天继续更新。。。。。



发表评论