ELK的优秀架构是什么?

时间:2015-07-22 14:20:16

标签: elasticsearch redis logstash apache-kafka kibana

我正在尝试使用ELK构建日志分析系统。我看到很多以不同方式使用ELK的架构。其中一个是

Logstash-> Redis-> Logstash-> Elasticseach-> Kibana

第一个Logstash用于收集日志,第二个Logstash用于过滤日志。

我对Redis不是很清楚,我们必须使用它吗?为什么不使用Kafka?

3 个答案:

答案 0 :(得分:3)

两个logstash实例之间的redis是一个缓冲区,只是在弹性搜索或logstash索引器关闭的情况下。

根据您使用logstash处理的内容,您可能不需要它。如果您正在读取日志文件,则当logstash(索引器)不堪重负时,logstash(发货人)将停止发送日志。这样,您就可以获得分布式缓存(在日志文件中!)。

如果您正在使用一次性事件(例如来自网络设备的陷阱或系统日志),那么像redis或rabbitmq这样的缓冲区对于存储它们非常重要,直到logstash(索引器)可用为止。

答案 1 :(得分:0)

第二个logstash用于标记日志并将其从日志行转换为已解析的JSON。

关于体系结构,您可能还需要考虑其他一些事项,如安全性,映射,可伸缩性。您可以查看我撰写的关于如何在生产中部署ELK的博客文章(http://logz.io/blog/deploy-elk-production/

HTH

答案 2 :(得分:0)

您可以找到简单的 ELK设置if doesn't need of Redis)。您可以通过以下链接进行完整设置,以及如何使用 logstash 加载日志,并使用 elsticsearch 搜索日志,并在 Kibana中进行可视化

ELK Setup Installation