您可以根据其中一个字段的值在索引名称中使用模式。在这里,我们使用
type字段的值来命名索引:
output { stdout {prec => rubydebug} elasticsearch { host => "localhost" protocol => "http" index => "%{type}_indexer" }}您还可以将多个
elasticsearch输出用于同一ES主机或不同ES主机:
output { stdout {prec => rubydebug} elasticsearch { host => "localhost" protocol => "http" index => "trial_indexer" } elasticsearch { host => "localhost" protocol => "http" index => "movie_indexer" }}或者,您可能想根据某个变量将文档路由到不同的索引:
output { stdout {prec => rubydebug} if [type] == "trial" { elasticsearch { host => "localhost" protocol => "http" index => "trial_indexer"} } else { elasticsearch { host => "localhost" protocol => "http" index => "movie_indexer"} }}更新
在Logstash 2和5中,语法有所变化:
output { stdout {prec => rubydebug} if [type] == "trial" { elasticsearch { hosts => "localhost:9200" index => "trial_indexer"} } else { elasticsearch { hosts => "localhost:9200" index => "movie_indexer"} }}


