2013-11-26 34 views
4

我正在嘗試使用logstash讀取日誌文件。我使用grok將郵件中的一個數字解析爲數字並將其作爲字段存儲。 但是據我所知,我只得到Kibana來描繪消息隨着時間的流逝而發生的次數。如何在Kibana中隨時間變化繪製字段的不同值 - ClassCast異常

我沒有任何運氣使用Kibana來繪製消息發生的次數。我的消息的

實施例:

1) "JvmStatsLoggerService - gc count: 58" 
2) "JvmStatsLoggerService - gc time: 2392 ms" 

我提取/創建COUNT和TIME字段來存儲相應的值58和2392..I要在過去5分鐘到圖表COUNT和TIME的不同的值或10分鐘,而不是隨着時間的推移在日誌文件中發生的次數。

試了一下在live demo但我kibana localost控制檯上我得到這個錯誤

Oops! ClassCastException[org.elasticsearch.index.fielddata.plain.PagedBytesIndexFieldData cannot be cast to org.elasticsearch.index.fielddata.IndexNumericFieldData] 

任何幫助是極大的讚賞。

+0

有可能你的數據被映射爲一個字符串,而不是一個數字。你可以通過直接用'curl -XGET http:// localhost:9200/logstash-2013.11.26/_mapping'查詢ES來確認這種情況。如果這是您的問題,請查看一下頁面,比如[this](https://logstash.jira.com/browse/LOGSTASH-628)或[this](http://untergeek.com/2012/10/12/using-elasticsearch-mappings-appropriate-to-map-as-type-ip-int-float-etc /)可能會提供解決方案。 – rutter

+0

我已經在做這個變異{convert_> [「count1」,「integer」] }。讓我也試試你給我的捲曲調試例子 –

回答

7

您的彈性搜索索引不知道計數和時間字段是整數。 使其意識到類型的最簡單方法是指定神交模式類型(通知最後:int

grok { 
    match => ["message", "%{INT:timeout:int}"] 
}