Преобразуйте строку журнала в поля, разделенные запятыми, используя 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
}
}