私はlogstashとCsv filter pluginを利用して、新しいファイルのディレクトリを見て、それらをElasticsearchに処理したいと思っています。これは、これと同様の構成で、容易に達成可能である:logstashはどのような状態を維持しますか?
input {
file {
path => "/csv/*.csv"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
csv {
separator => ","
}
}
output {
elasticsearch {
hosts => "${ELASTICSEARCH_URL}"
index => "myData"
document_type => "auto"
}
}
私の主な関心事は、復元力と整合性です。
回復力 - 私は、彼が一年以上前にこれで課題を説明しJoão Duarteことで話を見ました。彼は、(その時の)ログスタッシュはすべての状態を記憶に保持し、失敗に対して回復力がないと説明しています。これは本当ですか?彼は潜在的にファイルに状態を格納することを暗示していますが、このファイルは今存在していますか? Csvファイルを読み込んでいる途中でlogstashがクラッシュした場合は、再起動時に中断したところから続ける必要があります。これは可能ですか?
インテグリティ - グーグルリングのかなりの量の後には、Logstash is still incapable of deleting (or renaming) the Csv file after it's readと思われます。私のデータは冪等ではないかもしれませんし、同じCsvを2度読むことは許されません。しかし、logstashは同じファイルを何度も試し続けていないので、同じファイルを(少なくとも直ちに)読み取らないようにするメカニズムがあります。 Csvファイルを読み込んだ後(削除、名前変更、移動)、この時点で "何か"することを勧められますが、これが不可能な場合はcsvファイルをクリーンアップするための最良の方法は何ですか?永遠にハングアップする。
なぜこれがダウン票を獲得したのか分かりませんか? – szxnyc