Logstash:多行日志的筛选器配置

Logstash:多行日志的筛选器配置,logstash,kibana-4,logstash-configuration,Logstash,Kibana 4,Logstash Configuration,我正在尝试使用logstash解析这个多行日志。我的日志如下所示 ==> /var/log/mail/log/alerting.log <== 2016/01/30 08:40:29 , worker_1 , {u'name': u'high', u'type': u'alert', u'alertid': 1122, u'queue_in_time': u'2016-01-30 08:40:29', u'path': u'/var/log/mail/lo

我正在尝试使用logstash解析这个多行日志。我的日志如下所示

   ==> /var/log/mail/log/alerting.log <==

    2016/01/30 08:40:29 , worker_1 , 

    {u'name': u'high', u'type': u'alert', u'alertid': 1122, u'queue_in_time': u'2016-01-30 08:40:29', u'path': u'/var/log/mail/log/alert.log'}
有人能告诉我如何配置这种日志的过滤器吗?
我是ELK stack的新手,无法理解如何配置配置文件以解析自定义日志

多行配置似乎与您的输入匹配。不过,你没有提到这个问题。事件打印到标准输出时是什么样子的?好的。谢谢你的更新。另一个问题是,我不确定如何为此类日志配置筛选器。在此方面的任何帮助都将不胜感激。您如何筛选它是个人喜好。是否要删除所有不是“警报”的事件?这一切都取决于你。我对事件时间戳、名称、类型、警报ID、队列时间感兴趣。我已经为此在es中创建了映射。需要从这些字段中获取值。我不知道如何通过阅读logstash文档来完成这项工作。如果您的问题是关于如何解析(现在合并的)消息,那么这是grok{}过滤器的工作。一旦将json放入自己的字段中,就可以将其传递给json{}过滤器,它将为您生成更多字段。
    input {
      file {
        path => "/logs/var/alerts.log"
        type => "queue"
        start_position => "beginning"
        codec =>multiline{
                    pattern => "==>"
                    negate => true
                    what => previous
}
}
}
filter {

    if [type] == 'application'{
            date {
        match => [ "timestamp" , "yyyy/MM/dd HH:mm:ss" ]

                    }
        }
    }

    output {
      stdout { }
    }