Elastic Stack を使った予兆検知結果の可視化 〜概要と環境構築〜

はじめに

最近の仕事で Elastic Stack に携わる機会がありました。
試行錯誤の末、最終的には X-Pack を使って予兆検知の結果を可視化できたので、知識の定着を兼ねて書き連ねます。
導入編として、まず Elastic Stack の概要について。

概要

Elastic Stack は以下のような構成です。

ものすごく乱暴に言うと Web アプリケーションの構成に似ていて…
データベース (①Elasticsearch) があり、
Web アプリケーション (②Kibana) があり、
定期的にデータ取り込みを行うバッチ (③Logstash/Beats) があり、
さらに多くのプラグイン (④X-Pack) で機能が拡充されて…
という感じでとらえるとわかりやすいかと思います。

Elasticsearch

スケーラブルで Restful な、データの永続化、検索(全文検索)、分析を行うデータベースです。
自律的な冗長構成が可能です。
性能低下を招くものは極力排除しているため、トランザクションはサポートしていません。

Kibana

Elasticsearchへの入出力補助、データの整形、BI ツールのような可視化(ダッシュボード)などの機能があります。
Elasticsearch とは異なり Kibana 自身はスケーラブルではなく、冗長化が必要な場合は自前で構成する必要があります。

Logstash / Beats

様々なフォーマットのデータを、Elasticsearch が扱いやすい形式で取り込むツールです。
Beats はシンプルで高速です。
OS ログ、ファイル、ネットワークパケットなど多種多様なデータに対応したBeats が提供されています。
Logstash は Beats よりも細かい設定が可能で、汎用性が高いです。

④ X-Pack

無償版でも多くのことができるのですが、[有償版] では認証や機械学習なども行えます。
30日間のトライアル版は全機能を使用できます。

環境構築

そもそも Linux のみで Windows は正式サポートされていないそうですが、Windows 用の起動バッチも用意されています。
Linux の yum などのパッケージ管理、Docker のコンテナも提供されています。
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

Java VM で動作します。
Java VM がインストールされていない環境では、Elasticsearch の中にある Java VM で起動します。
Windows でもインストールは簡単で、それぞれのサイトでダウンロード用 zipファイルを入手し、解凍して

bin/Elasticsearch.bat
bin/Kibana.bat

を起動するだけです。
サービス化する場合は、bin/elasticsearch-service.bat も提供されています。
(Kibanaは sc コマンドでサービス登録が必要です)

起動したら、

Elasticsearch → http://localhost:9200/
Kibana → http://localhost:5601/

にブラウザからアクセスします。

このような画面が起動したら成功です。
Elasticsearch:

Kibana:

おわりに

ここまでで Elastic Stack の使用準備が整いました。
次回は投稿者をリレーして、Logstash でのデータ取り込みを行います。

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

関連記事

  1. 自宅Wi-Fiお知らせアプリ開発【第一回】準備編

  2. BLEAD-TSHで遊ぼう!【作例集 サイコロを使ったサイコロトーク編…

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

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

  5. IoTで使用されている Bluetoothを利用したビーコンの基礎と…

  6. Beaconアプリ開発記【その1 開発準備編】