Преобразуйте строку журнала в поля, разделенные запятыми, используя logstash

Я совершенно новичок в Logstash. Может кто-нибудь сказать мне фильтр для добавления в файл конфигурации, чтобы отделить следующую строку журнала с помощью Logstash?

"2011/08/10 09: 47: 23.449598,0.001199, udp, 203.136.22.37,15306, <->, 147.32.84.229,13363, CON, 0,0,2,317,64, flow = Background-UDP-Foundised",

Я хочу, чтобы приведенная выше строка возвращала объект JSON, как показано ниже:

{
TimeStamp: 2011/08/10 09:47:23.449598
Value: 0.001199
protocol: udp
IP: 203.136.22.37
...
}

1 ответ

Решение

Скопируйте текст ниже и запишите его в файл conf и запустите logstash. Он будет принимать ввод с консоли и выводить на консоль в желаемом формате.

input {
   stdin{
   }
}
filter {
        grok {
           match => ["message","%{DATESTAMP:timestamp},%{BASE16FLOAT:value},%{WORD:protocol},%{IP:ip},%{GREEDYDATA:remaining}" ]
        }
}
output {
  stdout {
        codec => rubydebug
  }
}
Другие вопросы по тегам