【发布时间】:2017-01-15 19:49:01
【问题描述】:
我在括号上遇到了一致的 grok 失败。我已经用“\”转义了括号。我也试图用通配符来愚弄它。 Grok 调试器可以正确解析,但无法在生产环境中解析。我有两个其他条目表现出相同的行为,而其他不带括号的模式正在解析。
'%{WORD:type}[%{INT:pid}]' 是问题所在。
#Jan 15 13:35:44 firewall sshd[1468]: Accepted publickey for john from 192.168.1.16 port 62529 ssh2: .....
AUTHLOG1 (%{SYSLOGTIMESTAMP:timestamp} %{WORD:src_host} %{WORD:type}\[%{INT:pid}\]: Accepted publickey for %{USERNAME:user} from %{IP:src_ip} port %{INT:port} %{WORD:protocol}*)
#Jan 15 13:35:44 firewall systemd-logind[1221]: New session 481 of user john.
AUTHLOG4 (%{SYSLOGTIMESTAMP:timestamp} %{WORD:src_host} (?<type>[a-z-]+)\[%{INT:pid}\]: Removed session %{INT:session}.)
AUTHLOG (?:%{AUTHLOG1}|%{AUTHLOG2}|%{AUTHLOG3}|%{AUTHLOG4}|%{AUTHLOG5}|%{AUTHLOG6})
if [type] == "authlog" {
grok {
match => { "message" => "%{AUTHLOG}"}
patterns_dir => ["/etc/logstash/grok"]
}
}
【问题讨论】:
-
请使用Tour,阅读How To Ask并创建MCVE。
-
我在 Kibana 中得到一个“tags:_grokparsefailure”。 Logstash 没有正确解析它。
标签: regex logstash logstash-grok grok