簡體   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