2017-05-12 29 views
0

在我的頭上撞牆 - 在2天前開始使用logstash和Grok,並取得了一些進展,但我一直被困在整個晚上看着這個特殊問題。Grok在Kibana自定義字段中分析負數

我有一個日誌文件被輸入到logstash中的以下幾行輸入。

'約翰便士 ':' 減少': - 0.01:-1.03093:0.96:0.97

「戴夫龐德: '增加':0.04:1.04000:0.97:0.93

用下面的神交過濾器相匹配:

match => { "message" => "%{QS:name}:%{QS:activity}:%{BASE16FLOAT:Change}:%{BASE16FLOAT:Percentage}: %{BASE16FLOAT:CurrentPrice}: %{BASE16FLOAT:PreviousPrice}" } 
match => { "message" => "%{QS:Name}:%{QS:Activity}:-%{BASE16FLOAT:Change}:-%{BASE16FLOAT:Percentage}: %{BASE16FLOAT:CurrentPrice}: %{BASE16FLOAT:PreviousPrice}" } 

這將產生以下輸出在Kibana: enter image description here

正如你所看到的 - 我無法正確顯示負數,如何在grok過濾器中正確顯示負號? 將不勝感激一些幫助!

回答

1

您可以簡單地使用NUMBER神交模式,代替BASE16FLOAT

以下grok模式完美的作品對您輸入:

grok { 
    "match" => {"message" => "%{QS:name}:%{QS:activity}:%{NUMBER:Change}:%{NUMBER:Percentage}: %{NUMBER:CurrentPrice}: %{NUMBER:PreviousPrice}"} 
} 
+0

完美,感謝瓦爾!不確定爲什麼grok調試器沒有給我那個... – LLB3000

+0

我努力弄清楚如何讓這些自定義字段聚合 - 我會很感激你可以提供任何幫助。 – LLB3000

+0

很高興幫助!隨意創建一個關於後一個問題的新問題。 – Val