簡體   English   中英

如何使用Logstash過濾作為哈希值的消息

[英]How to use logstash to grok the message which is a hash

所有

我正在使用logstash從遠程服務器發送日志。 我收到的消息是這樣的哈希類型:

[2014-12-06 23:59:57] 112.254.70.37 <AUDIO> {"type":"Stat", "eid":4800316, "mid":"87192133091532", "ccid":3228662, "ver":102, "ip":"114.113.200.227", "port":9081, "jitter":"0 0 0 0 0 ", "break":"0 0 0 0 0 ", "interrupt":"0 0 0 0 0 ", "tcp_rtt":"40 40 45 50 50 ", "udp_rtt":"31 33 35 40 35 ", "all_pkts":"107180 107193 107249 107323 107358 ", "lost":"0 0 0 0 0 ", "delay":"40.78", "pull":"3 3 3 3 3 "}

那我該怎么寫grok的部分,我到處搜索文檔,但是我還是不知道怎么... thx!

首先,您必須通過grok過濾器解析出json數據。 然后,使用json過濾器解析所有hashmap值。 使用此配置,我可以解析您的日志並創建所有fieldvalue 希望這可以幫到你。

input {
    stdin{
    }
}

filter {
    grok {
    match => [ "message" , "\[%{TIMESTAMP_ISO8601:datatime}\] %{IP:ip} <%{WORD:level}> %{GREEDYDATA:data}"]
    }
    json {
            source => "data"
    }
}

output {
    stdout{
            codec => rubydebug
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM