我将日志从 rsyslog 转发到 logstash 时遇到一些麻烦,我写了这个 grok 过滤器,但它不起作用。也许问题是服务器正在一行中写入所有日志。
(?<AUDIt_LOG>[(0-9A-U]{0,4})(?<DATE>[0-9A-F]{8})%{INT:Log_Code}(?<Type>[a-zA-Z]{0,5})%{NOTSPACE:ServiceName} %{SPACE} %{NOTSPACE:Host} %{SPACE} %{WORD:Bank}&&%{WORD:BANK2}%{SPACE} %{WORD:USERNAME}
请点击此链接获取示例日志。https://drive.google.com/open?id=0Bx8yrs4bWFFjTFlpTkJhTl9SMHM
你肯定每行都有每个日志。您还可以使用 Grok 调试器来确保正确解析日志。
Heroku 上的 Grok 调试器