はじめに
古いバージョンに対する情報などが多く混沌としていて、一番はじめにプラグインの雛形を作るのに苦労したので、バージョン6.6.2での手順を記しておきます。以降のバージョンでも執筆時点では大体この手順でいけそうです。また以下の内容はArchlinux上で実行された結果をもとにしたものです。
事前環境整備
- node.js のバージョン管理ツールである nvm や n をパッケージマネージャなどからインストールする
- yarn をパッケージマネージャなどからインストールする
kibana の準備
まず kibana をフォーク、ローカルにクローンする。
git clone https://github.com/[YOUR_USERNAME]/kibana.git kibana
cd kibana
タグ v6.6.2 をチェックアウトする
git checkout -b v6.6.2 refs/tags/v6.6.2
.node-version にかいてあるバージョンの node.js を nvm か n によって有効化する。(6.6.2 の場合は 10.15.2)
n 10.15.2
# または
nvm use
kibana により提供される script を用いて dependencies をインストールする(数分かかる場合もある)
( yarn initではないので注意 )
yarn kbn bootstrap
対応する elasticsearch のインストール及び起動
elasticsearch バージョン 6.6.2 の tar.gz ファイルをホームページやgithubから落としてくる。
kibanaとelasticsearchはバージョンの対応にきびしいので落としてくるバージョンを間違えるとおそらくうまくいかない。
これを任意の場所に置く。(展開はしない)
例えば kibana と並列に elasticsearch ディレクトリを作成しそこに設置する。
こうした場合ディレクトリ構造は以下のようになる
│
├ kibana
├─ (gitでクローンしてきた中身)
├ elasticsearch
└─ elasticserach-6.6.2.tar.gz
ここでjavaがインストールしてあることを確認する。必要なバージョンはelasticsearchのソースの中の.ci/java-versions.propertiesに書いてあり、バージョン6.6.2ではjava8が指定されている。
次に CWD を kibana に変えて、kibana により提供される script から elasticsearch を起動する。
yarn es archive ../elasticsearch/elasticsearch-6.6.2.tar.gz
次に kibana を試しに起動してみて、ここまでの手順があってるかを確認する。以下を実行すると localhost:5601 に kibana がいるはず。(起動までに数分から 10 分弱かかります。Server running at http://localhost:5601/*** 的な log がでたらおそらく起動完了しているはず。)
yarn start
kibana-plugin-generator を用いた plugin の scaffolding
一度 kibana と elasticsearch のインスタンスをきっておきます。
kibana を CWD として kibana により提供される script を使うことで kibana plugin の雛形の生成ができます。
my_pluginには自分のプラグインの名前をいれてください。
node scripts/generate_plugin my_plugin
色々聞かれますが重要なのは target version で、これは規定の 6.6 ではなく 6.6.2 を指定する必要があります。
あとは必要な機能次第です。
以上の操作で kibana と並列なディレクトリの kibana-extra 下の my_plugin にプラグインが生成されます。この時点でのディレクトリ階層は以下のような感じ。
│
├ elasticsearch
├ kibana
├ kibana-extra
└─ my_plugin
あとは kibana を準備したのと似たような手順で、プラグインの depenency のインストールおよび試しに起動をしてみます。
plugin の起動
my_plugin を CWD にして、以下のコマンドにより dependencies のインストールをします。
yarn kbn bootstrap
別ターミナルで、my_plugin からでもいいかもしれないのですが、kibana を CWD にして elasticsearch の起動を行います。
yarn es archive ../elasticsearch/elasticsearch-6.6.2.tar.gz
最後に my_plugin を PWD にして kibana の起動をします。kibana ではなくて my_plugin を CWD にして以下のコマンドを実行してください
yarn start
あとはまた長くて 10 分弱くらい待ってから localhost:5601 を確認するとサイドバーに自分のアプリがあるはずです。
まとめ
お疲れ様でした。
もし何か間違いや不明な点などがある場合には教えてください (_ _)