Какой шаблон для pgbadger соответствует журналам RDS? - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь проанализировать файл журнала, сгенерированный моим экземпляром RDS, используя pgBadger, пока безрезультатно.

Для log_line_prefix установлено значение %t:%r:%u@%d:[%p]:

Пример строкив файле журнала выглядит так:

2019-09-24 17:19:25 UTC:172.31.10.173(53224):username@database:[12829]:LOG:  execute <unnamed>: SELECT 1

Я использую pgbadger с этой командой:

./pgbadger -p "%t:%r:%u@%d:[%p]:" postgresql.log.2019-09-24-17 -o pgbadger_rdsinstance.html

Выдает приведенную ниже ошибку

Unmatched ( in regex; marked by <-- HERE in m/^(?:\d+-\d+-\d+T\d+:\d+:\d+\.\d+Z)?\s*(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)\s*[^:]*:( <-- HERE [^\(:]+\(\d+\):([^\@]+)\@([^:]+):\[(\d+)\]:(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})(?: [A-Z\+\-\d]{3,6})?:([a-zA-Z0-9\-\.]+|\[local\]|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[0-9a-fA-F:]+)?[\(\d\)]*:([0-9a-zA-Z\_\[\]\-\.]*)@([0-9a-zA-Z\_\[\]\-\.]*):\[(\d+)\]:(LOG|WARNING|ERROR|FATAL|PANIC|DETAIL|STATEMENT|HINT|CONTEXT|LOCATION):\s+(.*)/ at ./pgbadger line 2430.

Не уверен, чтодолжен быть правильный шаблон здесь.Похоже, что он не может проанализировать 172.31.10.173(53224).

Я попытался избежать скобок, как: %t:%r\\(%a\\):%u@%d:[%p]:, но это не помогает.

Я проанализировал образец файла журнала, удалив этот (53224) part, и все работает просто отлично.

Каким должен быть правильный шаблон для этого префикса?

...