Logstashの起動に掛かる時間について


#1

elasticsearchへのログ送信のためにlogstashの導入を検討してます。

ログ解析用confファイルの実装とテスト実行( logstash -f <confファイルパス> )のイテレーションでご相談です。
手元のPCでテスト実行( logstash -f <confファイルパス> ) を実行すると
outputが実行されるまでに15~20秒程度の時間が毎回発生します。

elasticasearchへの送信は行わない動作確認で毎回発生するこの時間がかなりネックとなっています。
この時間を限りなく短縮する設定や方法はありますでしょうか。
logstashの設定ファイルはダウンロードしたものをそのまま利用しています。

■環境

  • Windows10 Pro 64bit
  • メモリ : 64GB
  • logstash-6.4.2

■confファイル
input {
file {
path => "..." # ローカルcsvファイルパス
start_position => "beginning"
sincedb_path => "NUL"
}
}
filter {
csv {
columns => [
"column0",
"column1",
"column2"
]
separator => ","
}
}
output {
stdout {
codec => rubydebug
}
}

■実行コマンド

  1. logstash - f <confファイルパス> ※15~20秒ほど待ち
  2. 結果を確認
  3. Ctrl+c 終了 ※10~20秒ほど待ち

(tsgkdt) #2

確かに起動して処理が開始されるまでや停止時には、結構な時間がかかりますね。
私はその状況を受け入れてしまってますが...

参考までに似たようなissueがありましたので、既にご覧になっているかもしれませんが紹介まで。
なお、まだOpenのままです。


#3

コメントありがとうございます。
filter

リンクの内容も一応目を通しておりますが改めて確認させていただきます。


(Jun Ohtani) #4

設定ファイルを試しながらという目的であれば、-rオプションはどうでしょうか?
Windowsでうまく動くかは試していただく必要がありますが(私はMacしか環境がないので)。

https://www.elastic.co/guide/en/logstash/current/running-logstash-command-line.html


#5

confファイルの input - filter - output 実装のトライ&エラーが主なシチュエーションとなります。

confの実装中の大半はelasticsearchへの送信は行わず stdout による結果の確認を繰り返しています。
変更→確認をもう少し短い時間でできないかと思い投稿しました。

ただ、johtaniさんが仰る -r オプションにて大幅な改善が行えましたのでこのオプションにて作業を進めさせていただきます。
情報ありがとうございました。


(system) #6

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.