web-dev-qa-db-ja.com

logstashにさまざまなインデックスにさまざまな入力を追加させる

埋め込みelastisearchを使用するようにlogstashをセットアップしました。
イベントをログに記録できます。
私のlogstashconfは次のようになります。
https://Gist.github.com/khebbie/42d72d212cf3727a03a

ここで、別のudp入力を追加し、その入力に別のインデックスでインデックスを付けたいと思います。

それはどういうわけか可能ですか?レポートを簡単にするためにこれを行うので、あるインデックスにシステムログイベントを、別のインデックスにビジネスログイベントを含めることができます。

10
khebbie

たとえば、出力セクションで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"
}
43
Magnus Bäck