日志,指标和分析都应归入一个数据湖还是应单独存储?

时间:2018-11-02 15:52:03

标签: elasticsearch logstash kibana elastic-stack

背景

我正在设置我的第一个弹性堆栈,尽管我将开始简单,但是我想确保我从良好的体系结构开始。我最终希望有以下解决方案:托管指标,服务器日志(expressjs APM),单页应用程序监视(APM RUM js代理),Redis指标,MongoDB指标和自定义事件分析(即:销售,客户已取消)等)。

问题:

我应该将所有这些存储在一个Elasticsearch集群上,并使用搜索过滤出不同的情况,或者我为每个情况创建一个单独的实例,并明确定义它们的角色。

(我希望使用单个数据湖)

1 个答案:

答案 0 :(得分:1)

用于记录用例:

  • 您可以将所有日志存储在文件系统共享中,然后再将其吸收到任何搜索解决方案中,以便在需要时重新输入
  • 存储后,您可以将它们摄取到一个具有不同索引的群集中,也可以将其摄取到多个群集中,这是其开放选择,但这取决于数据量
  • 如果每个节点的大小和计算都证明一个独立的ES集群是合理的,则进行其他操作,否则,请使用一个具有故障转移集群的单个集群

有关指标:

  • 您可以将它们直接摄取到具有不同索引模式的一个群集中
  • 如果大小和计算需求恰到好处,请建立单独的集群
  • 根据需要创建故障转移/备份群集

在这两种情况下,您还都需要存储集群快照。

我个人建议使用ELK记录用例,而使用Promethous来度量。

报告/分析:

对于某些用例,例如每月和每年的报告/分析,日志数据将是巨大的,并且您需要将文件共享中的数据吸收到hadoop中以进行总结/基于某些字段汇总,以及然后,将减少的数据吸收到ELK中,这可以减少大小,并减少1000倍的计算需求。

相关问题