sincedb_path
をNUL
(Windows環境)に設定し、最初にstart_position
に設定して、ログファイルを強制的にリロードすることができました。ここに私のfile input
設定されていますlogstashを再起動せずに同じファイルを最初からリロードします
input {
file {
path => "myfile.csv"
start_position => beginning
ignore_older => 0
type => "my_document_type"
sincedb_path => "NUL"
stat_interval => 1
}
}
ファイルは実際に私がLogstash、それが変更されるたびに再起動しますが、私はstat_interval
で述べたように、それは秒ごとにリロードすることにしたいたびにリロードされます。
私もそこには変更はありません、私はフィルタに日付ベースのフィールドを追加していると私が更新date_field
で毎日同じデータを必要とするのでlogstashを再起動せずにしても再ロードする必要があります。
filter {
csv {
columns => ["MyFirstColumn", "MySecondColumn"]
separator => ";"
add_field => {
"date_field" => "%{+ddMMyyy}"
}
}
}
ここで予想される動作の一例である:
ファイル内容:
Column A;Column B
Value X;Value Y
データは、弾性検索インデックスに送ら:
Column A : Value X, Column B : Value Y, date_field : 05122016
日後、でも私は、次のデータがElasticsearchで同じインデックスに追加したいファイルを変更することなく:
Column A : Value X, Column B : Value Y, date_field : 06122016
で利用できますか?それは多くの、またはただ1つのラインを持っていますか? – luk
ファイルには多くの行が含まれています(各行にセミコロンで区切られた値) – M3HD1
新しい行を追加する場合、ファイルになると、新しい行を読み込むためにLogstashが起動します。あなたの場合**既存の**ラインを更新していますか?もしそうなら、Logstashは私の知識に従って再起動する必要があります。新しい行を追加した場合 - より自然なこと - Logstashを再起動する必要はなく、 'sincedb_path'を設定する – luk