Kafka + ELFK分布式日志收集
Filebeat —> Kafka —> Logstash —> ES Cluster —> Kibana/Grafana
使用背景
由于ELFK
的局限性,随着 Beats
收集的每秒数据量越来越大,Logstash
可能无法承载这么大量日志的处理。虽然说,可以增加 Logstash 节点数量,提高每秒数据的处理速度,但是仍需考虑可能Elasticsearch
无法承载这么大量的日志的写入。此时,我们可以考虑 引入消息队列 (Kafka
),进行缓存。
Filebeat —> Kafka
启动 Kafka
这里为了方便起见,我使用docker-compose
脚本来进行快速部署,脚本内容参见[使用 docker-compose 部署 Kafka](../Kafka/使用 docker-compose 部署 Kafka.md)
Logstash —> ElasticSearch