我正在使用logstash和logstash转发器设置ELK堆栈。我目前正在尝试使用此grok模式进行后缀日志记录; the specification
在logstash中,我包含了存储库中提到的2个文件。
这就是我的货运代理商;
"files": [
{
"paths": [ "/var/log/maillog" ],
"fields": { "type": "postfix" }
}
]
这是我回来的结果;
"message" => "Jul 18 10:00:05 XXXX postfix/smtp[XXXX]: XXXX: to=<XXXX>, orig_to=<XXX>, relay=XXXXX, delay=0.35, delays=0/0.02/0.09/0.24, dsn=2.0.0, status=sent (250 Ok XXXXX)",
"@version" => "1",
"@timestamp" => "2015-07-18T20:17:06.796Z",
"type" => "postfix",
"file" => "/var/log/maillog",
"host" => "XXXX",
"offset" => "285776"
我相信我错过了一个至关重要的部分。我认为我需要先做一些事情,因为&#34; syslogs&#34;在存储库中提到并且在grok中,正在为程序执行检查。
我错过了哪一步?我正在使用logstash 1.5.x
感谢您的帮助!
答案 0 :(得分:1)
这最终成功了
filter {
if [type] =~ "postfix" {
grok {
match => [ "message", "%{SYSLOGBASE} %{GREEDYDATA:message}" ]
overwrite => [ "message" ]
}
}
}