Taste of Tech Topics

Taste of Tech Topics

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

Elastic{ON} 2018 初日セッションレポート Kibanaは優しさの強化と再構築 #elasticonjp

こんばんは。@です。

初日のセッションがあっという間に終わってしまいました。
セッションに参加しつつ、デモブースやAMAを回っていると時間が足りない!というのが正直な感想です。

Elastic社のAaronさんとAMAにて記念写真。
f:id:acro-engineer:20180301181529j:plain:w400

今日参加したセッション

私が本日参加したセッションと概要は次の通りです。

  1. What's Evolving in Elasticsearch
    • Elasticsearchの5.x => 6.x => 7.xの進化について、Indexing, Search, Security, Administrationの4つのテーマからお届け。
  2. What's Cooking in Kibana
    • Kibana 6.xで今後追加される機能と 7.xで訪れる(またもや?)大きな変更点について。
  3. What's Brewing in Beats
    • 新しく追加されるInfra UIとFilebeat、MetricbeatによるKubernetes(k8s)の可視化とAuditbeatについて。
  4. Monitoring Anything and Everything with Beats at eBay
    • eBayがBeatsを活用しながらどのようにMonitoringを実現していったか。
  5. APM with the Elastic Stack
    • 6.2でGAとなったAPMの全体と新たに追加される待望のReal User Monitoring(RUM)と今後の予定。
  6. Creating Canvas for Real-Time Infographics in Kibana
    • Canvasの(だいぶ動くようになった)現在状況をデモを交えながらお届け。


その中から、今回は現在のElastic Stackがどのような状況にあるかを勝手に想像したくなる「What's Cooking in Kibana」についてのレポートをお送りします。

Kibanaの新機能は飛び道具的なものではなく、運用を助けるもの

紹介されたKibanaに対する追加機能は、「その辺りを埋めに来たか」という印象を持ちました。
と言うのも、目新しい新機能はあまりなく、今実際に運用している中であったら嬉しい機能や
どんなユーザ、ユースケースでもまずは必要になりそうな汎用的な機能をソリューションに近い形で提供していく方針が感じ取れたからです。

そんな中での新Visuailze「Waffle map」

上記のように書きましたが、新たに追加になる新Visualizeに「Waffle map」があります。
今回のイベントの中で既に何度も目にしたこの表現は新しいVisualizeであり、確かにk8sの複数のPodの状態を表現するのに向いていますね。

f:id:acro-engineer:20180301181207j:plain:w400

地道な改善

Kibana 6.0から追加されたKQL(Kibana Query Language)のAutoCompleteがFiled、Operator、Valueに対して効くというのはとても便利そうでした!

f:id:acro-engineer:20180301181151j:plain:w400

Index ManagementのUI改善では、Indexの設定やMappingがまとめて見られることに加え、GUIによってIndexのClose、forcemerge、flush、Deleteなどが行えるようになっており、ユーザにとっての身近なUIに進化しています。

f:id:acro-engineer:20180301181225j:plain:w400

新たに追加されるAppsのInfra UIとLogging UI

Infra UIとLogging UIはどんなユーザ、ユースケースでもまずは必要でしょう?というメッセージが聞こえてくる感じの新しいKibanaアプリ(プラグイン)です。

Infra UIはMetricbeatで集めた情報からサーバ毎のメトリックを可視化してくれます。Beatsのセッションでも紹介されていましたがk8sの場合には、さらにk8s用に拡張された画面になるようです。

f:id:acro-engineer:20180301181128j:plain:w400

Logging UIもまずはログを集めたらtail -fのように眺めたいし、検索やフィルタしたいよね、という声に応える内容となっています。これまでは仕方が無くDiscoverをログ検索に使っていたユーザは多いと思いますが、そのようなユーザにとって優しいプロダクトを目指す方向性を強く感じます。

f:id:acro-engineer:20180301181115j:plain:w700

運用を強力にサポートする Index Lifecycle Management & Rollups

ElasticseachのセッションにおいてIndex Lifecycke Managementの機能を提供するという説明があったのですが、それはKibanaのManagement UIでサポートされます(X-Packとして)。さらにキーノートでも紹介されたRollupについても合わせてManagement UIでサポートするようで、これまでCuratorなどを駆使して運用で対応してきたものが標準機能(ただしX-Pack)で提供されるようになるのは非常に嬉しいです。

f:id:acro-engineer:20180301181247j:plain:w400

ただし、紹介された画面のキャプチャを見る限りではKibana 7.xでの提供になるようです(セッション内では提供時期の説明はなく、キャプチャからの私の予想です)。

でも、Kibanaはやっぱり大きく変わるってさ

そんな中で紹介されたのが、新しいデザインの変更です。Kibana 6でもKibana全体に渡る大きなデザイン変更があったわけですが、Kibana 7.xでもさらに全体的なデザイン変更があります。

f:id:acro-engineer:20180301181302j:plain:w400

アクセシビリティに考慮したというKibana6のデザインはなんだったの?と思わなくないですが、その背景にはEUIと呼ぶElastic UI Frameworkを提供し、このEUIベースで画面コンポーネントを作り直しているからのようです。

f:id:acro-engineer:20180301181316j:plain:w400

これまでKibanaの独自Visualizeやプラグインの開発は、マイナーレベルのバージョンまで合わせる必要があり、バージョンアップがあれば都度ビルドしてリリースする必要がありました。
そのような開発の制約を無くしたいという点は、うちもKibanaプラグインを開発することが多いので非常に嬉しい限りですが、Kibana6への対応も大変だったのに、また・・・と涙目になる気持ちもあります (TT

f:id:acro-engineer:20180301181335j:plain:w400

しかも、今後はReact + RxJS + TypeScriptが開発のコアになるそうで、同じ恩恵を得るためには今のAngularJSからの移行を考える必要がありそうです(プラグインの開発は今まで通りAngularJSでもできるよ!でもReactをオススメするよ!とスピーカーの方は話していました >< )。

f:id:acro-engineer:20180301181350j:plain:w400

まとめ

というわけで、Kibanaのセッションレポートをお届けしました。
Elastic Stackは全体としては成熟してきた状態に入っており、Kibanaはよりユーザに優しいプロダクトとなるべく今まで埋まっていなかった隙間を埋めてきているという印象を受けました。

飛び道具的な機能はCanvasやVegaがあるとも言えますしね。

今後は汎用的なソリューションに近いものはInfra UIやLogging UIのようにKibanaが提供し、よりソリューションとして特化したものはSwiftypeのように外側アプリケーションやSaaSとして提供されるのだと感じました。

その他「What's Evolving in Elasticsearch」や「What's Brewing in Beats」の内容も紹介したいものがあるのですが、長くなってしまいますので、どこか勉強会などでフィードバックしたいと思います!

明日はもう最終日です!
Stay tuned!

Acroquest Technologyでは、キャリア採用を行っています。


  • データ分析(Elasticsearch、Python関連)、ビッグデータHadoop/Spark、NoSQL)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。