:GROKフィルタを使用してCSV elasticsearch - logstash日付を使用して、インポートCSVは日時型のとして解析されていない私は、私は二つの方法使用して試してみましたlogstash を使用してelasticsearchにcsvファイルをインポートしようとしています
- を
:CSV用input { file { path => "path_to_my_csv.csv" start_position => "beginning" sincedb_path => "/dev/null" } } filter { csv { separator => "," columns => ["col1","col2_datetime"] } mutate {convert => [ "col1", "float" ]} date { locale => "en" match => ["col2_datetime", "ISO8601"] // tried this one also - match => ["col2_datetime", "yyyy-MM-dd HH:mm:ss"] timezone => "Asia/Kolkata" target => "@timestamp" // tried this one also - target => "col2_datetime" } } output { elasticsearch { hosts => "http://localhost:9200" index => "my_collection" } stdout {} }
1)は、以下の私のlogstashファイルですGROKフィルタ使用
2):私は、個々のファイルの両方を実行したときに
だから、私はできる午前:以下GROKフィルタについて
は私のlogstashファイルが問題
input {
file {
path => "path_to_my_csv.csv"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
grok {
match => { "message" => "(?<col1>(?:%{BASE10NUM})),(%{TIMESTAMP_ISO8601:col2_datetime})"}
remove_field => [ "message" ]
}
date {
match => ["col2_datetime", "yyyy-MM-dd HH:mm:ss"]
}
}
output {
elasticsearch {
hosts => "http://localhost:9200"
index => "my_collection_grok"
}
stdout {}
}
ですelasticsearchでデータをインポートします。しかし、私の日付フィールドはdatetime型として解析されず、文字列として保存されているため、日付フィルタを実行することができません。
誰かが、なぜそれが起こっているのか把握するのを助けることができます。 私のelasticsearchバージョンは5.4.1です。
ありがとうございます。
あなたのCSVファイルからのew行? – shantanuo
この 1234365,2016-12-02 19時00分52秒 1234368,2016-12-02 15時02分02秒 1234369,2016-12-02夜3時02分07秒 – pravindot17