2016-05-06 6 views
0

ストリーミングファイルではなく、必要に応じてlogstashを実行できますか?私はフォルダに置かれたファイルのセットを持っていますが、私は弾力検索に必要なだけのほんの少しだけプッシュしたいと思います。オンデマンドでlogstashを実行する

これはlogstashでも可能ですか?私はlogstashを使用せずにプログラムで行うオプションがあります。しかし、今日のファイルサイズ(〜10GB)と今後の予想される成長を考えると、logstashがオプションであるかどうかを確認したいと思います。

+0

ファイルをストリーミングする必要があるときはいつでもLogstashを手動で実行するのはどうですか? – Val

+0

Logstashは引数として入力ファイルを受け入れません。したがって、手動で行うには、異なる構成を作成する必要があります。また、処理が完了してもlogstashは停止しません。処理が終わるとすぐに停止するには、logstashが必要です。何か方法はありますか?提案してください – user1401472

+1

'stdin'入力を使用して、ファイルの内容をLogstashにパイプすることができます:' cat myfile.txt | bin/logstash -f logstash.conf'、 'logstash.conf'は' input {stdin {}} 'を定義します – Val

答えて

2

あなたは常にパイプの内容をできる監視したいファイルをsepcifyする

cat myfile.txt | bin/logstash -f logstash.conf 

logstash.conf

を定義:STDIN入力を使用してLogstashにファイル
-1

logstash-input-fileを参照してください。

input{ 
    file{ 
     path => ["/var/log/messages","/var/log/nginx/access.log"] 
    } 
} 

や、あなたの場合には、あなたはまた、フォルダを監視することができ、その中にいくつかのファイルを除外:

input{ 
    file{ 
     path => ["/var/log/nginx/*.log"] 
     exclude => "error.log" 
    } 
} 
+0

これはストリーミングファイルの標準設定です。このインスタンスでのlogstashの実行は、access.logファイルの処理が完了しても停止しません。それは何か修正があるかどうかを永遠に待つでしょう。私はファイル処理が完了するとすぐにプロセスを停止する方法があるかどうかを知りたいと思います。 – user1401472

関連する問題