はじめに
こんにちわ。かわちゃき(@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にデータを投入します。
Kibana
→Dev Tools
→Console
にelasticoffee-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のトップページから、Canvas
→Import 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はCount
→value
を選びます。
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