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