【Kibana】Canvasでリンクを付けてページ遷移する方法

Elastic StackのKibanaではダッシュボードやCanvasといった機能が用意されており、様々な形でデータを可視化することができます。

データの可視化は1ページのダッシュボードやCanvasで完結することもあれば、そうならない場合もあります。

そんなときに、画面遷移ができればより効率的にデータ探索ができます。

今回は、ダッシュボードやCanvasで画面遷移をする方法を紹介します。

ダッシュボードから画面遷移

Kibanaのデフォルトサンプルに飛行機に関するダッシュボードが用意されているので、それを見てみます。

ダッシュボード画面

画面遷移のためのリンクを作成するためにはMarkdownを用います。ダッシュボードでのMarkdownはビジュアライゼーションで作成したものを配置します。

ダッシュボード右上部の編集から新規作成するか、Visualizeメニューから新規作成でMarkdownを選択します。

Visualizeメニューから"Createビジュアライゼーション"を選択
Visualizeから新規作成
Markdownを選択
Markdownを選択

markdownでは以下の構文で記述するとリンクとして認識されます。

[ 表示したい文字列 ]( URL )

今回は元々ダッシュボードの右上にあるMarkdownの中にリンクがあるので、どのような構文になっているか見てみます。

### Sample Flight data
This dashboard contains sample data for you to play with. You can view it, search it, and interact with the visualizations. For more information about Kibana,
 check our [docs](https://www.elastic.co/guide/en/kibana/current/index.html).

最後のdocsがリンクとなっていることがわかります。構文を見てみると、[ ]で囲ったdocsが表示され、()の中のURLに遷移するようになっています。

Canvasから画面遷移

次はCanvasから他の画面へ遷移する際の方法です。CanvasでもMarkdownを使って画面遷移が可能です。

こちらもサンプルがあるので見てみます。

Canvas画面のサンプル

画面上部にリンクがありますね。これの中身はどうなっているかというと

{getCell "host"}

{getCell “host”}となっています。先ほどと違いますね。これはどういうことかというと、インデックスのデータから”host”に入っている値を取得しています。データ取得のところを確認してみると、

SELECT host FROM kibana_sample_data_logs WHERE host='www.elastic.co'

となっていました。この例自体はあまり意味のない処理になっていますが、こういうこともできるというデモの意味が強いんだと思います。

もちろん、データソースを選択せず、ダッシュボードのところで紹介したような構文でもリンクを作成することができます。

CanvasでMarkdownを新規作成するには、画面左上の「エレメントを追加」のテキストを選択します。

まとめ

KibanaのダッシュボードやCanvasで画面遷移をする方法を紹介しました。

リンクで画面遷移をできるようにすることで、関連のあるダッシュボードやCanvas間をスムーズに移動できるようになり便利になります。

操作性を高めて使いやすいツールにしていってください^^

ではでは👋