我应该将elasticsearch用于审计日志吗?

时间:2018-05-26 18:33:36

标签: elasticsearch database-design auditing audit-logging

我正在微服务架构中构建应用程序。所以我在不同的微服务上运行不同的商业模式。

微服务正在使用图形和文档数据库。

我需要做的是,我需要在更改对象时保留有关对象的所有审核日志。 有几种方法可以做到这一点,我想到了两个:

  
      
  1. 只要对象发生变化,就会将审核日志存储在每个数据库中。
  2.   
  3. 不要将其本地化,而是将其设置到一个中央存储库,在那里我们可以看到整个应用程序的所有审计都在后面   场景应用程序由微服务提供,但在前面这是   只为用户和我们提供一个应用程序。弹性搜索会   用于长期储存的目的?或者我们有其他的   解决方案?
  4.   

我必须遵循哪些最佳做法。我的目标到底是什么时候由谁改变了对象。

干杯!

1 个答案:

答案 0 :(得分:1)

一般建议不要将ES用作权威数据存储。如果您希望审计数据的99.99%可靠性将其存储在其他位置,并在需要其搜索功能时在ES中编制索引。

根据我的经验,ES非常有弹性,但我记得,与众所周知的关系数据库或Cassandra / HDFS相比,它的存储空间并不那么精确,我不会在那里存储重要数据。

另外请记住ES索引不是很灵活,如果你想大幅度重新缩放你的集群或改变字段映射,你可能需要重新索引所有内容。较新版本的ES提供“Reindex API”,仍然是它的弱点。