輸出到 ElasticSearch 多個索引和對映

有時,你需要在 ElasticSearch 中輸出到多個索引,或者在它們滾入時具有要應用於新索引的自定義對映。

有兩種方法可以應用自定義對映。一種方法是上傳 ElasticSearch 模板。請參閱 ElasticSearch 文件。另一種方法是在 elasticsearch {} 輸出中指定對映。這就是這裡顯示的內容。

output {
  if [type] == 'metrics' {
    # The 'metrics' index rotates weekly.
    # The 'metrics-mapping.json' file defines the custom mappings.
    elasticsearch {
      hosts              => [ 'localhost' ]
      index              => "metrics-%{xxxx.ww}"
      manage_template    => true
      template           => "/etc/logstash/metrics-mapping.json"
      template_overwrite => true
    }
  }
}

這會將 metrics 事件輸出到 ElasticSearch 上的 metrics- 索引,它將使用 ISO 周每週輪換一次。用於新索引的模板定義為此配置的一部分。定義模板具有將欄位型別強制為統一型別的優點。這在較大的配置中很有用,其中多種型別可能嘗試將欄位定義為稍微不同的資料型別。

此方法在登臺和 QA 環境中很有用,因為 ElasticSearch 模板由 LogStash 程式碼定義,不必作為 ElasticSearch 叢集設定的一部分單獨配置。