我在 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 的新手,对红宝石:(一无所知。
感谢您的任何指示,
好的,所以我让它与类似于这样的翻译过滤器一起工作:
filter{
translate{
field => "MyField_1"
destination => "NewField"
dictionary => ["%{[JsonField][1]}", "0"]
}
}