繁体   English   中英

logstash动态解析json以在输出中添加新字段

[英]logstash parse dynamically json to add new fields in the output

我有以下JSON INPUT:

{
    "ts": "1459504800000",
    "data": "30.7",
    "sid": "1"
}

过滤器:

filter {
    mutate {
            convert => { 
            "data" => "float"
            "ts" => "integer" 

        }

    }

    date { 
        match => [ "ts", "UNIX_MS"]
            target => "ts_date"
    }
}

我得到以下结果:

{
            "ts" => 1459504800000,
          "data" => 30.7,
           "sid" => "1",
      "@version" => "1",
    "@timestamp" => "2016-04-21T14:29:54.241Z",
          "type" => "redis-input",
       "ts_date" => "2016-04-01T10:00:00.000Z"
}

我想在由输入的"data""sid"参数值(1和30.7)动态组成的结果中添加一个新字段。 该字段应为"somestring"+"1" => 30.7

谢谢!

这就是add_field的用途。 对于与其他过滤器无关的此类任务,我将其用于mutate中:

mutate {
    add_field => { "something%{sid}" => "%{data}" }
}

该值此时将是一个字符串。 如果希望它是数字,则需要使用convert函数进行第二个变异。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM