Elastic Stackって何?

2018年5月7日(月)
石井 葵
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第1回です。

Elastic Stackって何?

「Elastic StackはElastic社が提供しているツールっていうのはわかったけど、どれを使えばいいのかな?公式サイトを見るといっぱい種類があるみたいだけど…。」

 おや?もふもふちゃん、なんだかお困りのようです。それもそうですね。Elastic Stackにはたくさん便利ツールがあるのはわかりますが、ログ分析にはどのツールが必要なのかわかりません。この章でElastic Stackを構成するツールには何があり、どのように使えば良いのか一緒にみてみましょう。

Logstash

 Logstashは、各環境に散らばっているログを集め、指定した対象に連携できるツールです。ログの連携だけではなく、ログの加工機能も持ち合わせています。コード自体はRuby言語で記載されています。

 肝心のどんなログが取り込みできるかですが、ログの出力形式としてよくあるテキストファイルはもちろん、xmlやjsonファイルも対象として指定できます。ファイルの情報以外にもTwitter APIと連携してTwitterのつぶやき情報を取り込む事や、データベース(RDB)に接続して情報を取得する事も可能です。RSDBと連携する際はSQL文を用いて情報を取得するため、欲しい情報だけSQLで取得し、情報を付け足す事も可能です。

 ログの出力先は、このあと出てくるElasticsearchだけでなく、プロジェクトの進捗状況管理ツールであるRedmineにも送信できます。取り込んだ情報をCSVファイルとして出力する事や、syslogとして転送することも可能です。利用方法によってはログ解析以上の威力を発揮するツールだと言えます。

Elasticsearch

 Elasticsearchは、Javaで作られている分散処理型の検索エンジンです。クラスタ構成を組むことができるのが特徴なので、大規模な環境で検索エンジンとして利用されることがあります。GitHubのリポジトリ情報や、Dockerのコンテナ検索、Facebook上での検索などが導入事例として有名です。

 クラスタとは、物理的には複数存在しているにも関わらず、論理的には1つとして見せることができる技術です。処理の負荷分散ができるため、高い性能を求められる環境で多く選択されています。

図1.1 クラスターを利用しない場合

図1.2 クラスターを利用する場合

Kibana

 Kibanaは、Elasticsearchに貯めた情報を整形し可視化するツールです。KibanaはJavaScriptで開発されており、Node.js上で実行されています。Google Chrome等のブラウザからKibanaが指定するURLにアクセスすることで、データ情報を表示することができます。

 Kibanaでは知りたい情報の件数だけでなく、折れ線グラフ・棒グラフ・円グラフを用いてログの詳細な情報を解析し、色分けして表示することが可能です。グラフの大きさを決める際にコンフィグファイルなどを編集する必要がなく、ブラウザ上での操作で全て完結する仕組みとなっています。また、情報をリアルタイムで閲覧できるため、サーバーのリソース情報をKibanaで常に監視するという使い方もできます。

Beats

 BeatsはOSにインストールすることで、機器のデータをElasticsearchやLogstashに転送する簡易的なデータ収集ツールです。例えばネットワークのパケット情報・Windowsのイベントログ・死活監視の情報などを収集可能なため、Logstashでカバーできないような情報を集めてくることができます。例えばMetricbeatを使用することで、CPU使用率やメモリ使用率などサーバー情報を自動で収集し、Kibanaで可視化することができるようになります。

また、センサーデータなどもBeatsを用いて収集できるため、IoT分野でのデータ分析もElastic Stackを用いて行うことができます。

 さらにBeatsでは、特定のログであればその収集・Elasticsearchへのデータ連携・Kibanaでの情報分析用グラフの描画までを自動で行うModulesという新機能が登場しました。

 X-PackはElasticsearchやKibanaの機能を補完するツール群の総称です。Elasticsearch、Logstash、KIbana、BeatsはOSSなので、自由に利用することができます。対してX-Packはライセンス契約を行わないと利用できません(ただし、期間限定の評価版をインストールすることは可能です)。

 以下にX-Packの機能を簡単に紹介します。この本では詳しく扱いませんので、Elastic社のホームページ(https://www.elastic.co/jp/products/x-pack)を参照してください。

 ・KibanaやElasticsearchへのアクセス制御など、データ保護を行う(Security)

 ・データ情報の通知をSlackなどに送付する(Alerting)

 ・Elastic Stackの状態を監視する(Monitoring)

 ・KibanaのグラフをPDF出力するなど、報告用データを作成する(Reporting)

 ・Elasticsearch内のデータで、関連性の高いものを紐付ける(Graph)

 ・取得したデータから基準値を作成し、データの傾向を分析する(Machine Learning)

Elastic Cloud

 Elastic CloudはElastic社が提供するクラウド環境です。Elasticsearchの中に大量のデータを保存する場合など、高性能の基盤を準備する必要がある場合に利用すると良いでしょう。Elasticsearchのクラスターを組むことも簡単にできます。

 ただしこちらも有償となりますので、この本では詳しく取り扱いません。詳細はElastic社のホームページ(https://www.elastic.co/jp/cloud)を参照してください。

基本的な構成

 ログを収集するLogstashまたはBeats、ログを貯めておくElasticsearch、ログを閲覧するKibanaを基本構成として使用します。

(次回につづく)

Elasticsearch、Kibana、Logstashを使用したデータ分析基盤の設計・構築をメインに行なうインフラエンジニアだったが、最近配属が変わって新卒なエンジニアの教育を実施している。新卒エンジニアと一緒にプログラミングやアプリケーション開発手法を学ぶ日々を過ごしている。

連載バックナンバー

運用・管理書籍・書評
第8回

トラブルシューティング

2018/6/14
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第8回です
運用・管理書籍・書評
第7回

Dashboard画面を使ってグラフを一覧表示する

2018/6/7
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第7回です。
運用・管理書籍・書評
第6回

Visualize画面でデータを可視化する

2018/5/31
【誰でも簡単にログ分析!OSSのBIツールElastic Stack解説書!】 株式会社インプレスR&Dより発行された「Elastic Stackで作るBI環境 誰でもできるデータ分析入門」の立ち読みコーナー第6回です。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています