2014-12-02 195 views
2

我正在嘗試使用我日誌文件中的時間戳。但是,這些時間戳具有以下格式,這與logstash的@timestamp字段不同。Kibana:使用日誌文件中的時間戳而不是@timestamp

2014-10-31 02:45:09,355 

當嘗試使用我的領域涉及到在我的日誌文件中的時間戳,不顯示直方圖。我相應地更改了儀表板設置的「Timepicker」選項卡中的「Time field」,以及直方圖的設置。

任何建議將不勝感激。

編輯:

下面是我目前在我的過濾器:

filter { 
    grok { 
     patterns_dir => ".\patterns" 
     match => [ "message", "%{LOGTIMESTAMP:tstamp}" ] 
    } 
    date { 
     locale => "en" 
     timezone => "Europe/Paris" 
     match => [ "tstamp", "yyyy-MM-dd HH:mm:ss,SSS" ] 
     target => "tstamp" 
    } 
} 

至於我的正則表達式:

LOGTIMESTAMP (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3}) 

有了這個配置,我得到以下錯誤:「字段解析日期失敗」

任何想法?

回答

0

我還想添加這是評論,但我沒有信譽......反正,我猜Kibana認爲你的日期時間是一個字符串,而不是一個類型的日期(檢查映射,
http://localhost:9200/_mapping?pretty或其他)。

我也有類似的問題,但隨之而來的:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-timestamp-field.html

然而,任何映射我也沒有工作,直到我將它輸出在此確切格式2014-12-03T09:04:02。 (如果我放棄T它不會工作)

我的建議是嘗試轉換該日誌文件的時間匹配,因爲我不能讓Kibana採取任何其他格式。

+0

我更新了我原來的帖子。通過我目前的配置,我甚至無法保存數據。不幸的是,添加「T」沒有幫助。 – halpsb 2014-12-04 13:31:45

0

您必須使用「日期」過濾器來告訴Logstash日期格式 - 它會將您的時間戳從文件轉換爲@timestamp字段。

到這裏看看:http://logstash.net/docs/1.4.2/filters/date

+0

謝謝,我已經更新了我原來的帖子。 – halpsb 2014-12-04 13:29:49

+0

你爲什麼要做「target =>」tstamp「」?我的理解是@timestamp是elasticsearch使用的神奇領域,你應該堅持下去。 至少,它適用於我:) – rabbbit 2014-12-05 15:02:38

0

我花了一些時間才能體現出來,但下面的格式對我的作品的具體時間之間的搜索項(2015年5月27日上午11時至1130AM是精確的) -

@timestamp:[1432704600000至1432706400000]

Kibana需要時間戳,以時間戳記格式爲單位,以毫秒爲單位。

0

我對於相同的日誌模式「2014-10-31 02:45:09,355」有類似的問題。這個配置對我有用。

grok { 
    match => [ "message", "%{DATESTAMP:timestamp}" ] 
} 
date { 
    locale => "en" 
    timezone => "Europe/Paris" 
    match => [ "timestamp", "yyyy-MM-dd HH:mm:ss,SSS" ] 
    target => ["tstamp"] 
    remove_field => ["timestamp"] 
} 
相關問題