Я запрашиваю каждую минуту в базе данных MSSQL с помощью jdbc-plugin. В этой базе данных моя временная метка хранится в тиках. Имя поля lastupdate. Теперь я хотел преобразовать поле lastupdate в формат timestamp, а затем перезаписать поле @timestamp с преобразованным полем lastvalue. Я попробовал модуль ruby filter-plugin с методом, предоставленным из другого сообщения, при преобразовании от тиков к дате (Parse ticks to datetime), но не смог достичь конверсии и получил _rubyexception и _dateparsefailure.Преобразование Ticks в @timestamp в logstash с Ruby-plugin
Мой фильтр выглядит следующим образом:
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-08-08 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