繁体   English   中英

使用Logstash grok过滤Kafka JSON消息

[英]Filter Kafka JSON messages with Logstash grok

我尝试仅针对德国(DE)过滤kafka json消息。 为此,我必须编写一个grok表达式。 谁能帮我为这个json编写grok模式吗?

{"table":"ORDERS","type":"I","payload":{"ID":"28112","COUNTRY":"DE","AMT":15.36}}
{"table":"ORDERS","type":"I","payload":{"ID":"28114","COUNTRY":"US","AMT":25.75}}

抱歉,我是这些技术的新手。 这是我的logstash.conf的样子:

input { 
  kafka {topics => [ "test" ] auto_offset_reset => "earliest" } 
} 

filter { 
  grok {
    match => { "message" => "?????????" }

  if [message] =~ "*COUNTRY*DE*" { 
    drop{}
  }
}      
}

output { file { path => "./test.txt"  } }

最后,我只想提交德国订单。 希望得到一些帮助,谢谢!

您需要使用Logstash吗? 如果没有,我建议一个简单的KSQL语句

CREATE STREAM GERMAN_ORDERS AS SELECT * FROM ORDERS WHERE COUNTRY='DE';

这将创建一个从第一个流式传输的Kafka主题,并且仅包含您想要的数据。 在Kafka主题中,如果您希望将其作为处理管道的一部分,则可以使用Kafka Connect将其放置到文件中。

阅读使用KSQL的例子在这里 ,并尝试一下这里

暂无
暂无

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

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