2016-07-27 94 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接受'' –