由ELK说起
EFK的前身是ELK(Elasticsearch + Logstash + Kibana),也是用来管理日志的工具组合。
ELK组合
- Logstash: 读取服务器的日志并发送到ElasticSearch
- ElasticSearch: 存储来自Logstash的日志信息, 同时处理Kibana的访问请求, 并返回可视化所需的信息.
- Kibana: 对日志进行分析, 并从多个维度对信息进行可视化
在服务器上安装logstash, 在Kibana服务器上安装ElasticSearch和Kibana服务.
在装有logstash的服务器上设置日志传输, 日志会被发送到Kibana服务器保存.
在Kibana服务器进行可视化设置, 就可以可视化分析后的数据, 便于实时监控.
由此可见, Logstash同样是具有实时渠道能力的数据收集引擎,但与fluentd相比,Logstash效能较差,因此逐渐被fluentd取代,ELK也随之变成EFK。
EFK工具组合
Docker集群中日志收集采用EFK工具组合,为日志数据提供了分布式的实时搜集与分析的监控系统。
EFK由ElasticSearch、Fluentd和Kiabana三个开源工具组成。
- Elasticsearch :分布式搜索引擎,用于全文检索、结构化检索和分析,具有高可伸缩、高可靠、易管理等特点
- Fluentd:实时开源的数据收集器
- Kibana :为Elasticsearch 提供分析和可视化的Web平台
Filebeat
Filebeat类似Fluentd,也是Logstash的替代方案,弥补了 Logstash 的缺点,更加轻量,占用资源更少。
作为一个轻量级的日志采集和传输工具,可以将监控日志目录或特定日志文件并转发给Elasticsearch、Logstatsh、Kafka等。