我使用jdbc-plugin針對MSSQL數據庫每分鐘查詢一次。 在這個數據庫中,我的時間戳存儲在滴答。字段名稱是lastupdate。 現在我想將lastupdate字段轉換爲時間戳格式,然後用轉換後的lastvalue字段覆蓋@timestamp字段。 我試圖用從另一篇文章提供的方法提供的方法從ticks到datetime(Parse ticks to datetime)轉換,但無法實現轉換並得到_rubyexception和_dateparsefailure的ruby過濾器插件。使用Ruby插件將刻度轉換爲logstash中的@timestamp
我的過濾器看起來是這樣的:
filter {
if [type] == "mydb" {
ruby {
init => "require 'time'"
code => "lastupdate = Time.at(event['lastupdate'].to_s)"
}
date {
match => [ "lastupdate", "MM/dd/YY HH:mm:ss,SSS" ]
}
}
}
舉例LASTUPDATE:轉換後636062509024728064
日期與 http://tickstodatetime.com/:2016年8月8日T11:01:42.472Z
附加Ticks中的信息:https://msdn.microsoft.com/en-us/library/system.datetime.ticks%28v=vs.110%29.aspx
請用一個例子日誌信息編輯你的問題你正試圖解析 – pandaadb
@pandaadb添加示例。使用上面的過濾器,lastupdate字段的值根本不會改變。提前致謝! – cvanhalt
你沒有分配它。什麼樣的時間映射? :) Time.at給我:「281182817-11-03 04:01:49 +0000」 – pandaadb