Всем привет!
Есть поле "duration" в него преобразуется UNIXTIME, но если UNIXTIME больше 86400, то один день не учитывается.
Например, если UNIXTIME 86407, то в "duration " запишется 00:00:07.
Вот код который преобразует:
if "ise" in [tags] and "Session" in [tags] and [Acct_Session_Time] {
date {
match => [ "Acct_Session_Time", "UNIX" ]
target => "Duration_temp"
}
ruby {
code => "
event.set('Duration', event.get('Duration_temp').time.strftime('%H:%M:%S'))
event.set('Session_start', (event.get('@timestamp') - event.get('Duration_temp')))
"
}
date {
match => [ "Session_start", "UNIX" ]
target => "Session_start_date"
}
}
Пробовал писать в формате '%d %H:%M:%S', тогда если UNIXTIME меньше 86400, например 3600, тогда будет 01 01:00:00, а нужно 00 01:00:00.
Подскажите, может как то можно сделать учет дней?