使用 grok 解析后缀事件

Parsing postfix events with grok

我正在尝试了解 logstash 和 grok 是如何解析消息的。我找到了那个例子 ftp://ftp.linux-magazine.com/pub/listings/magazine/185/ELKstack/configfiles/etc_logstash/conf.d/5003-postfix-filter.conf

开头是这样的:

filter {
     # grok log lines by program name (listed alpabetically)
     if [program] =~ /^postfix.*\/anvil$/ {
         grok{...

但是不明白[程序]是在哪里解析的。我正在使用 logstash 2.2 该示例在我的 logstash 安装中不起作用,未解析任何内容。

我自己回答。

该示例假设事件来自 syslog(在这种情况下字段 "program" 存在),而不是我用来将事件发送到 logstash 的 filebeats。

修复它:

https://github.com/whyscream/postfix-grok-patterns/blob/master/ALTERNATIVE-INPUTS.md