我在json字段中有一个整数向量,我可以访问元素并在logstash配置中添加一个新字段,如下所示:
mutate{add_field => { "MyField_0" => "%{[JsonField][0]}"}}
mutate{add_field => { "MyField_1" => "%{[JsonField][1]}"}}
如果我的向量是[7,9],则输出为:
MyField_0 = 7
MyField_1 = 9
问题在于向量的大小是可变的,有时向量只有1个元素,并且在kibana中字段的输出为:
MyField_0 = 7
MyField_1 = %{[JsonField][1]}
我希望默认值出现在第二个值中,例如0或-1,可以这样做吗?我是ELK的新手,不了解ruby :(。
谢谢您的提示,
答案 0 :(得分:0)
好,所以我可以使用类似以下的翻译过滤器
filter{
translate{
field => "MyField_1"
destination => "NewField"
dictionary => ["%{[JsonField][1]}", "0"]
}
}