2016-07-27 50 views

回答

1

行情(RTFM):

首先,你可以使用Oniguruma语法命名捕获,这将 让你一段文字匹配并将其保存为一个字段:

(?<field_name>the pattern here) 

...

或者,您可以创建自定义模式文件。

  • 创建一个目录名为花纹,文件叫额外的(文件名称并不重要,但将其命名为有意义的自己)
  • 在该文件中,写上你需要的模式名称模式,一个空格,然后是该模式的正则表达式。

所以,你可以创建包含行模式文件:

CUST_DATE %{MONTH} %{MONTHDAY} %{TIME} 

然后使用patterns_dir设置在这个插件来告诉logstash 在您的自定义模式目录。

filter { 
    grok { 
    patterns_dir => ["./patterns"] 
    match => { "message" => "%{CUST_DATE:datestamp}" } 
    } 
} 

会导致现场:

datestamp => "Jul 26 09:46:37" 
+0

是它不需要添加'/ s'为空格的模式 'CUST_DATE%{MONTH}%{} MONTHDAY% {TIME}'? –

+0

不,像大多数正则表达式引擎onigurama接受'' –