Elastic Stack を使った予兆検知結果の可視化 〜Logstash を用いた Elasticsearch へのデータの取り込み〜

こんにちは。開発部の板橋です。

今回は Logstash を用いて Elasticsearch にデータを取り込む作業をします。

① 取り込むデータの準備

今回は以下のような CSV ファイルを取り込みます。

こちらの CSV ファイルは、2008/1/1~2018/12/31 まで、1 日 1 行ずつ記録したものです。
各日付の Value の値は、乱数を用いて生成したものですが、株価や円相場をイメージしていただけるとわかりやすいと思います。
このデータを Elasticsearch に取り込んでいきます。

② CSVファイルの設置

①で用意したファイルを (Logstashのルートフォルダ)/bin に設置します。

③ conf ファイルの用意

Logstash でのデータの取り込み方を指定する conf ファイルを作成します。
今回は以下のファイル SampleData.conf を用意しました。

それぞれの項目について説明します。

ここでは、取り込むデータを指定しています。
path がファイルのパスを、start_position がファイルのどの位置からデータを取り込むのかを指定しています。

ここでは CSV ファイルについて指定しています。
autodetect_column_names => true を指定することにより、CSV ファイルの 1 行目をカラム名として使用できます。

ここではデータの取り込み方を指定しています。
カラム名が Date の要素を、タイムゾーン UT Cで、@timezone という名前に変換して取り込んでいます。

ここでは削除するデータを指定しています。
message は取り込む際に Elasticsearch 側に生成される要素ですが、使わないため削除しています。
Date は上で @timezone として取り込んだため削除しています。

ここではデータの出力について指定しています。
今回は Elasticsearch を 3 台構成にしているのですが、それぞれのサーバーを指定しています。
また、出力される index 名を指定しています。(Elasticsearch では、データは index として保持されます。)

④ Logstash の起動

(Logstashのルートフォルダ)/bin に移動して以下のコマンドを実行し、Logstash を起動します。

Logstash.bat -f SampleData.conf

Logstash が起動すると conf ファイルの指定通りにデータが取り込まれていきます。

Logstash はファイルの最後までデータを取り込んでも、終了せずに残ります。そのため、データ取り込みが終了したあとに CSV ファイルにデータが追加されても、自動でデータの取り込みが行われていきます。

⑤ データの確認

Kibanaのコンソールより、

を実行することで index 名:sampledata_index のデータを確認することができます。
今回取り込んだデータは以下のようになります。

このように Elasticsearch にデータを取り込むことができます。
次回は Kibana を用いて取り込んだデータの可視化を行っていきたいと思います。
ありがとうございました。

<以降の記事>
Elastic Stack を使った予兆検知結果の可視化 〜異常検知の実行〜
Elastic Stack を使った予兆検知結果の可視化 〜検知した異常の通知〜
<前回の記事>
Elastic Stack を使った予兆検知結果の可視化 〜概要と環境構築〜

関連記事

  1. nRF Sniffer for Bluetooth LE でデータ解析…

  2. コミュニティ勉強会「PWAに備える3ヶ月」vol.2に参加してきました…

  3. アジャイル ~壁を乗り越える~【第3回 壁を乗り越える】

  4. 自宅Wi-Fiお知らせアプリ開発【第四回】 Wi-Fiお知らせ機能編

  5. WPF Prism を使ってみた

  6. BLEAD-TSHで遊ぼう!【スピンアウト企画:サイコロトークのお題の…