はじめに
最近の仕事で 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 を使った予兆検知結果の可視化 〜検知した異常の通知〜