2

Thu Sep 27 15:30:27 BST 2012:- Invalid token $_POST[custom], which indicates the amount, userid

这是来自我尝试使用 grok for logstash 解析的日志文件。

前几个字段没问题,它似乎非常接近 DATESTAMP_OTHER,但我认为 BST 的英国时区搞砸了。

到此为止,但不知道如何使它工作!

%{DAY} %{MONTH} %{MONTHDAY} %{TIME} %([PMCEB][SD]T) %{YEAR} %{GREEDYDATA:message}

4

2 回答 2

11

1) 试用Grok 调试器,它可以让您在现场测试您的 Grok 模式。

2)另外,改变你%([PMCEB][SD]T)的东西,比如(?<variable_name>(BST)*)开始。您对普通正则表达式使用了错误的语法。

3)最重要的是阅读文档。我刚才提到的所有内容都直接来自文档。

于 2013-05-19T08:50:44.383 回答
0

这是我解决问题的方法:

TZEXPANDED (?:[PMCEB][SD]T) MYCUSTOM %{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{TZEXPANDED} %{YEAR}

或者,如果您愿意:

MYCUSTOM %{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{(?:[PMCEB][SD]T)} %{YEAR}

在我看来,第一个选项更好,因为您可以稍后将该模式用于其他用途

问候

于 2013-02-17T18:14:46.647 回答