У меня есть PHP журнал этого форматаусловное соответствие с Grok для logstash
[Day Mon DD HH:MM:SS YYYY] [Log-Type] [client <ipv4 ip address>] <some php error type>: <other msg with /path/of/a/php/script/file.php and something else>
[Day Mon DD HH:MM:SS YYYY] [Log-Type] [client <ipv4 ip address>] <some php error type>: <other msg without any file name in it>
[Day Mon DD HH:MM:SS YYYY] [Log-Type] [client <ipv4 ip address>] <some msg with out semicolon in it but /path/of/a/file inside the message>
Это я пытаюсь отправить Graylog2 после обработки через logstash. Используя this post here, я смог начать. теперь я хотел бы получить дополнительные поля, так что моя окончательная версия будет выглядеть примерно так.
{
"message" => "<The entire error message goes here>",
"@version" => "1",
"@timestamp" => "converted timestamp from Day Mon DD HH:MM:SS YYYY",
"host" => "<ipv4 ip address>",
"logtime" => "Day Mon DD HH:MM:SS YYYY",
"loglevel" => "Log-Type",
"clientip" => "<ipv4 ip address>",
"php_error_type" => "<some php error type>"
"file_name_from_the_log" => "/path/of/a/file || /path/of/a/php/script/file.php"
"errormsg" => "<the error message after first colon (:) found>"
}
У меня есть выражение для отдельной линии, или по крайней мере я думаю, что они должны быть в состоянии разобрать, используя grokdebugger. что-то вроде этого:
%{DATA:php_error_type}: %{DATA:message_part1}%{URIPATHPARAM:file_name}%{GREEDYDATA:errormsg}
%{DATA:php_error_type}: %{GREEDYDATA:errormsg}
%{DATA:message_part1}%{URIPATHPARAM:file_name}%{GREEDYDATA:errormsg}
Но почему-то мне очень сложно заставить его работать для всего файла журнала.
Любое предложение пожалуйста? Кроме того, не уверен, что в файле журнала будут какие-либо другие сообщения об ошибках. но цель состоит в том, чтобы получить одинаковый формат для всех. Любые предложения, как решить эти журналы, чтобы получить вышеупомянутый формат?
Что значит «очень сложно»? Один из ваших шаблонов не работает в отладчике, или? –
Я не уверен, правильно задал вопрос. Я действительно хочу использовать все эти условия в файле конфигурации, так что все строки анализируются, и я получаю одинаковый вывод. На данный момент я не уверен, как добавить их, где их добавить. – Abhinav