読者です 読者をやめる 読者になる 読者になる

Taste of Tech Topics

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

Elastic{ON} 2016レポート いよいよクロージング! #elasticon

Elasticsearch elasticon Kibana Beats

最終日の今日は、朝食もランチも特別なものでした。
会場の外に何台かのバンが来ていて、それぞれのバンで、サンドイッチ、ピザ、ブリトー、ワッフル、ドーナツ、クレープなどを提供されていました。そこから自分で好きなものを(もちろん無料で)頼むのです。
f:id:acro-engineer:20160220190800j:plain:w480


しかも、美味しいんですよね。
というかelstic{ON}で提供される食事はだいたい美味しいんです。

同じサンフランシスコで開催される、僕がよく行くあのJavaイベントとは天と地の開きがありました。

f:id:acro-engineer:20160220190924j:plain:w480


要するに、Elastic{ON}最高です。

How to Build Your Own Kibana Plug-ins

さて、今日参加したセッションの1本は、Kibanaプラグインの作り方。
Kibanaプラグインの開発に使うツールや情報などは、次のURLからアクセスすることができます。

Some resources that are helpful for creating kibana plugins · GitHub



boilerplateはハックを作る時に使えるひな形です。
Kibanaの全画面に対して、ホットキーを設定したり、見た目を少し修正するなどの加工ができます。

こんな感じのindex.jsが提供されています。

export default function (kibana) {
  return new kibana.Plugin({
    uiExports: {
      hacks: [
        'plugins/my_plugin/hack'
      ]
    }
  });
}

どうやらuiExportsのhacksというのが、全画面に対するハックを行うもののようですね。


またgenerator-kibana-pluginは、Yeomanを使ったKibanaプラグインのGeneratorです。
https://github.com/elastic/generator-kibana-plugin

これを使うとSenseやTimelionのような、Kibanaプラットフォームを利用した独自アプリのひな形を生成することができます。

index.jsはこんな雰囲気です。

var exampleRoute = require('./server/routes/example');
module.exports = function (kibana) {
  return new kibana.Plugin({

    name: 'ceroplugin',
    require: ['kibana', 'elasticsearch'],
    uiExports: {
      app: {
        title: 'Ceroplugin',
        description: 'Cero-t's Kibana plugin',
        main: 'plugins/myplugin/app'
      }
    },
// (以下略)

uiExportsのappを使うことで、アプリを作ることができるようです。
Kibanaのプラグインとハックとアプリの区別がよく分からなかったのですが、この辺りを見てようやく分かりました。


なお、Kibanaプラグイン(ハック、アプリ)のフレームワークやテンプレートなどは、今後も変更されやすい点には注意が必要です。
ただ、generator-kibana-pluginは、元々は開発者個人が作ったツールでしたが、
現在はelasticの公式Githubリポジトリに移動され、バージョンも1.0.1となっています。
(セッションを聞いていた時点では1.0.0だったのですが)

そのような状況を見ていると、そろそろプラグイン開発を始めても大丈夫なのかな、という気になりますね。

B-b-b-b-b-beats! How to Build Your Own

Beatsの作り方のセッション。
キャパが30〜40名ぐらいの小さなブースで行われたのですが、立ち見が続出、入れずに諦める人が多数という、大人気セッションでした。
f:id:acro-engineer:20160220191025j:plain:w480

僕自身、Beatsを作ったことがあるということを事前にスピーカーの人と話していたため、「最前列の彼はBeatsを作ったことがあるんだ」など簡単に紹介される嬉しいサプライズもありました。


さて、Beatsの作り方は、基本的にGeneratorを使うのが良いです。
https://github.com/elastic/beat-generator

beat-generatorはcookiecutterというテンプレートツールを使っているので、先にインストールしておく必要があります。
Generatorを起動して、ウィザードに従って名前などを決めれば、設定ファイルやGolangソースのひな形などが生成されます。

以前、beatの作り方をこのブログにも書きましたが、その時にはGeneratorは存在していませんでした。なのでいずれ改めて、作り方の紹介エントリーを書きたいと思います。とっても簡単ですよ。


なおセッション中には、beatの出力先として、Elasticsearch、Logstashに加えて、RedisとKafkaに対応することも紹介されました。この辺りの出力先も、徐々に増えていきそうですね。

そして、クロージングキーノート。

嵐のような3日間は、最後のクロージングキーノートをもって閉幕です。

クロージングキーノートは、elasticのCTOであるShay Banonと、CiscoのCTOであるLew Tuckerのパネルディスカッションや、
会場からの質問に答えるという形で進みました。
f:id:acro-engineer:20160220191149j:plain:w480


OSS企業のあり方や、ビジネスモデルの考え方、またMicroserviceの捉え方などに話は広がりました。
また会場からの質問では、CTOになったけどプログラミングしたくならないかとか、
5年後のElasticsearchの姿はどうなっているのか、など、割と自由奔放な質問が飛びだしていました。
っていうか正味、ちゃんと聞き取れるわけないじゃないですか!!

特にElasticsearchのメインターゲットとなっている「Splunk」に対してどう考えているのかという質問では、
単にSplunk対抗のものを作っているわけではないし、
もし対抗するなら必要なものをリストアップして一つずつ実装していくけど、そのような事はしていないと明言していました。

あくまでも、Elasticsearchを中核として使いやすいものを作るということに注力しているとのことでした。


そんな形でクロージングキーノートも絞まり、いよいよElastic{ON}は閉幕です。
f:id:acro-engineer:20160220191311j:plain:w480


ところで、
Elastic{ON}の来場者の出身地ですが、当然トップの2つはアメリカとカナダ、それを追ってイギリスとドイツ。そして5位はどこでしょう? という質問が投げかけられたのですが・・・もしかして、、、と思ったら、やはり「日本」でした。

昨年はスタッフ以外の来場者が1人もいなかった日本ですが、今年は日本からの来場者がたくさんいます。
もちろんこれは、須田さんをはじめとした日本のelasticスタッフの貢献があってこそだと思います。


Elastic{ON}のサプライズを含むテクニカルな発表や、AMAのような納得度の高いコンテンツ、
また美味しい食事、そして美味しい食事など、とっても良いイベントでした。

僕自身、来年も参加したいと思いますし、またこのブログを読んで一人でも参加したいと思った方がいらっしゃれば、
夜な夜なブログを書いた意義もあったのかなと思います。

elasticの社員、Elastic{ON}のスタッフはじめ、参加者も含めてイベント関わった皆さん、お疲れ様でした&ありがとうございました!!

Stay elastic, see you!