将Scribe集中式日志输出发送到弹性搜索的最佳方法



我们目前正在为我们的众多服务构建一个集中的日志记录平台。计划是在每个应用程序服务器上安装一个scribe客户端,该客户端将日志转发到中央scribe服务器。

中央划线服务器当前正在将所有聚合日志记录到磁盘。但现在我们想在ElasticSearch上对它们进行索引以实现可视化。

我的确切问题是:将日志从中央划线服务器的输出转发到ElasticSearch进行索引的最佳方式是什么(最健壮、容错、计算成本较低和内存效率较高)?

很少有值得探索的想法:

  1. Scribe服务器->文件->Logstash->ElasticSearch
  2. Scribe服务器->文件->[X]->RabbitMQ->Logstash->ElasticSearch
  3. Scribe服务器->文件->[Y]->ElasticSearch
  4. Scriber服务器->[Z]->弹性搜索

X、Y或Z有什么好的选择吗?哪种方法最好?请提出建议。

谢谢。

根据我的说法,Z选项是最好的方法。CCD_ 1适用于容错系统。这个机制有分片和副本的定义。但你必须考虑记忆效率。索引文档的数量会随着时间的推移而增加,它需要至少2倍的存储空间,因为默认配置文件中只有一个碎片和一个副本定义。

编辑:
如果你已经有一个中央划线服务器,我假设你的中央服务器上有所有的日志消息。但是,如果你的中央服务器没有消息结构,所有选项都可以用于你的应用程序。如果您想异步实现索引,可以使用RabbitMQApache solation。我认为您可以看看索引的弹性搜索性能考虑因素。你每秒的索引计数是多少?它对您的应用程序至关重要吗?我的另一个建议是MongoDB。如果你不坚持使用ElasticSearch,我可以建议你在MongoDB上搜索。你应该检查一下这个比较。

最新更新