【Kibana】canvasでメトリックを使って最新データを表示する

こんにちは!

Elasticearchにデータを蓄積することができるようになったところで、今度はKibanaを使いこなしていきましょう^^

今回は、Canvasを使います。メトリックで指定のフィールドの最新データを表示する方法を紹介していきます!

Canvasとは

Canvasとは、Kibanaに内蔵されているプレゼンテーションツールです。PowerPointと異なり、リアルタイムにデータの表示を変化させることが可能です。

つまり、データが新しくなるたびにグラフなどの図を貼りかえる、、といった作業が不要になり、いつでも最新の情報を表示してくれます。

KibanaにおけるCanvasの利点は、なんといっても自由度の高さだと思います。自分の好みのレイアウトでグラフや画像を配置することができるので、データの見せ方をカスタマイズすることができます。

自分のセンスを発揮できるのがCanvasのいいところだと思います(筆者はセンスがない^^;)

メトリックを使いこなそう

それでは、Canvasの中でメトリックを使い、最新データを表示していきましょう。

メトリックとはこんなものです。

データが更新されると、数字が切り替わります。

今回使用するデータ

今回使用するインデックスは、google_stockというインデックスです。データの中身の値は仮で、現実の株価ではありません。

Canvas画面を開く

メニュータブを開き、Kibanaの中のCanvasを選びます。

Canvasにおけるそれぞれのファイルはワークパッドと呼ばれます。ワークパッドがない場合は、画面右側の「ワークパッドを作成」を選択し、新しくワークパッドを作ります。

エレメントを追加する

ワークパッドにはグラフや文字、画像などを自由に追加することができます。それら1つ1つは、エレメントと呼ばれます。

メトリックを追加するには、「エレメントを追加」から「グラフ」を選択し、その中から「エレメント」を選択します。

データを選択する

エレメントでは、取得するデータのインデックス等を自分で指定する必要があります。

デフォルトではデモデータが表示されていますが、「Elasticseaerch SQL」、「Elasticsearch documents」、「Timelion」を使ってデータを指定することができます。

Elasticsearch SQLを使う

まずは、Elasticsearch SQLを使ってデータを指定していきます。

Elasticsearch SQLは、Elastyicsearch専用のSQLですが、普通のSQLと文法的にもほとんど変わりません(一部サポートされていない機能あり)。

今回は、google_stock*というインデックスから、最高値を表す”High”項目を取得します。これと言って意味はないですが、データが新しい順に並び替えています。

このとき、SQLによって取得できるデータをプレビューすることもできます。

Elasticsearch documentsを使う

最も直感的にデータを指定できる方法がElasticsearch documentsです。

インデックスやフィールド(項目)を選択するだけで、簡単にデータを取得することができます。

条件を付けてデータを指定したい場合は、クエリに条件を記述します。

この条件式は、Luceneクエリ構文を用いて記述するようです。

上の図では、”High”フィールドが2000以下のレコードを取得するような条件を指定しています(*はワイルドカード)。

Timelionを使う

Timelionを使ったデータ取得方法は以下のように、、、

と言いたいところですが、Timelionを使ったデータの取得方法をよく理解できていません^^;

詳しい方がいれば教えていただきたいです(土下座)

取得したデータを選択する

データを取得できたら、表示タブで表示するデータを選びましょう。

今回は新しい順にデータが並んでいるので、最初の値を取得します。

ORDER BYで並び替えをしない場合は、「最後」を選ぶことで同じ結果が得られます。

データを表示させることができました!

ラベルを記入することで、データの単位など説明を加えることもできます。

インデックスにデータが追加されると、勝手に最新のデータを表示してくれます^^

まとめ

KibanaのCanvasでメトリックを扱う方法を紹介しました。

今回の手順は、他のエレメントでも共通する部分が多いので、是非色々なエレメントの表示を試してみてください!

ではでは👋