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 件のコメント:
コメントを投稿