2
我是logstash和grok的新手,對模式有疑問。如何結合字符在GROK中創建自定義模式
年07月26 9點46分37秒
上述內容包含%{MONTH} %{MONTHDAY} %{TIME}
和空格。
我需要知道如何將所有這些結合起來,創建一個模式%{sample_timestamp}
我是logstash和grok的新手,對模式有疑問。如何結合字符在GROK中創建自定義模式
年07月26 9點46分37秒
上述內容包含%{MONTH} %{MONTHDAY} %{TIME}
和空格。
我需要知道如何將所有這些結合起來,創建一個模式%{sample_timestamp}
行情(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"
是它不需要添加'/ s'爲空格的模式 'CUST_DATE%{MONTH}%{} MONTHDAY% {TIME}'? –
不,像大多數正則表達式引擎onigurama接受'' –