Logstash创建嵌套字段

时间:2015-08-23 09:55:59

标签: filter nested match logstash

我有一些来自解析字符串的字段: 字符串示例:

"testmessage 10.5 100"

match => { "message" => "%{GREEDYDATA:text} %{NUMBER:duraton} %{NUMBER:code)"

输出将是

    {
       "text": "testmessage",
       "duraton": "10.5",
       "code": "100"
    }

但我想这样:

    {
       "text": "testmessage",
       "values": {
            "duraton": "10.5",
            "code": "100"
       }
    }

如何创建包含嵌套字段的字段“值”?

2 个答案:

答案 0 :(得分:3)

语法为:

%{NUMBER:[values][duraton]}

请注意,您也可以在logstash中投射它们:

%{NUMBER:[values][duraton]:float}

(“int”也有效)。

答案 1 :(得分:1)

正确的方式:

%{GREEDYDATA:text} %{NUMBER:[values]duraton:float} %{NUMBER:[values]code:int)