Проблема с парсингом логов в Logstash

Пришла в голову идея добывать и хранить логи с большого зоопарка сетевого оборудования с помощью ELK.
Все шло отлично, пока не добрался до фильтров.
Вот пример моих логов:

23-Nov-2008 03:53:27 :%STP-W-PORTSTATUS: e1: STP status Forwarding
23-Nov-2008 03:53:24 :%LINK-W-Down:  e1
23-Nov-2008 03:53:23 :%LINK-I-Up:  e1

Вот такой получился фильтр.

filter {
  if [type] == "ring" {
     grok {
      match => { "message" => "%{SYSLOGHOST:date} %{TIME:time} %{NOTSPACE:ID} %{BASE16FLOAT:port}%{GREEDYDATA:msg}" }
       add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

Проверил его несколькими онлайн парсерами - идеально. На а на выводе kabana получаю tags_grokparsefailure.
Я полностью уверен что это именно фильтр, так как если я просто оставляю %{GREEDYDATA:msg} все прекрасно работает, но идет сплошным текстом.
И что делать, когда в логе появляются несколько отличающиеся события, например:
23-Nov-2008 03:53:26 :%AAA-I-CONNECT: User CLI session for user komarik over telnet , source 188.133.124.16 destination 192.168.0.1 ACCEPTED
Тут только весь вывод, начиная с номера порта, парсить как GREEDYDATA, что бы и такие сообщения парсились ?
Тыкните в ошибку, пожалуйста. Уж слишком долго над этим сижу.

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