Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Logstash grok筛选器,用于标记接收和反弹的邮件_Regex_Nginx_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Logstash_Logstash Grok - Fatal编程技术网 elasticsearch,logstash,logstash-grok,Regex,Nginx,elasticsearch,Logstash,Logstash Grok" /> elasticsearch,logstash,logstash-grok,Regex,Nginx,elasticsearch,Logstash,Logstash Grok" />

Regex Logstash grok筛选器,用于标记接收和反弹的邮件

Regex Logstash grok筛选器,用于标记接收和反弹的邮件,regex,nginx,elasticsearch,logstash,logstash-grok,Regex,Nginx,elasticsearch,Logstash,Logstash Grok,Sthg让我抓狂,我想解析Postfix日志以了解电子邮件的状态,以下是我迄今为止所做的尝试: input { file {path => "/var/log/mail.log"} } filter { kv { trim => "<>" } if [message] =~ /[ "status=bounced" ]/ { grok { patterns_dir => "/et

Sthg让我抓狂,我想解析Postfix日志以了解电子邮件的状态,以下是我迄今为止所做的尝试:

input {
   file {path => "/var/log/mail.log"}
}

filter {
    kv {
        trim => "<>"
    }

    if [message] =~ /[ "status=bounced" ]/ {
        grok {
            patterns_dir => "/etc/logstash/patterns"
            match => {"message" => "%{SYSLOGBASE} (?<QID>[0-9A-F]{10}): %{GREEDYDATA:message}"}
            add_tag => "bounce"
        }
    }

}
output {
   if "bounce" in [tags] {
      stdout { codec => rubydebug }
   }
}
但我的过滤器有个问题让我发疯


有什么想法吗?

我发现了问题

它来自这个测试:

if [message] =~ /[ "bounced" ]/ {
  mutate {add_tag => [ "bounce" ]}
}
正则表达式是介于
/
之间的部分,因此正则表达式的计算如下:

因此,您的所有行都将匹配并获得标签

为了工作,测试应为:

if [message] =~ /bounced/ {
  mutate {add_tag => [ "bounce" ]}
}

你能添加一个日志的例子吗?@ BUDSP我在问题中添加了日志,问题是ReGEX和过滤器里面的规则,但是我认为你的答案非常的有帮助,谢谢!
if [message] =~ /[ "bounced" ]/ {
  mutate {add_tag => [ "bounce" ]}
}
if [message] =~ /bounced/ {
  mutate {add_tag => [ "bounce" ]}
}