Я пытаюсь очистить запись журнала в стеке ELK с помощью Grok. Мне нужно разобраться со следующим текстом:

/mnt/drive/fish/Cap Camel/Indigo - [Fair Game].jpg (34523) [2,0,34523,0,0,2,2]
/mnt/drive/fish/Cap Camel/Indigo - [Fair Game].jpg
/mnt/drive/fish/Cap Camel (1358)/Indigo - [Fair Game].jpg

Мне нужен путь, но он содержит пробелы, заглавные буквы, специальные символы и т. Д.?

Благодарность

0
fswings 4 Янв 2017 в 02:18
Попробуйте ^(?<file>(?:/[^/]+)+\.jpg)
 – 
Wiktor Stribiżew
4 Янв 2017 в 02:26
Я должен был пояснить, что файлы не всегда jpg, могут иметь любое расширение. Фактический путь заканчивается первым (
 – 
fswings
4 Янв 2017 в 02:27
Затем попробуйте ^(?<file>.*?)\s*\(, если путь к файлу идет до пробелов + ( сразу после него.
 – 
Wiktor Stribiżew
4 Янв 2017 в 02:29
Работает хорошо, однако я обнаружил, что для некоторых записей путь в конце концов является последним элементом (без элементов в квадратных скобках после). Можно ли попытаться найти два совпадения с образцом?
 – 
fswings
4 Янв 2017 в 02:56
Я обновил примеры. Спасибо за вашу помощь.
 – 
fswings
4 Янв 2017 в 03:01

1 ответ

Лучший ответ

Поскольку ваш третий пример содержит "(", мы не можем использовать это, чтобы определить изменение в первой строке.

Единственное, что связывает эти строки вместе, - это ".jpg". Вы сказали, что это не всегда может быть jpg, но, надеюсь, все они имеют суффиксы.

С этим предположением - а также с тем, что сам путь не содержит точек, этот шаблон работает в отладчике:

(?<file>[^\.]*\.[^ ]*)

«Все, что не является точкой, за которой следует точка, за которой следует все, что не является пробелом».

1
Alain Collins 4 Янв 2017 в 04:55
Спасибо за вашу помощь. В конце концов, используется более одного, если в ваших решениях используется тег _grokparsefailure для исправления элементов, не соответствующих Grok.
 – 
fswings
4 Янв 2017 в 20:58
Я не фанат использования GPF для логического управления. Вы можете поместить несколько паттернов в один и тот же грок.
 – 
Alain Collins
4 Янв 2017 в 21:00
Я мог бы изучить этот подход, спасибо за внимание. Поможет немного урезать конфигурацию.
 – 
fswings
4 Янв 2017 в 21:01