Design patterns 没有模式文件的Grok logstash消息

Design patterns 没有模式文件的Grok logstash消息,design-patterns,logstash,Design Patterns,Logstash,我想知道是否可以在不使用外部模式文件的情况下使用logstash搜索消息,并直接在我的配置中写入我的模式: 例如,现在它的工作原理如下: input { stdin{ } } filter { grok { patterns_dir => "./patterns" match => ["message","%{PATTERNFILE:test}"] } } output { stdout {

我想知道是否可以在不使用外部模式文件的情况下使用logstash搜索消息,并直接在我的配置中写入我的模式:

例如,现在它的工作原理如下:

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

output {
    stdout {codec => rubydebug}

}
filter {
    grok {
        patterns_dir => "./patterns"
        match => ["message","%{.*:test}"]
    }
}
我在patterns文件夹中有一个包含以下内容的文件:

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

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

output {
    stdout {codec => rubydebug}

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

但它不起作用。

要直接在配置文件中写入模式,而无需外部模式文件,解决方案是:

filter {grok{ match => ["message", "(?<test>.*)"]}}
在“自定义模式”一节中介绍了该方法。对于使用模式目录,您应该使用完整路径/etc/logstash/conf.d/patterns/dns\u domain,例如:

  grok {
    patterns_dir => "/etc/logstash/conf.d/patterns/dns_domain"
    match => { "Unparsed DNS Domain" => "%{BRACKETS:b1}%{META_INF:m1}" }
  }
  BRACKETS \(\d+\)
  META_INF [0-9A-Za-z\s\-_]+
  ~                                                                                                                                                                                                    
  ~ 
其中dns_域文件包含自定义模式。例如:

  grok {
    patterns_dir => "/etc/logstash/conf.d/patterns/dns_domain"
    match => { "Unparsed DNS Domain" => "%{BRACKETS:b1}%{META_INF:m1}" }
  }
  BRACKETS \(\d+\)
  META_INF [0-9A-Za-z\s\-_]+
  ~                                                                                                                                                                                                    
  ~ 

匹配=>{message=>%{PATTERNFILE}