如何在Logstash中的消息事件的前面添加新字段?

时间:2019-04-01 22:00:37

标签: logstash logstash-configuration

我正在尝试找到一种方法,可以在logstash中向消息的开头添加新字段。

背景:我正在以JSON格式提取数据,并使用mutate.add_field插件将新字段添加到消息中。

但是,我似乎找不到一种方法来定义此新字段的位置。然后,该消息将作为字符串输出到文件中。从这里开始,还有其他过程可以选择此文件并应用正则表达式来提取所需的信息。为了简化正则表达式模式,我希望将关键字段放在消息的开头。

1 个答案:

答案 0 :(得分:0)

您将需要按照所需顺序添加新字段,并删除其他字段。

例如,如果您的文档具有字段fieldAfieldB,并且在管道中添加了要放在字段otherFieldCotherFieldD前面的字段您的消息,您应该执行以下操作:

mutate {
  add_field =>  { 
      "all_fields" => "%{otherFieldC} %{otherFieldD} %{fieldA} %{fieldB}"
   }
   remove_field => ["fieldA","fieldB","otherFieldC","otherFieldD"]
}

您的输出将是一个唯一字段,其中包含原始字段的信息以及您在管道中添加的信息。