Elasticsearchにデータを送る
outputにelasticsearchプラグイン設定を追加する
logstash起動し、コンソールにCSV内容が表示されることを確認
output { stdout { codec => rubydebug } elasticsearch { hosts => "http://localhost:9200/" } }Elasticsearchの起動は
C:\apps\elasticsearch-7.4.0\bin\elasticsearch.bat
logstash起動し、コンソールにCSV内容が表示されることを確認
: 省略 { "@version" => "1", "path" => "d:/temp/20191011/CSV/work191010.csv", "host" => "DESKTOP-37HDMPE", "@timestamp" => 2019-10-31T08:13:09.688Z, "tags" => [ [0] "csv" ], "message" => "\"1182187647629873152\",\"191010 155433\",\"テスト\"" }
CSVフィルターの設定
CSVファイルを読み込む場合はCSVフィルターを使う
logstash.confにCSVフィルターの設定を追記
例)
CSVログの日時は"column2"フィールド。
column2フィールドを@timestampとして使用する場合は、CSVフィルターのconvertオプションに "フィールド名 => 型" の書式で指定。
また書式を指定する場合はdateフィルタのmatchオプションを使用する。
例)
logstash.confにCSVフィルターの設定を追記
filter { csv { } }この状態でlogstashを起動するとコンソールにCSVの内容が表示される
: 省略 { "tags" => [ [0] "csv" ], "@version" => "1", "message" => "\"1182187647629873152\",\"191010 155433\",\"テスト\"", "column1" => "1182187647629873152", "@timestamp" => 2019-10-31T22:31:34.928Z, "path" => "d:/temp/20191011/CSV//work191010.csv", "host" => "DESKTOP-37HDMPE", "column2" => "191010 155433", "column3" => "テスト" }不要な項目(フィールド)を消したい場合は remove_fieldオプションを指定 "remove_field => [フィールド名,…]"
例)
filter { csv { remove_field => ["column1","host","path"] } }出力結果
{ "column2" => "191010 155433", "@version" => "1", "message" => "\"1182187647629873152\",\"191010 155433\",\"テスト\"", "tags" => [ [0] "csv" ], "@timestamp" => 2019-10-31T22:42:03.559Z, "column3" => "テスト" }@timestampはLogstashがデータを取り込んだ時間。
CSVログの日時は"column2"フィールド。
column2フィールドを@timestampとして使用する場合は、CSVフィルターのconvertオプションに "フィールド名 => 型" の書式で指定。
また書式を指定する場合はdateフィルタのmatchオプションを使用する。
例)
filter { csv { convert => { "column2" => "date_time" } remove_field => ["column1","host","path"] } date { match => [ "column2", "YYMMdd HHmmss" ] } }出力結果
{ "column2" => "191010 155433", "message" => "\"1182187647629873152\",\"191010 155433\",\"テスト\"", "@timestamp" => 2019-10-10T06:54:33.000Z, "@version" => "1", "column3" => "テスト", "tags" => [ [0] "csv" ] }
コンフィグテスト
設定したコンフィグが正しいかテストを行う場合は-tオプションを指定
.\bin\logstash.bat -f .\config\logstash.conf -t
Elastic Stack, Elasticsearch
0 件のコメント:
コメントを投稿