我无法读取Logstash中的拆分字段

时间:2017-06-28 12:40:47

标签: elasticsearch logstash kibana logstash-grok logstash-configuration

我可以区分" msg" logstash中的字段采用以下格式

filter {
   kv {
     field_split => "|"
         source => "msg"
   }
 }

适当分开。

img1

然后保留区"纬度"未处理

img 2

添加为字符串

     " deviceValue" => "null ",
      **"test1" => "%{latitude}"**,
       " timeLabel" => "NOON ",
" appllicationName" => "null ",
       " longitude" => "29.08222 ",

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

仔细查看已解析的值。我相信它们实际上并没有完全分开。您在拆分字符"|"周围的源数据中有空格,因此在解析时,您实际上没有得到名为"latitude"" latitude"的字段。 从你的帖子:

" longitude" => "29.08222 ", 

您是否看到“经度”的前导空格和值中的尾随空格?

我假设您不需要这些,因此解决问题的一种方法是从源数据中清除空白,然后使用现有脚本。
或者,如果您无法修改源数据,则可以将过滤器设置为在" | "上分割:

filter {
   kv {
     field_split => " | "
         source => "msg"
   }
 }  

最后,如果您确实需要这些空格并且无法更改,则可以将"%{latitude}"更改为"%{ latitude}"