У меня есть свободный форвардер, который выдает следующую ошибку:
2018-02-08 13:07:05 +0000 [warn]: pattern not match: "192.168.6.121 - - [08/Feb/2018:18:37:05 +0530] \"POST /shorten HTTP/1.1\" 200 496 \"-\" \"-\" 6"
Ниже приведено содержимое исходного блока в файле td-agent.conf.
<source>
@type tail
path /var/log/xyz.log
pos_file /var/log/td-agent/xyz.log.pos
tag xyz.url
format /(?<host>[\S]) \[(?<timestamp>.+)\] "(?<method>[\S]+) (?<path>[\S]+) (?<http>[\S]+)" (?<respcode>[\S]+) (?<resptime>[\S]) "(?<un1>[\S])" "(?<agent>.+)" (?<un2>[\S])/
</source>
Я проверил регулярное выражение, взяв образец файла журнала на https://www.debuggex.com/.
Мне действительно нужно предоставить регулярное выражение? Разве я не могу просто сказать fluentd, чтобы он воспринимал полную строку журнала как необработанное сообщение?
Любая помощь будет оценена по достоинству.