ELK组件
Filebeat
Filebeat 是用于转发和集中日志数据的轻量级传输程序。Filebeat 可以监听指定的日志文件或位置,从中收集日志事件并将其转发到 Elasticsearch 或 Logstash 进行索引。Filebeat 的工作原理如下:
-
Filebeat 启动一个或多个 Input,Input 在指定的位置中查找日志数据。
-
Filebeat 为每个找到的日志启动 Harvester,Harvester 读取日志并将日志数据发送到 libbeat。
-
libbeat 聚集数据,然后将聚集的数据发送到配置的 Output。
Logstash
Logstash 是开源的服务器端数据处理管道,能够同时从多个数据源采集数据,然后对数据进行转换,并将数据写入指定的存储中。包含输入、过滤和输出插件。Logstash 的数据处理流程如下:
-
输入:以连续的流式传输方式从日志、Web应用、数据存储等采集数据。
-
过滤:数据从源传输到目标存储的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段来构建结构,并将它们转换成通用格式。
-
输出:输出数据到存储库中。
Elasticsearch
Elasticsearch 是一个分布式的搜索和分析引擎,适用于所有类型的数据。根据文档中出现的每个特有词汇来建立倒排索引,这样可以近实时地对文档数据进行搜索。
通过 restful API 添加,更新,检索和删除数据,以 JSON 文档的形式存储数据。