elasticsearch - 用于标记退回邮件的 Logstash grok 过滤器

标签 elasticsearch logstash logstash-grok

总结:我有一些出站 smtp 服务器,并通过 rsyslog 将邮件日志集中到我正在使用 logstash 的服务器上,输出到 elasticsearch,使用 kibana 进行搜索。

我想将 Postfix 邮件日志条目标记为“BOUNCED”,例如:

2013-02-01T16:50:14+02:00 XXSMTPXX postfix/smtp[10879]: BC54A65BD4: to=<xxxx.yyyyyy@zzzz.com.t>, relay=none, delay=0.3, delays=0.01/0/0.29/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=gozdesigorta.com.t type=AAAA: Host not found)

我在 logstash.conf 中使用的 grok 过滤器是这样的:

grok {
    patterns_dir => "/etc/logstash/patterns"
    tags    => "postfix/bounce"
    pattern => "%{POSTFIXBOUNCE}"
    add_tag => "BOUNCED"
    named_captures_only => true
}

我正在使用的模式文件是 https://gist.github.com/4691822

我无法将这些日志行标记为 BOUNCED...我错过了什么?

最佳答案

我将模式更改为:

%{TIMESTAMP_ISO8601} %{HOST} %{SYSLOGPROG}: %{QUEUEID}: to=<%{EMAILADDRESS:to}>, relay=%{RELAY}, delay=%{POSREAL:delay}, delays=%{DELAYS}, dsn=%{DSN}, status=%{STATUS} %{GREEDYDATA:reason}

现在我可以理解 ;)

关于elasticsearch - 用于标记退回邮件的 Logstash grok 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14649230/

相关文章:

elasticsearch - elasticsearch嵌套范围过滤器脚本

elasticsearch - Logstash-指定多个管道

elasticsearch - Elasticsearch轮胎 gem 。如何搜索 '&',以及我必须按顺序使用哪些分析器索引 '&'?

scala - Elasticsearch + Spark:使用自定义文档_id编写json

ubuntu - Logstash 和 iptables

elasticsearch - Logstash/ Elasticsearch : guesses wrong for datatype for field

logging - Grok 格式化自定义时间戳

elasticsearch - Tomcat 日志的 Logstash GROK 过滤器

regex - Grok/Oniguruma 模式匹配来自 X-Forwarded-For header 的第一个 IP

elasticsearch - 在 elasticsearch 中查找不同的值,而不是不同的计数