Elasticsearchを開発するElastic、最新バージョン5.0とElastic Stackを解説
オープンソースの全文検索エンジンとして、アクセスログの検索や可視化などに使われるElasticsearchを開発しているElasticは、2016年12月15日、日本では2回目となるイベント「Elastic{ON} Tour 2016」を開催した。アカデミーヒルズのセミナールームを満席にした約350名の参加者に向けて、最新製品の解説とデモ、導入事例としてソフトバンク、ファーストリテイリング、日立製作所からの登壇者を迎えたセッションが開かれ、さらにアクロクエストテクノロジーなどのパートナーも関連製品のプレゼンテーションを行った。
ELKからElastic Stackへ
イベントの最初に登壇したのは、ElasticのCTOであり創業者の一人であるShay Banon氏だ。まず会社の創業からの歴史を振り返り、2010年の創業からの6年間に行った買収や社名変更などを説明した。この中では2013年にKibanaとLogstashが製品ラインに加わったこと、2014年にElasticsearchが1.0として公開されたことなどがマイルストーンとして紹介された。元々オープンソースの全文検索エンジンであるLuceneをベースにして、CTOのShay Banon氏によって開発されたElasticsearchだが、まず可視化のツールKibanaやログ収集のためのLogstashが合流した。さらにモニタリングのMarvelやElasticsearchをクラウドサービスとして提供するFound.ioの買収によって、マネージドサービスがElastic Cloudとして追加された。そしてPacketbeatを2015年に買収したことによって、データを送信する新たな製品がBeatsとしてブランディングされた。このようにElastic社の製品ラインナップは、様々な機能を取り込んで拡大している。そのためか、これまでELK(Elasticsearch、Logstash、Kibana)という略称で呼ばれていたものにBeatsを加えて、新たに「Elastic Stack」として定義しなおしたのが最新のバージョン5.0ということになる。これまでELKの各製品のバージョンがバラバラでわかりづらいという声を反映して、5.0以降のバージョンでは各製品のバージョンが統一され、スイート製品として5.0、6.0、7.0と総称されるということが発表された。
また有償のプラグインなどをまとめて「X-Pack」と命名し、簡単にダウンロードできるようにパッケージしているという。そしてElasticsearch自体はすでに7500万ダウンロードを達成していることを解説し、非構造データの検索エンジンとしてはもはや業界標準という自信を見せた。さらに2016年9月にPrelertを買収し、可視化ツールのKibanaのプラグインとして機械学習の機能が追加されたことを紹介。これは時系列データから異常値を発見する機能を実装しているようで、後で登壇する日本法人のソリューションズアーキテクト大輪氏が実際にアクセスログからWebページへの侵入検知を発見するデモが行われた。
ここで、顧客からの声としてVerizon、BNP PARIBASなどのコメントが紹介された。Verizonは、セキュリティ保護の観点から一日に1.2TBのログを処理する必要があったことを、BNP PARIBASは20PBにもなるデータを処理するためにElasticsearchを使っていることなどを紹介し、NASAに至っては火星の探索機から送られてくるデータを可視化しているという事例を紹介した。ここから見えるのは、大量のデータを処理するというニーズはあらゆる企業、組織において発生しているということだろう。そして、それはIoTによってさらに加速するという予想が、ElasticがBeatsのデータ送信エージェントを手に入れた動機だろう。
最後に2017年3月7~9日にかけてサンフランシスコで行われるElastic社のイベントを告知して、Shay Banon氏はプレゼンテーションを終えた。
次に登壇したのは、シニアプロダクトマネージャーのShane Connelly氏だ。Connelly氏はElasticsearch 5.0の新機能の紹介を行った。ここでは新しいスクリプト言語のPainlessとRollover API、より効率的になったメモリ管理などを紹介した。ここでリアクティブなシステムの要件として挙げられることが多い背圧制御が機能として追加されたことを紹介した。また製品としてのアップグレードの容易さにも注目しているようで、この辺りはエンタープライズからのフィードバックをちゃんと聞いているということの現れだろう。もともとマルチノード、シャーディングによる分散処理が特徴のElasticsearchだが、各ノードにおいてもより分散処理に向けた機能強化が行われていることが分かるセッションであった。
続いては日本法人のエバンジェリスト大谷純氏が登壇し、Kibanaのデモを行った。主な機能としてDiscover、Visualize、Dashboardを挙げ、大量のデータからの検索結果を様々な表現で可視化できるところを、デモを含めて紹介した。特にKibanaはプラグインによる拡張が利点であり、可視化だけではなくグラフデータからのビジュアライゼーションやコンソールの機能などが紹介された。その中の1つTimelion(「タイムライン」と読む)は、時系列データを可視化するためのツールだ。5.0ではElastic Stackのエントリーポイントとして全てがここから操作されるようになるとのことだ。
Logstashの新機能とBeats
ここまでで、以前のELKに相当するコンポーネントの主な機能が紹介されたことになる。次に登壇したAaron Mildenstein氏はLogstashのデベロッパーであるが、「データの投入:BeatsとLogstash」と題されたセッションでPacketbeatの買収で手に入れたBeatsとLogstash 5.0の解説を行った。そもそもBeatsは「ライトウェイトかつシンプルな目的を達成するためのデータ収集エージェント」であると解説し、Logstashとは対照的にシンプルであること、軽量であることが両者の差異である強調。つまりLogstashは多機能なログ収集ツールとして使い、Beatsはターゲットや集めるデータのタイプに合せて複数のタイプのBeatsを使い分けるという棲み分けだ。Packetbeatはネットワークを流れるパケットを収集するものだが、MetricbeatはDBやアプリのメモリ使用量などの情報を収集するものということで、モニタリングツールと言ってもいい。実際にデモでは、デモマシンとして利用したMacBookの利用状況をモニタリングしてみせた。そして最後に、Beatは各モジュールがたった3つのファイルで構成されるというシンプルさをあらためて強調した。
Logstash 5.0に関しては、JRubyからJavaに書き換えることで約20%速くなったと説明。またBeatsからのフィードの取り込みを行う部分もJavaに書き換えて性能が50%向上したことを紹介。機能によっては、16倍にもなったという。
BeatsとLogstashに関する将来的な構想を紹介するなかで、Beatsに関してはもっと多くの種類のモジュールを開発していくこと、設定や管理などをバラバラに行うのではなく中央で行うようにすること、Logstashに関しては複数のパイプラインを1つのJVMで実行すること、エラーイベントのルーティングなどを紹介した。
Prelertで異常検知を自動化
次に登壇したElasticの日本法人のソリューションアーキテクトである大輪氏は、Prelertを紹介。これは時系列データの異常検知を機械学習によって可能にするテクノロジーで、Elasticが2016年9月に買収を行ったものだ。Prelertは、教師なし学習によって通常のデータと異常時のデータを切り分けることができる。デモではログインなどのアクセスログから外部から侵入しようとしている状況に対して、Prelertが異常を検知する様子が紹介された。ログイン時のエラーログや侵入後のアクセスエラーなどを元に機械学習を行うため、特別なソフトウェアを導入しなくても異常検知が行えるために、様々な応用が考えられるだろう。機械学習にも多くの手法があるが、時系列データをすぐに処理して使い始められるという部分に興味を抱くエンタープライズユーザーもいるだろう。
日本での導入事例はソフトバンクとファーストリテイリング
日本での導入事例の紹介のため、ソフトバンクとファーストリテイリングが登壇した。最初に登壇したソフトバンク株式会社の関谷雅宏氏は、オープンソースソフトウェアをソフトバンクに導入した経緯を紹介。その中でオープンソースソフトウェアはつまるところ自己責任に尽きるとして、導入するに当たって単に使うだけではなく使うことで社員が成長することが必須であると強調。またシステムも障害が起こることが前提で構築されていると語り、モダンなWebシステムを参考にしている様子が見て取れた。Elasticsearchの使い方として単にログだけを検索可能にするのではなく、マスターデータなども検索対象として構成されているという。モニタリングとしては、PostgreSQLをEMCのオープンソースのSoftware-defined-StorageであるScaleIOに配置してモニタリングしているようだ。またオープンソースソフトウェアに対しては、技術だけではなくその文化も学ぶ姿勢が大事であると語った。最後にElasticへのリクエストとして最近、ソフトバンクが買収したARMに触れ、社内でARMベースのサーバーの導入が進む予定であるとしてElastic StackもARMをサポートして欲しいと語り、ソフトバンク社内でのARMサーバーへの期待が伺えた瞬間だった。
次に登壇したのは、株式会社ファーストリテイリングの羽山典孝氏とReuben Li氏だ。羽山氏は同社が単にオープンソースソフトウェアを使ってITを構築するだけではなく、ビジネスプロセスも改善しながらシステムを開発していると解説する。特に店頭とECサイトでの購買比率について、ECサイト側を30%まで引き上げるため、ECと店頭を連動するシステムの開発に着手していると語った。またこれまでのモノリシックなECサイトをマイクロサービスに分割して行く方向であるとして、柔軟であることとメンテナンスが容易であることを目指して開発が進んでいると説明した。特にスマートフォンのユニクロアプリに言及し、アプリそのものがマイクロサービスによって実現されているとし、バックエンドであるAWS上のシステムとも連携して実装されていることを語った。同社のシステムはElastic Stackを活用してBeatsでデータを収集し、Logstashで集約、Kibanaで可視化というElasticにとっては模範的なシステム構成だ。
この後、日立製作所、アクロクエストテクノロジーのセッションが行われ、全てのセッションが終わった。Elasticにとって、Elastic Stackのお披露目とソフトバンク、ファーストリテイリングという導入事例を一日でパッケージできたことは大きな意味があるだろう。ログ収集に関しては、トレジャーデータのFluentdに比べて出遅れた感の強いLogstashだが、Elastic Stackとしてインテグレーションが強化されれば一体として導入する企業も増えることだろう。Prelertもすぐに使える機械学習として用途は狭いが十分に活用できるように思える。今後の製品の進化が楽しみだ。
(編注:2017年1月12日21時20分更新)記事公開当初、日立製作所の講演がパートナーセッションである旨の説明がありましたが誤りだったためお詫びして訂正致します。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 大切なのは「スケール」すること キーパーソンが語るElasticの2017年
- Elastic大谷氏とマイクロソフト川崎氏が語る Elastic+Azureですべてが可視化される世界
- ElasticsearchのElastic、年次カンファレンスで「全てのコードを公開する」と宣言
- Elastic Stackって何?
- データを集めて可視化しよう(Beatsを使って情報を集めてみる)
- ElasticのCEOと日本代表、日本での事業計画などについて語る
- Elasticsearch Logstash Kibanaの環境構築
- トラブルシューティング
- データを集めて可視化しよう(Twitterのつぶやき履歴編)
- Elastic、Elasticsearchの新機能、Kubernetesの可視化を発表