#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