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

如何在Logstash中的消息事件前面添加新字段?,logstash,logstash-configuration,Logstash,Logstash Configuration,我正在试图找到一种方法,如何在logstash中的消息开头添加新字段 背景:我正在接收JSON格式的数据,并使用mutate.add_field插件向消息中添加新字段 然而,我似乎找不到一种方法来定义这个新领域的位置。然后将消息作为字符串输出到文件。从这里开始,还有其他进程将获取此文件并应用正则表达式来提取它所需的信息。为了简化正则表达式模式,我希望将关键字段放在消息的开头。您需要按所需顺序添加一个新字段,然后删除其他字段 例如,如果您的文档包含字段fieldA和fieldB,并且在您的管道中添

我正在试图找到一种方法,如何在logstash中的消息开头添加新字段

背景:我正在接收JSON格式的数据,并使用mutate.add_field插件向消息中添加新字段


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

您需要按所需顺序添加一个新字段,然后删除其他字段

例如,如果您的文档包含字段
fieldA
fieldB
,并且在您的管道中添加了您希望出现在消息前面的字段
otherFieldC
otherFieldD
,您应该执行以下操作:

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

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

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

例如,如果您的文档包含字段
fieldA
fieldB
,并且在您的管道中添加了您希望出现在消息前面的字段
otherFieldC
otherFieldD
,您应该执行以下操作:

mutate {
  add_field =>  { 
      "all_fields" => "%{otherFieldC} %{otherFieldD} %{fieldA} %{fieldB}"
   }
   remove_field => ["fieldA","fieldB","otherFieldC","otherFieldD"]
}
您的输出将是一个唯一的字段,其中包含原始字段的信息以及您在管道中添加的字段的信息