1.Logstash介绍

Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。
874963-20180811151005760-1802603955.png

2.Logstash的基本原理

如下图所示,从左往右看,最左边就是我们所说的数据源,在本例中的数据源就是MySQL数据库,中间灰色的部分就是Logstatsh其包括三个部分:Input、Filter和Output。这三个部分都包含在Pipeline的管道中。这个三个部分会对输入的数据源进行处理然后生成最终的Elasticsearch索引文件。
874963-20180811152809345-286170144.png
这里有两个概念需要介绍:

  • Pipeline:包括input-filter-output的3阶段的处理流程,是通过队列进行管理的。
  • Logstash Event:是数据信息在Logstash中流转的形式,数据源的数据通过input进入到Logstash以后就会被转化为Logstash Event,这个Event会经过filter最终通过output输出到目标数据源,也就是Elasticsearch中。

15065200_1629693094.png

3.Pipeline的配置举例

Pipeline会放在一个配置文件中保存,配置文件中会包括input、filter、output三个节点的内容。Input节点中定义了file的内容,此处定义path为数据源的文件地址,是一个日志文件,并且定义了从开始处读取该日志文件的内容。Filter的部分为空说明没有对文件内容进行处理。输出方式output定义为stdout,表示标准输出,也就是将文件内容打印出来。
54844400_1629693094.png
资料:https://www.cnblogs.com/cjsblog/p/9459781.html