fluentd regexp для извлечения событий из файла журнала

#regex #fluentd

#регулярное выражение #fluentd

Вопрос:

Я новичок в fluentd.

У меня есть журнал, который я хочу отправить в AWS с помощью fluentd, но я не могу понять, каким должно быть регулярное выражение.

Все строки журнала, кроме многострочных, начинаются с UUID.

Вот пример журнала:

 6b0815f2-8ff1-4181-a4e6-058148288281 2020-11-03 13:00:05.976366 [DEBUG] switch_core_state_machine.c:611 (some_other_data) State Change CS_REPORTING -> CS_DESTROY
  

И я пытаюсь получить UUID, дату и время и сообщение.

С помощью этого регулярного выражения:

 /^(?<UUID>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}) (?<time>.*) (?<message>[^ ]*)/gm
  

Я получаю последнее слово CS_DESTROY .

Я попробовал fluentular и все равно получил:

текст:

 f6a6e1ae-e52e-4aba-a8a5-4e3cc7f40914 2020-11-03 14:32:34.975779 [CRIT] mod_dptools.c:1866 audio3: https://mydomain.s3-eu-west-1.amazonaws.com/media/576d06e5-04fc-11eb-a52c-020fd8c14d18/5f9ddf2d5df0f698094395.mpg
  

регулярное выражение:

 ^(?<UUID>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}) (?<time>.*) (?<message>[^ ]*)$
  

и получил:

 time    2020/11/03 14:32:34  0000
UUID    f6a6e1ae-e52e-4aba-a8a5-4e3cc7f40914
message https://mydomain.s3-eu-west-1.amazonaws.com/media/576d06e5-04fc-11eb-a52c-020fd8c14d18/5f9ddf2d5df0f698094395.mpg
  

В нем отсутствует то, что находится между datetime и «https».

Комментарии:

1. Вот интерактивный инструмент отладки регулярных выражений fluentd: fluentular.herokuapp.com

2. @MaxLobur Спасибо, да, я уже пробовал там … не могу понять, в чем моя проблема..

Ответ №1:

Попробуйте:

 ^(?<UUID>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}) (?<time>[^[]*) (?<message>[.*)$
  

Жить в rubular: https://rubular.com/r/JQQXs5VTkr2IxM

Вот выходные данные для обоих журналов:

 Match 1
UUID    6b0815f2-8ff1-4181-a4e6-058148288281
time    2020-11-03 13:00:05.976366
message [DEBUG] switch_core_state_machine.c:611 (some_other_data) State Change CS_REPORTING -> CS_DESTROY

Match 2
UUID    f6a6e1ae-e52e-4aba-a8a5-4e3cc7f40914
time    2020-11-03 14:32:34.975779
message [CRIT] mod_dptools.c:1866 audio3: https://mydomain.s3-eu-west-1.amazonaws.com/media/576d06e5-04fc-11eb-a52c-020fd8c14d18/5f9ddf2d5df0f698094395.mpg