Похоже, ваш журнал в формате JSON со значениями URLEncoded в поле даты, поэтому первое, что вам нужно сделать, это добавить codec=>json
к вашим input
или json { source => message }
.
После того, как у вас есть вещи, как события в Logstash, вы хотите, чтобы декодировать поля даты:
urldecode { field => 'respHdr.date' }
urldecode { field => 'respHdr.expires' }
И, наконец, разобрать даты в этих областях:
date {
target => '@timestamp'
match => [ 'respHdr.date', 'WHATEVER_FORMAT_THAT_DATE_IS' ]
}
date {
target => 'expires'
match => [ 'respHdr.expires', 'WHATEVER_FORMAT_THAT_DATE_IS' ]
}
Вы будете необходимо проконсультироваться с logstash date documentation, чтобы выяснить, какой формат такой даты.
Можете ли вы объяснить свой смысл журнала? –
Для этого вам нужно использовать фильтр grok. Что касается формата, вы можете использовать отладчик Grok (https://grokdebug.herokuapp.com/), чтобы узнать, работает ли ваш фильтр логсташа grok или нет. –