好的,所以当我在Grok Debugger上测试它时,我需要一些帮助来弄清楚为什么Logstash会给我一个解析错误。这与Apache的自定义日志有关。
以下是原始日志条目:
57.85.212.139 tst.testing.com [13/Mar/2015:10:10:55 -0600] "POST /app/cp/authenticate/updateLog HTTP/1.1" 200 444 195268 "-" "-"
这是Grok模式:
(%{IP:clientip}|-) %{HOSTNAME:host} \[%{HTTPDATE:timestamp}\] "((?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion}))|-)" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{NUMBER:duration} "(%{DATA:referer}|-)" "(%{DATA:useragent}|-)"
以下是Logstash的错误:
{"tags":["_grokparsefailure"],"@version":1,"@timestamp":"2015-03-13T16:10:55.650Z","host":"EOA-ELB-TEST","file":"/var/log/apache2/access.log","message":"57.85.212.139 tst.testing.com [13/Mar/2015:10:10:55 -0600] \"POST /app/cp/authenticate/updateLog HTTP/1.1\" 200 444 216340 \"-\" \...
这对我没有意义。为什么它会传递验证器但在Logstash中失败?
非常感谢任何帮助。
谢谢!