使logstash为不同的索引添加不同的输入

时间:2014-11-26 09:55:38

标签: elasticsearch logstash

我已经设置了logstash来使用嵌入式弹性系统 我可以记录事件 我的logstash conf看起来如此:
https://gist.github.com/khebbie/42d72d212cf3727a03a0

现在我想添加另一个udp输入,并将该输入索引到另一个索引中。

这有可能吗? 我会这样做,使报告更容易,所以我可以在一个索引中有系统日志事件,在另一个索引中有业务日志事件。

1 个答案:

答案 0 :(得分:41)

在输出部分使用if条件,具体取决于例如:消息类型或任何消息字段对索引的选择很重要。

input {
  udp {
    ...
    type => "foo"
  }
  file {
    ...
    type => "bar"
  }
}

output {
  if [type] == "foo" {
    elasticsearch {
      ...
      index => "foo-index"
    }
  } else {
    elasticsearch {
      ...
      index => "bar-index"
    }
  }
}

或者,如果消息类型可以直接进入索引名称,则可以使用单个输出声明:

elasticsearch {
  ...
  index => "%{type}-index"
}