Edited at

Kibana Canvasをはじめてみよう


はじめに

こんにちわ。かわちゃき(@yu_kawachaki)です。

この記事はElastic stack (Elasticsearch) Advent Calendar 2018の6日目です。

今回のアドベントカレンダーには、Canvasの記事が複数件エントリーされそうなので

たくさんの人がCanvasを触りはじめているんだな!とうれしいばかりです:)

私の記事は、Kibana Canvasをぽちぽちしはじめた時のことを振り返りながら、はじめてCanvasを触ってみるならこんな感じ。というのを記事にしてみました。


内容

Kibana Canvasを触ったことがない、触りたいなという人が感覚をつかむための記事です。

6.5にはサンプルデータが用意されているのですが、スタイリッシュすぎるので、Elastic{ON} 2018でお馴染みのCafé Canvasを構築して、カスタムしてみましょう。



データはGithubのexamplesを使います。


前提条件


  • Elasticsearch,Kibanaがインストール済み

  • Elasticsearch,Kibanaのバージョンは6.5.1


やっていく

まずexamplesの手順に沿って、サンプルデータを投入します。

Githubから資材をダウンロードしておきます。

README.mdに沿って進めていきます。


To load the data

Elasticsearchにデータを投入します。

KibanaDev ToolsConsoleelasticoffee-data.bulkをコピペしてを押して実行します。

POST _bulk

{ "index" : { "_index" : "elasticoffee", "_type" : "doc", "_id" : "1" } }
{"sceneID": "2", "sceneData": "0", "entityID": "zwave.quad2", "quadId": 2, "quadMod": "1", "@timestamp": "2018-02-27T22:26:39Z", "beverageClass": "Hot Beverages", "beverage": "Latte", "beverageSide": "left", "beverageIndex": 5, "quantity": 1}
(略)

実行すると、今後非推奨な形式だよ!と出力されますが、今回は気にしない。

#! Deprecation: the default number of shards will change from [5] to [1] in 7.0.0; if you wish to continue using the default of [5] shards, you must manage this on the create index request or with an index template

{
"took" : 616,
"errors" : true,
"items" : [
{
"index" : {
"_index" : "amaresponses",
"_type" : "doc",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 0,
"_primary_term" : 1,
"status" : 201
}
},
(略)

手順の通り、データが入っていることを確認します。

POST /amaresponses/_search


To load the Canvas workpad(s)

次にCanvasのworkpadのデータをインポートします。

Kibanaのトップページから、CanvasImport workpad JSON fileからcanvas-workpad-CafeCanvas.jsonを選択します。

これで準備は完了です。

Canvasを使ってみましょう。


Time filterを変更してCanvasを感じてみる

Time filterの期間を変更してみましょう。



Canvasっぽさが味わえます。

この設定どうなっているかな?と思ったときは、右下の</>Expression editorをクリックして、コードを確認しましょう。


Metricを使ってカウントしてみる

次にelementを作ってみましょう。

今回は全コーヒーの杯数を表示するelementを作成します。

Metricを選んで、右下のコーヒーカップの上に配置します。

右側のDataでTimelionを選び、クエリに.es(index="elasticoffee")を書いてsaveしましょう。

DisplayのMeasure NumberはCountvalueを選びます。

Labelは消しちゃいましょう。

フォントは白に。

これで8種類のコーヒー杯数の合計値を出すelementの完成です。


おわりに

ぽちぽちして、おしゃれな画面ができる。最高。

Canvasを学ぶ時のサンプルとしては、AMA Metrics Canvasや、ElastiCupもオススメです。

TwitterハッシュタグをCafe Canvas風に可視化したこちらもよければご参考に



それでは、みなさん。ステキなCanvasライフを!


参考文献

Canvasを触る時に参考にしているページです。

https://www.elastic.co/blog/getting-started-with-canvas-in-kibana

https://www.elastic.co/blog/elasticon-kibana-canvas-story-elasticoffee

https://www.elastic.co/blog/elasticon-kibana-canvas-story-ama

https://www.elastic.co/blog/kibana-canvas-metric-and-markdown-elements