Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

Elastic{ON} Tokyo 2015 キーノートレポート #elasticon

elastic須田さんの明るい挨拶から始まりました、基調講演。
堅苦しくない、会場のスーツ率も低めな、エンジニアのイベントという雰囲気あります!

f:id:acro-engineer:20151216120211j:plain

Elasticsearchが生まれたきっかけは?

最初はElasticのファウンダーでありCTOであるShay Banonから、
elasticsearchの生まれた経緯の紹介がありました。

奥様が使う検索システムとして、Java + luceneを使ったのがきっかけなんだとか。
やばい、初耳だけどいい話やん!

f:id:acro-engineer:20151216120159j:plain

事例紹介。NASAでも使ってるよ!

そして大きな事例紹介。
Wikipedia検索エンジンとしてElasticsearchを利用した。

またmozillaFirefoxのクラッシュレポートをelasticsearchで集めて、
セキュリティ問題への対策などを行った。

NASAは火星のRoverで取ったデータをElasticsearchに集めた。
マジか! 震える!!(うつった)

verizonはミッションクリティカルアプリケーションの中で
elasticsearchでを使って情報を集め続けた。


そんな事例たちです。

ちなみに英語のセッションですが、同時通訳されています。
ただ、パッと見で、半分ぐらいの人がイヤホンをつけてない感じがします。

Elastic{ON}に来る人たちの英語力の高さよ!!

Elasticのスタックたち

続いて、ELKスタックの紹介。


またプラグインで、さらに機能追加ができます。

この辺りは実案件で利用するには欠かせない機能たちですよね。

Elasticsearch 2.1

そして最近リリースされたElasticsearch 2.0/2.1の新機能や機能改善の話。
Elasticsearchはアップデートが早いので、1ヶ月単位でも色々と改善されます。

回復力、というか最近よく見るキーワードの「Resiliency」

  • リカバリ時間の短縮
  • 永続的な書き込み
  • Javaセキュリティマネージャ

パフォーマンス改善

  • クラスタの強化
  • メモリやストレージの削減。特に2.0からヒープをあまり使わない設定がデフォルトになりました。
  • キャッシュとスロットリングの改善

分析の強化

  • 列ストア。これまではJavaのヒープを使っていたけど、ファイルを使うようになった。
  • 時系列での計算。たとえば増加する数値の差分計算など。これを使ったUIがTimelionですね?
  • 予測と異常検知。何かと思ったらPipeline Aggregationでした、なるほど。
Elasticsearchの将来

もちろん現状だけでなく、次のロードマップ的なものも紹介されます。

機能強化

  • geoデータ分析の強化
  • クエリのプロファイリング

管理機能の強化

  • Reindex API
  • タスク管理API

特に管理機能のRe-index APIは、みんな欲しくなる機能ですよね。
いまはLogstashや、自前でコードを書くなどして頑張ってRe-indexしているので
これは早くサポートして欲しいところです!

Kibana 4.2 & 4.3 and Future

続いて、Kibanaの紹介。
Kibanaは可視化のダッシュボードです。
Kibana開発者であるRashid Khanからの発表で、
twitterでも「お世話になってます!」のメッセージが見えますw

f:id:acro-engineer:20151216120356j:plain

4.2では、バブルチャートやヒートマップの追加、
フィールドのフォーマット(数値にカンマ入れたりできるやつ!)や
地図のカスタマイズなどが強化されました。

4.3では、サーバ状態を閲覧できるページが追加されたほか(エラーの時だけ出てくるやつや!)
ログレベルの設定、オブジェクトのエクスポート、タイムゾーンのサポートなどが追加されました。
エクスポート機能なんてついてたんですね、知りませんでした。試してみます!

また紹介されませんでしたが、4.2だか4.3だかで、項目ラベルを自分でカスタマイズできる機能も追加されました。
これは地味に嬉しいやつで、この機能を求めるissueには、いっぱい +1 がついてました。
っていうかいまだにつき続けています。


Kibanaは将来的に、アプリケーションプラットフォーム化されていきます。
Angular + node.js + Elasticsearchを用いた可視化アプリを簡単に作るためのプラットフォームです。

ちなみにこの辺りはまだオフィシャルな情報はないのですが、Elasticsearch Advent Calendarの2日目エントリー、
「Kibanaプラットフォームでアプリケーションをつくってみよう」で紹介されています。
http://qiita.com/zoetro/items/cd66f79cedd6d435a645
私もKibanaアプリを作りたいっていうか、作らなきゃいけない感じになってきていますので
このページなど見ながら勉強したいと思います!

Timelion

