许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  日志收集框架fluentd与fluentbit收集Oracle操作日志

日志收集框架fluentd与fluentbit收集Oracle操作日志

阅读数 2
点赞 0
article_banner

缘由

写这篇文章的原因是因为在项目开发中需要使用日志收集框架,但是发现现有的日志收集工具并不能完全满足我们的需求。我们需要一些定制化的功能,涉及到读取Oracle日志,但是网上关于这方面的资料比较分散,不好找到全面的介绍。因此花费了很多时间,于是便打算记录下来。

适用人员

有一定fluentd基础的人,会一点ruby的就更好了

Fluentd

Fluentd是一款开源的日志收集工具,可以帮助您从各种不同的数据源(例如 Docker 容器,Apache Web服务器等)收集日志数据。使用Fluentd,您可以将数据发送到多种目标,包括Elasticsearch,Amazon S3和MongoDB等。Fluentd还支持插件来扩展其功能,因此您可以自定义它以满足您的需求。

Fluentd的官方文档可以在此找到:https://docs.fluentd.org/

Fluent Bit

Fluent Bit是Fluentd的轻量级版本,专为嵌入到其他应用程序和服务中而设计。它可以收集来自多个数据源的日志,并将其转发到多个目标。Fluent Bit还支持插件来扩展其功能。

你可以在这里找到Fluent Bit的官方文档:https://docs.fluentbit.io/

项目背景

  1. 客户的项目有多个,想要把日志统一收集起来保存到mongo中,同时开发一个系统用于对收集起来的日志进行查看审查等操作
  2. 需要收集的日志有文件,有服务器相关的日志,有数据库日志。前两者都是读取文件的,这种官方文档已经说的很清楚了,这里就不做赘述
  3. 项目的需求,需要读取Oracle操作日志,并写入mongo中。也是本章所要讲述的内容

方案选择

难点,由于本人非专业DBA,对Oracle并不是非常熟悉,花的时间就比较多了。

主要的方案有三种:

  1. 读取ORACLE 日志文件,这个方案从网上查了很多,根据网上的方法也找到了日志文件,但是基本上是乱码,或者里面的内容极少。可能是打开方式不对,总之没有成功。本来是首选,但是卡在找不到可以解析的文件,所以没有使用。
  2. 读取视图v𝑠𝑞𝑙,该视图会记录所有对数据库的增删改查的操作,可以直接𝑆𝑄𝐿查询得到数据,本文使用这种方法,通过𝑓𝑙𝑢𝑒𝑛𝑡𝑑读取𝑣  sql ,  该  视  图  会  记  录  所  有  对  数  据  库  的  增  删  改  查  的  操  作  ,  可  以  直  接 SQL 查  询  得  到  数  据  ,  本  文  使  用  这  种  方  法  ,  通  过 fluentd 读  取 v sql视图,并存入mongo中
  3. 监听数据库操作并记录到文件中,fluentbit读取该文件并发送到fluentd进行保存,由于对fluentd接触的不多,所以如何通过这种插件不知道要如何实现,使用java倒是可以,但是,这样需要多维护一个项目,麻烦,且稳定性肯定没有直接用fluentd好

正文

好了,也该进入正文了,先做一下准备

  1. fluentd是使用ruby编写的,ruby要连接Oracle,需要安装oracle 客户端,这里使用官方的轻量级的oracle客户端, oracle instant client,官网下载之后,设置环境变量即可
  2. 这里会用到fluentd的插件fluent-plugin-sql,以及基于ruby的oracle orm框架 activerecord-oracle_enhanced-adapter

    免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删



相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空