2016-11-07 65 views
0

我有一個日誌文件,並希望根據時間戳(例如gt> 24th oct)將日誌索引到elasticsearch。我怎樣才能爲此配置logstash?由於ignore_older字段是用於多個文件,因此我無法使用它。如何基於logstash配置中的時間戳在elasticsearch中索引日誌?

+0

你能解釋爲什麼ignore_older不適合你嗎?使用路徑和排除選項,您可以選擇正確的文件 – baudsp

+0

是的,但我只有一個文件,所以想要針對日誌中的日期篩選特定文件上的日誌。 –

回答

0

有幾種方法可以完成這樣的事情。最簡單的方法取決於你的日期如何表示。例如,如果你在文件中的日期是在YYYY-MM-DD格式,你可以做一個字符串比較是這樣的:

if ([timestamp] < '2015-01-01') { 
      drop {} 
    } 

如果不是的話,最好的辦法是增加一個新的領域與@timestamp作爲一個字符串。請注意,它將在格林威治標準時間

mutate { 
      add_field => [ "mydate", "%{@timestamp}"] 
    } 
    if ([mydate] < '2015-01-01') { 
      drop {} 
    } 
    mutate { 
      remove_field => ["mydate"] 
    } 
+0

是的這適用於格式YYYY-MM-dd,但我的日期格式是[Tue Nov 8 11:47:28 2016],所以如何處理字符串格式的日期和過濾日誌。 –

+0

使用日期過濾器解析日期,然後使用上面的@timestamp方法 – Alcanzar

相關問題