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接受'' –