【问题标题】:Storing audit logs on GCP在 GCP 上存储审核日志
【发布时间】:2021-03-25 14:55:26
【问题描述】:

我想将审核日志存储在我们的 GCP 集群(我们的应用所在的位置)上。那里有不同的存储/数据库选项。我们正在研究一张表,在没有任何关系的情况下对类似的表进行存储。

背景:我们正在提供企业级大规模 SaaS 解决方案 我需要对我们的审计日志进行写入,通过审计日志字段/列搜索它们并组合(AND,OR)。排序选项也很重要。

我专注于以下选项(如果还有其他更匹配的选项,请告诉我)

  1. 云存储
  2. Cloud Firestore
  3. GCP 管理 Atlas Kafka

我们的要求是:

  1. 拥有可扩展的高性能存储
  2. 数据是静态加密的
  3. 具有搜索功能(完整的测试搜索将是完美的,但我擅长按列/归档的简单搜索)

到目前为止,我从需求点发现了什么:

  1. Mongo 的性能优于 Firebase。不确定将 Cloud Storage(标准模式)与 Mongo 进行比较。
  2. Cloud Storage 和 Cloud Firestore 会加密数据。不确定 Mongo
  3. Cloud Firestore 和 Mongo 具有开箱即用的搜索功能(不是全文搜索)。 Cloud Storage 使用 BigQuery 和永久/临时表进行搜索。

我的感觉是云存储不是最佳选择。我认为搜索功能有点麻烦。这也是大型二进制文档(图像、视频)的基于文档的结构。如果我错了,请纠正我。

最后 2 个更接近匹配解决方案。从企业的角度来看,Mongo 看起来更接近。

请告诉我你的想法。

【问题讨论】:

    标签: firebase-realtime-database google-cloud-firestore google-cloud-storage


    【解决方案1】:

    使用 BigQuery!你可以sink the logs directly in BigQuery。在 GCP 中,所有数据都是静态加密的。 BigQuery 是一个强大的数据仓库,具有强大的查询能力。此解决方案可满足您的所有要求。

    【讨论】:

    • 我们的审计微服务会将审计日志写入目标存储/目的地(任何解决方案)。提到的接收器链接与 FluentD/Stackdriver 代理接收的标准日志相关,这些日志路由到 BQ 或云存储。 BigQuery 很有趣。将审计日志作为 JSON 写入 Cloud Storage,然后使用 BQ 搜索它们是否有意义?还是在 BQ 中创建数据源并直接写入其中?我知道 BQ 更适用于分析、聚合函数,并且非常适合处理冷数据(不经常更改)。
    • 就个人而言,我建议您将所有数据放在 BigQuery 中。 90 天后,存储成本自动降低。如果查询存储在 GCS 中的文件,则查询速度较慢,并且没有真正的优势。如果要清理日志,可以运行计划查询来转换数据并将结果存储到另一个表中。然后删除第一个表中较旧的原始日志。 BigQuery 的可能性很大,它是我在 GCP 上最喜欢的产品之一!
    • 我有一个疑问是 BQ 是面向 OLAP 的(它在那里有很好的结果,它是列基础,非常适合聚合函数)。但我们正在研究 OLTP 操作,例如给我这个用​​户最近 10 天的 word 和 ASC 审核日志。
    • BigQuery 不是关系数据库,这意味着您没有表之间的关系,我的意思是引擎自动检查关系。因此,您可以为相同的“主键”或损坏的“外键”重复条目。但是,您可以执行与任何支持 SQL2011 的引擎相同的 SQL 请求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 2023-03-22
    • 2021-09-06
    • 2010-10-30
    相关资源
    最近更新 更多