如何使用公共主机在logstash.conf文件中创建多个索引

时间:2018-03-14 08:40:53

标签: logstash elasticsearch-5

我对logstash很新。

在我们的应用程序中,我们正在创建多个索引,从下面的线程我可以理解如何解决这个问题 How to create multiple indexes in logstash.conf file?

但是这导致conf文件中有许多重复的行(对于host,ssl等)。所以我想检查是否有更好的方法吗?

output {  
  stdout {codec => rubydebug}
  if [type] == "trial" {
    elasticsearch {  
        hosts => "localhost:9200"  
        index => "trial_indexer"   
    }
  } else {
    elasticsearch {  
        hosts => "localhost:9200"  
        index => "movie_indexer"   
    }
}

而不是上面的配置,我可以有类似下面的内容吗?

output {  
  stdout {codec => rubydebug}
  elasticsearch {  
        hosts => "localhost:9200"
  }
  if [type] == "trial" {
    elasticsearch {  
        index => "trial_indexer"   
    }
  } else {
    elasticsearch {  
        index => "movie_indexer"   
    }
}

1 个答案:

答案 0 :(得分:1)

您正在寻找的是在logstash管道中使用环境变量。您可以定义一次,并且可以使用与您对HOST,SSL等相同的冗余值。

了解更多信息Logstash Use Environmental Variables

例如,

output {
  elasticsearch{
    hosts => ${ES_HOST}
    index => "%{type}-indexer"
  }
}

如果有帮助,请告诉我。