使用logstash将多个字段与单个字段关联

时间:2016-11-09 15:54:51

标签: logstash

我正在使用logstash将一些文本文件解析为elasticsearch,其中我使用多行过滤器将多行分组到同一文档中,并使用grok过滤器来定义正则表达式。但是,文档具有嵌套结构,因此某些字段会出现一次,而其他字段会出现在同一文档中多次。例如,我们假设我有以下结构:

Family Name: Green
First Name: Mary, Age: 40, Length: 170 cm
First Name: Thomas, Age: 39, Length: 175 cm
First Name: John, Age: 10, Length: 110 cm

我需要做的是以下之一:

  • 要么为一个绿色家族提供一份文件,每个文件的名字,年龄和长度分别为3个
  • 或者有3个不同的文档,每个文档都包含姓氏,尽管它只在文本文件中显示一次。

是否可以使用logstash实现任何选项(或两者)?

1 个答案:

答案 0 :(得分:0)

有一个memorize插件可以执行您想要的操作。有一个使用它的例子here

如果您使用的是logstash 5.0,请使用这样的命令来安装插件:

bin/logstash-plugin install logstash-filter-memorize  

如果您使用的是5.0之前的版本,请使用以下命令:

bin/logstash-plugin install --version 0.9.2 logstash-filter-memorize