#parsing #logstash #logstash-grok
#синтаксический анализ #logstash #logstash-grok
Вопрос:
Я хотел бы проанализировать свой журнал доступа apache, но я предполагаю, что в моем шаблоне grok что-то не так.
Следующие журналы — это то, что я хочу проанализировать.
"message": "221.251.246.139 - - [14/Sep/2020:04:56:04 0000] "POST /services/api/agent/liveview_image_upload HTTP/1.1" 200 45 "-" "Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko" 6019 234 1618 "-""
И вот что я анализировал, используя это сообщение.
%{IPORHOST:clientip} %{USER:ident} %{USER:auth} [%{HTTPDATE:timestamp}] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})) %{NUMBER:response} (?:%{NUMBER:bytes})
Согласно моему процессу синтаксического анализа, он может анализировать до «-«. Я хочу проанализировать остальные мои сообщения.
Как я могу проанализировать остальное? И правильно ли то, что я сделал до сих пор?
Комментарии:
1. Вместо этого вы можете использовать
%{HTTPD_COMMONLOG}
шаблон. Вы можете увидеть, к чему это приводит здесь .2. @baudsp Как я могу разбить его на детали, такие как синтаксический анализ, а не просто в целом, как %{COMBINEDAPACHELOG}?
3. Это
%{IPORHOST:clientip} %{HTTPDUSER:ident} %{HTTPDUSER:auth} [%{HTTPDATE:timestamp}] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" (?:-|%{NUMBER:response}) (?:-|%{NUMBER:bytes})
? (имейте в виду, это именно то, на что%{HTTPD_COMMONLOG}
переводится)4. @baudsp АХ, я понимаю. Я сделаю это на основе того, что вы мне сказали. Спасибо, что дали мне знать.