如何在Logstash配置文件中包含过滤器?

时间:2016-08-19 03:26:33

标签: json logstash logstash-configuration

我正在使用LogStash,它接受日志文件中的数据,该日志文件具有不同类型的日志。

第一行表示自定义日志,而第二行表示JSON格式的日志。

现在,我想编写一个过滤器,它将根据内容解析日志,最后将所有JSON格式日志定向到一个名为jsonformat.log的文件,另一个日志记录到一个单独的文件中。

1 个答案:

答案 0 :(得分:2)

您可以利用json过滤器,检查是否失败,以决定将事件发送到何处。

input {
   file {
       path => "/Users/mysystem/Desktop/abc.log"
       start_position => beginning
       ignore_older => 0
   }
}
filter {
   json {
     source => "message"
   }
}
output {
  # this condition will be true if the log line is not valid JSON
  if "_jsonparsefailure" in [tags] {
    file {
       path => "/Users/mysystem/Desktop/nonjson.log"
    }
  }
  # this condition will be true if the log line is valid JSON
  else {
    file {
       path => "/Users/mysystem/Desktop/jsonformat.log"
    }
  }
}