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 へのデータの取り込み〜
Elastic Stack を使った予兆検知結果の可視化 〜異常検知の実行〜
Elastic Stack を使った予兆検知結果の可視化 〜検知した異常の通知〜

関連記事

  1. LINE BOOT AWARDS 2018 にエントリーしました!

  2. 高精度気圧センサDPS310の実力を試してみた 【後編】

  3. 何でこうなるの? 現場で起きた開発回顧録【その1 Ajaxと画面更新】…

  4. どんなもので囲うと電波が弱くなる?Beacon を使った電波強度実験を…

  5. Web でカメラを使おう – WebRTC (getUse…

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