5

Logstash を再起動すると、Logstash がログ イベントを複製することが時々観察されました。start_position、、、構成オプションsincedb_pathを適用する正しい方法は何かと考えていました。sincedb_write_interval

  • 以下の例のように、同じ場所に複数のファイルがある場合はどうなりますか/home/tom/testData/*.log
  • XXX.logたとえば、ファイルの名前が変更されXXX-<date>.logて新しいXXX.logファイルが作成されるなど、ファイルのローテーションが発生するとどうなりますか。この場合、名前は変わりませんが、inode は変わります。

誰かがこれに光を当てることができれば、非常に感謝しています。

input {
           file {
             path => "/home/tom/testData/*.log"
             type => "log"
             start_position => "beginning"
             sincedb_path => "/persistent/loc"        
             sincedb_write_interval => 10
               }
       }
4

1 に答える 1

5

start_position (開始または終了) は、logstash でまだ確認されていないファイルにのみ使用されます。'beginning' を使用する唯一の理由は、古いファイルを読み込もうとしている場合です。

sincedb_path は、logstash がレジストリへの書き込み権限を持つディレクトリである必要があります。

sincedb_write_interval は、logstash が sincedb レジストリに書き込む頻度を定義します。値が大きいほど、logstash がクラッシュする危険性があります。

グロブに一致するファイルが複数ある場合、logstash はレジストリに複数のエントリを作成することで、それらを個別に追跡します。

レジストリには inode 番号が含まれているため、logstash はそのタイプのローテーションで何をすべきかを認識しています。

于 2015-05-04T17:04:17.730 に答える