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. ねぇClova、開発したい 【対話モデル作成編】

  2. Beaconアプリ開発記【その4 画面表示編】

  3. 準天頂衛星やIoTを活用した未来の防災システム

  4. ワインのボトルに加速度センサー付きBeacon(ビーコン)を取り付けて…

  5. BLEAD-TSHで遊ぼう!【作例集 モーターの無線遠隔制御編】

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