没有模式文件的Grok logstash消息

use*_*476 0 design-patterns logstash

我想知道是否可以使用logstash来消息,而无需使用外部模式文件,并直接在我的配置中编写我的模式:

例如,现在它的工作方式如下:

input { 
     stdin{     
    }   
}
filter {
    grok {
        patterns_dir => "./patterns"
        match => ["message","%{PATTERNFILE:test}"]
    }
}

output {
    stdout {codec => rubydebug}

}
Run Code Online (Sandbox Code Playgroud)

我在一个模式文件夹中有一个文件,其中包含以下内容:

PATTERNFILE .*
Run Code Online (Sandbox Code Playgroud)

但我想直接在过滤器中写出我的模式,如下所示:

filter {
    grok {
        patterns_dir => "./patterns"
        match => ["message","%{.*:test}"]
    }
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

use*_*476 8

要在没有exernal模式文件的情况下直接在配置文件中写入模式,解决方案是:

filter {grok{ match => ["message", "(?<test>.*)"]}}
Run Code Online (Sandbox Code Playgroud)

该方法在http://logstash.net/docs/1.4.2/filters/grok "自定义模式"一节中描述.