Timelionというスペルで、アイコンもライオンなのに、「タイムライン」って発音するKibanaアプリ。
時系列データに特化したダッシュボードを作ることができ、
複数のグラフを重ね合わせたり、グラフ間での計算などができるようになりました。
Kibanaにこういう機能が欲しい、とリクエストされていたものが別の形になって表れた形ですね。

Logstash 2.1

Logstashとこの後のBeatsの説明は、Tanya Braginが行いました。
この方とは、以前、Mountain View訪問した際に打ち合わせをさせていただきました。

f:id:acro-engineer:20151216120257j:plain

Logstashは情報の収集を行うツールです。
(たぶん日本では「fluentdみたいなやつ」って言った方が、理解が早い気がします!)

Logstash 2.1ではシャットダウンの改善、パフォーマンスの改善、
デフォルトでの設定値の見直し、プラグインのオフラインインストール対応などが行われました。


今後はキューが大幅に見直され、永続化されるようになり、
またキューの長さも可変になり、デッドレターキューが追加されるなど、
キューとしてきちんと使える、つまりデータの中継地として活用できるようになってきました。

多数のサーバのシステムリソース収集やログ収集を始めると、
ログを集中的に収集して、中継するような仕組みが欲しくなるものなのですが、
そこにLogstashが入ってくる形ですね。

AWSで言うところのKinesisの役割を、Logstashが負ってくることを期待しています。

Beats & ES-Hadoop

Beatsは昨日震えたやつなので、そちらを参照してください。
acro-engineer.hatenablog.com

なお昨日は触れられていませんが、ログファイルをElasticsearch/Logstashに転送する「Filebeat」というBeatもあります。
これまで、Logstash forwarderやfluentdのtail pluginなどで実現していたところで、このFilebeatが使える形になります。


ES-Hadoopは名前のまんまですが、ElasticsearchとHadoopを連携するプロダクトです。

Elasticsearchから情報を取って、Hadoopで加工/分析/集計などを行って、
またElasticsearchに書き戻すことができるようにするための機能ですね。
MapReduce、Hive、Pig、Cascading、Spark、Stormに対応しています。

Elasticsearchを検索エンジンや、可視化のためのストレージだけでなく、
アプリケーションプラットフォームの中枢として用いることを狙っているように思うプロダクトですね。

拡張機能たち

まだまだ紹介は続きますよー! 続いては拡張機能たち。
これはSteve Mayzakから紹介されました。

Shieldはセキュリティプラグイン
LDAPと連携したSSOや、通信経路の暗号化、監査ログなどの機能を有しています。

Shield 2.1からindex(RDBMSで言うところのテーブル)レベルのセキュリティ制限だけでなく、
フィールド(RDBMSで言うところのカラム)レベルでのセキュリティ設定ができるようになりました。

将来的には、APIの強化や、管理UIの追加などが予定されています。
管理UIはよっ!


Watcherはアラートや通知を行うためのプラグイン
モニタリングの用途にElasticsearchを使う時には、絶対なくてはならないヤツですね。

Watcher 2.1で複数のデータソースに対する複合的な判定(と、その結果による通知)や
Pipeline Aggregationを用いた異常検知機能が追加されています。
この辺も、早く試してみなくては!

こちらも将来的に、管理UI、Kibanaとの統合などが計画されており、早く来て欲しいです!


MarvelはElasticsearch自体のモニタリングを行うためのプラグイン
こちらは既にKibanaアプリとして、Kibanaに統合されています。

Elasticsearchが動いているJavaプロセスのCPU使用率、メモリ使用量、ディスクの空きサイズ、
またindexの数や、検索/追加のスループットなども、すべて可視化されます。

現在はElasticsearchのモニタリングのみですが、
将来的にはLogstash、Kibana、Beatsのモニタリング機能や、アラート機能の追加が計画されています。

ELKの開発者にフルサポートされている「唯一の」マネージドElasticsearchサービス、Found

Elasticsearch as a Serviceの形で提供されているのが、Foundです。
唯一の、というところが強調されており、
AWS Elasticsearch Serviceへの対抗意識が垣間見えます。
そう、AWSのやつはOSSホスティングなので、上に書いた拡張機能が使えなかったり、
elastic社のサポートが受けられなかったりするのですよね。

どうあれ、
Elasticsearchの環境構築や運用というのは、それなりに大変だなと日々使っていて思うので、
この辺りを一気にアウトソーシングできるFoundは、かなり有用な気がします。


ということで、elasticの今とこれからを一気に紹介する、お腹いっぱいの基調講演でした。
午後からは、各社の事例紹介が続きます!


ちなみに、お昼はお弁当が用意されています。
無料イベントなのに、ありがたすぎます!!!