参考:
ELK+Filebeat+Kafka分布式日志管理平台搭建_51CTO博客_elk 搭建
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。
随着 Beats 收集的每秒数据量越来越大,Logstash 可能无法承载这么大量日志的处理。虽然说,可以增加 Logstash 节点数量,提高每秒数据的处理速度,但是仍需考虑可能 Elasticsearch 无法承载这么大量的日志的写入。此时,我们可以考虑引入消息队列 ,进行缓存:
1、Beats 收集数据,写入数据到消息队列中。
2、Logstash 从消息队列中,读取数据,写入 Elasticsearch 中
- 在所有需要收集日志的服务器上部署Logstash;或者先将日志进行集中化管理在日志服务器上,在日志服务器上部署 Logstash
- Logstash 收集日志,将日志格式化并输出到 Elasticsearch 群集中
- Elasticsearch 对格式化后的数据进行索引和存储
- Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示