logstash配置:为不同目的设置过滤器

时间:2018-05-10 13:57:03

标签: logstash logstash-configuration

是否可以为不同目的配置相同的logstash.conf? 例如:

  • 申请日志
  • 错误的堆栈跟踪

我有一个Spring Boot应用程序,我使用logstash-logback-encoder插件

1 个答案:

答案 0 :(得分:0)

是的,您可以,但每个索引都需要某种标识,例如类型或标记。我更喜欢使用代码,因为当您的数据包含名为' type'的字段时,您可能会遇到问题。请查看下面的示例配置文件,了解两个索引:

input {
  file {
    path => "/log/app_log.log"
    tags => ["app_log"]
  }

  file {
    path => "/log/stacktrace.log"
    type => ["stacktrace"]
  }
}

filter {
  if "app_log" in [tags] {
  #Some fitlering for app_log  
  }
  if "stacktrace" in [tags] {
  #Some fitlering for stacktrace
  }

}

output {
   if "app_log" in [tags] {
      elasticsearch {
         index => "app_log-%{+YYYY.MM.dd}"
         hosts => ["localhost:9200"]
      }
   }
   if "stacktrace" in [tags] {
       elasticsearch {
         index => "stacktrace-%{+YYYY.MM.dd}"
         hosts => ["localhost:9200"]
       }
   }
}

您还可以根据需要添加任意数量的jdbc输入。您不必担心不同输入之间的中断时间,因为logstash并行运行每个输入。