Перевод поля времени в timestamp

Всем привет!
столкнулся с непонятной проблемой, начальный формат даты [7/16/19 11:01:26:532 MSK]
я переделал в 2019-7-16 12:01:26.532, но поле timestamp2 не получает почему то признака data и соответственно поле @timestamp не изменяется

правило ниже

  if "filenet-systemout" in [tags] {
    grok {
        match => ["message", "\[%{MONTHNUM:month}[/-]%{MONTHDAY:day}[/-]%{YEAR:year} %{HOUR:hour}:%{MINUTE:minute}:%{INT:sec}:%{INT:subsec} %{WORD:tz}\] %{BASE16NUM:was_threadID} (?<was_shortname>\b[A-Za-z0-9\$]{2,}\b) %{SPACE}%{WORD:was_loglevel}%{SPACE} %{GREEDYDATA:message}"]
        overwrite => [ "message" ]
      }
    grok {
        match => ["message", "(?<was_responsecode>[A-Z0-9]{9,10})[:,\s\s]"]
        tag_on_failure => [ ]
        }
    mutate {
       add_field => {
                "timestamp2" => "20%{year}-%{month}-%{day} %{hour}:%{minute}:%{sec}.%{subsec}"
        }
    }
    mutate {
        convert => {
            "timestamp2" => "string"
            }
        }
    date {
        match => ["timestamp2", "yyyy-MM-dd HH:mm:ss'.'sss"]
        target => "@timestamp"
        }
  }

где я ошибся подскажите плз.

Если в кратце, но шаблон даты не верен. Должно быть - "yyyy-M-dd HH:mm:ss'.'SSS"

А в целом, у вас московское время будет игнорироваться. @timestamp в UTC должен быть по идее. Поэтому я бы сделал так

    grok {
        match => ["message", "\[(?<timestamp2>[^\]]+)\] %{BASE16NUM:was_threadID} ......... "]
        overwrite => [ "message" ]
      }
    mutate {
        gsub => ["timestamp2", "MSK", "Europe/Moscow"]
    }
    date {
        match => ["timestamp2", "M'/'dd'/'yy HH:mm:ss:SSS ZZZ"]
        target => "@timestamp"
    }

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.