0

Logstash と Elastic Search のログ分析環境を構築しました。ハードウェア環境はハイエンドですが、logstash のパフォーマンスは遅いです。現在の目標は、入力、フィルター、または出力に時間がかかる次の領域を見つけることです。そのため、監視することにしました。現在のところ、Java スレッド ダンプ分析を使用するという 1 つのオプションがあります。これが唯一の方法ですか、それとも他に利用可能なオプションがありますか。

conf ファイルの詳細

input {
   file {
      path => ["home/**/*.log"]
      start_position => beginning
  }

}

filter {}

output {
    stdout { codec => rubydebug }
    elasticsearch {}
}
4

1 に答える 1

0

個人的には、最善の方法ではないかもしれませんが、出力セクションを削除してジェネレータープラグインを使用した後、ローカルで実行して構成をテストしていました。他の入力 (ファイル、tcp、正確なデータを使用できるものは何でも) も可能です。

次に、必要に応じて構成を変更し、次のコマンドを実行して違いを確認しました。time java -jar logstash.jar agent -f conffile

経験上、詳細な解析だけでなく if ステートメントにも大量のリソースが必要であり、それらを最適化することで一部を節約できました (あなたのケースではあまり見られません)。個人的には、最初にルビー ブロックの有無にかかわらず実行して、これが多くのリソースを消費するかどうかを確認します (ルビー部分がどのように生成されるかはよくわかりません)。

ジョブを並行して (特に複数のコアで) 実行することを確認することもできます。デフォルトでは、logstash は 1 つのワーカーのみを使用します (またはそれを行うために使用されます)。場合によっては、複数のワーカーが予期しない副作用を引き起こす可能性があることに注意してください (たとえば、統計の実行など。ここでは確認できません)。

于 2015-01-28T21:45:12.427 に答える