1 つの logstash ノードで複数のサーバーのログを収集したいと考えています。出力として、サーバーごとに 1 つのファイルを保存したいと思います。ログには、どのサーバーがログを生成したかを示す「source_host」フィールドがあります。
出力として、「source_host」という名前のファイルの束を取得したいと思います。ソース ホストは頻繁に変更されるため、一般的な構成が必要です
たとえば、サーバー「foo」からのログは /logs/foo に保存し、サーバー「bar」からのログは /logs/bar に保存する必要があります。
このように設定してみましたが、ファイル名が「%{source_host}」になってしまいます。%{host} を使用すると、ファイルは収集サーバーのホスト名を取得します。
output{
file {
path => "/tmp/%{source_host}"
}
}