一、前言
-
审计日志系统有很多应用场景,而不仅仅是存储用于审计目的的数据。除了合规性和安全性的目的之外,它还能够被市场营销团队使用,以便于锁定目标用户,也可以用来生成重要的告警。
-
数据库内置的审计日志功能可能并不够用,要处理所有的用户场景,它肯定不是理想的方式。
-
目前,有很多的开源工具,如
Maxwell’s Daemons
、Debezium
,它们能够以最少的基础设施和时间需求支持这些需求。 -
Maxwell’s daemons
能够读取binlog
并发送事件到各种生产者,比如Kafka
、Amazon Kinesis
、SQS
、Rabbit MQ
等。 -
SQL
数据库生成的binlog
必须是基于ROW
的格式,这样才能使整个环境运行起来。
假设你正在使用关系型数据来维护事务性数据并且你需要存储某些数据的审计跟踪信息,而这些数据本身是以表的形式存在的。如果你像大多数开发人员那样,那么最终所采用的方案可能如下所示:
1.1 使用数据库的审计日志功能
大多数数据库都提供了插件来支持审计日志。这些插件可以很容易地安装和配置,以便于记录数据。但是,这种方式存在如下的问题: