2015-12-17 4 views
3

У меня есть вход, который, как в следующемlogstash Grok захватывая повторяющийся узор

2015-12-02T12: 39: 57,546461 +08: 00 222.55.201.19 C): start_time = "2015-12- 02 ... некоторая другая информация о журнале ... src = 192.168.1.153 dst = 8.8.8.8 src_port = 51145 dst_port = 13 ... некоторая другая информация журнала ... start_time = "2015-12-02 src = 192.168 .1.123 ДСТ = 8.8.8.8 src_port = 52245 dst_port = 53 ... другие ... Информация о журнале

выше имеет много SRC и DST и все эти все ар е в одной строке.

Когда я использую "message" => "src=%{IP:SRC} dst=%{IP:DST}". Мне удается получить только первые src и dst. Я не могу получить остальную часть src и dst в строке.

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

+0

Я чувствую, что я столкнулся с теми же ошибками, как вы: http://stackoverflow.com/questions/29164972/how -to-split-logstash-event-contains-multiple-times-the-same-pattern – vdolez

+1

Чтобы решить мою проблему, мне пришлось создать несколько конфигураций logstash и связать их. Вы можете узнать больше о разделенном фильтре в документации: https://www.elastic.co/guide/en/logstash/current/plugins-filters-split.html – vdolez

+0

Я решил эту проблему с помощью работы. Я вносил изменения в то, как генерируется источник. У источника теперь есть запись на строку. –

ответ

1

Я решил эту проблему через работу. Я вносил изменения в то, как генерируется источник. У источника теперь есть запись на строку.

Я также попробовал метод «split». Это действительно решить эту проблему, но количество кодов значительно увеличить

+0

Не могли бы вы рассказать о версии Logstash, которую вы использовали? Приятно здесь решить свою проблему. – vdolez

+1

Моя версия - logstash 2.2.2 –

1

Другим гораздо лучшим способом это киловольт фильтр

Смежные вопросы