Здравствуйте, ребята, у меня есть журналы ОС, и я хочу изменить @timestamp на время из журналов:
Wed Oct 10 23:46:19 2018 +02:00
LENGTH : '2295'
ACTION :[2143] 'select /*+ '
DATABASE USER:[3] 'SYS'
PRIVILEGE :[4] 'NONE'
CLIENT USER:[0] ''
CLIENT TERMINAL:[7] 'UNKNOWN'
STATUS:[1] '0'
DBID:[10] '0088'
Далее, в Logstash я использую этот фильтр:
grok {
match => [ "message", "%{DAY:day} %{MONTH:month} %{MONTHDAY:monthday} %{TIME:time} %{YEAR:year} %{ISO8601_TIMEZONE:timezone} .*LENGTH : .%{INT:length}.*ACTION :\[\d*\] .%{GREEDYDATA:action}.*DATABASE USER:\[\d*\] '%{GREEDYDATA:database_user}'.*PRIVILEGE :\[\d*\] '%{GREEDYDATA:privilege}'.*CLIENT USER:\[\d*\] '%{GREEDYDATA:client_user}'.*CLIENT TERMINAL:\[\d*\] '%{GREEDYDATA:client_terminal}'.*STATUS:\[\d*\] '%{INT:status}'.*DBID:\[\d*\] '%{GREEDYDATA:dbid}'.*"]
}
mutate {
add_field => {
"timestamp" => "%{month} %{monthday} %{year} %{time}"
}
}
date {
match => [ "timestamp", "MMM dd yyyy HH:mm:ss"]
target => "@timestamp"
}
Но,я получил ошибку в кибане:
_grokparsefailure, _dateparsefailure
Кроме того, другие поля не отображаются и в поле отметки времени у меня есть:
%{month} %{monthday} %{year} %{time}
Если я удаляю плагин фильтра даты, другие поляработает, но без изменения @ timestamp.
Я также использую многострочные опции из filebeat.
Заранее спасибо