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. 知識ゼロで Unity をはじめてみた【その4 -キー入力-】

  2. WPF Prism を使ってみた

  3. ねぇClova、開発したい 【スキル登録編】

  4. Beaconアプリ開発記【その2 領域監視編】

  5. 【家庭で使える!? Beaconアプリづくりにチャレンジ】BLEAD-…

  6. 自宅Wi-Fiお知らせアプリ開発【第二回】 Beacon 探索機能編