Elastic StackのKibanaでは、データを様々な方法で可視化することができます。KibanaにはVisualizeという機能があり、ダッシュボード等で表示するグラフを作成することができます。
今回は、Visualizeで実装可能なグラフとその特徴についてまとめていきたいと思います。
Visualizeとは
その名の通り、Elasticsearchに取り込んだデータを様々なグラフで可視化するツールです。
ここで作成したグラフはダッシュボードでまとめて表示させることもできます。
Visualizeの種類
ここからは、Visualizeで表現できる可視化方法の特徴を1つずつ見ていきます。
レンズビジュアライゼーション
レンズは簡単かつ直感的なデータの可視化、探索を可能にするUIです。
インデックスをその場で切り替えて様々なデータを容易に探索することができます。また、グラフタイプの切り替えも簡単にできるので、データに合わせて最適な可視化をすることができます。
レンズでは、指定したデータに最適な可視化方法を提案してくれる機能もあります。データの扱いに慣れないユーザでも効果的な可視化でできるという点もこの機能の魅力だと思います。
レンズでは他のVisualizeに比べて細かい設定はできませんが、簡単に様々なグラフを試せるという点に優れています。
マークダウン
マークダウンはhandlebars.jsおよびマークダウン構文を使用してデータを動的に表示させることができるフル機能のテキストボックスです。
データを表示するだけでなく、URLをリンクとして表示することもできます。
マークダウンは、特にcanvasで画面を作成する際に効果的に活用できます(筆者談)
TSVB
TSVBでは、ダッシュボードでよく用いる可視化方法を実現できます。
TSVBで作成可能な可視化タイプは以下の通りです。
- 時系列
- メトリック
- トップN(値の大きい項目から表示)
- ゲージ
- マークダウン
- 表
データを集約、グルーピングして表示するのも、UIから簡単に操作可能です。
Timelion
Timelion固有の構文を利用して、時系列グラフを描画することができます。独自構文のため習得に時間を要しますが、その分カスタマイズ性は他の機能よりも高いです。
注**)バージョン8.0以降ではTimelion機能が削除されるみたいです。これまでに作成したTimelionのVisualizationはダッシュボードに移行できるようです。詳細は以下のリンクで確認ください。
vega
vegaではJSON形式の構文を用いてグラフを描画していきます。vegaとはインタラクティブなVisualizationを作成するための宣言型Web言語です。
vega公式↓↓
https://vega.github.io/vega/examples/
vega言語に馴染みの無い方は習得に苦労するかもしれませんが、当然カスタマイズ性は高いです。
筆者はvegaに馴染みがない勢なので、今のところ避けていますが、、(笑)
エリア
エリアプロットを描画するときに用います。
プロットのパターンもいくつかあるので、見せ方をアレンジすることもできます。
ちなみに以下のグラフは「メトリックと軸」タブ→「Y軸」→「モード」を振動に変更することで作成できます。
ゲージ
ゲージでは、メトリックで表示するようなデータ(最新の値など)をメータ形式で表示します。
円形でも表現可能です。
コントロール
直接的な可視化ツールではありませんが、ダッシュボードやcanvasで絞り込み条件として適用させたい条件を作成します。
作成したコントロールをダッシュボードやcanvasに置くことで、作成した絞り込みを行うことができます。
ゴール
ゴールはゲージと似た表現方法ですが、目標値を設定し、それに対する値を表現することができます。
範囲を指定することで、この範囲の値だと何色になるといった指定もできます(自動でグラデーション)。
タグクラウド
タグクラウドはテキスト分析などでよく見かける、重要度を文字のサイズで表した可視化方法です。
データテーブル
データテーブルでは表形式でデータを可視化します。
Elasticsearchの生の値を表示することはできず、なんらかの形で集約したデータを表示することになります。
パイ
パイチャート(円グラフ)を作成するツールです。
ヒートマップ
ヒートマップを作成するツールです。ブロックタイプのヒートマップを作成できます。
表示する色も変更可能です。
マップ
地理データを利用してマップ上にデータを可視化させることができます。
マップ上に可視化させるには、地理空間フィールドがElasticsearchのデータソースに存在する必要があります。また、GeoJSONと呼ばれる辞書型の地理データファイルをKibanaに直接アップロードすることによっても可視化が可能です。
マップ上のデータの表現方法も様々で、ヒートマップや階級区分図、2区間を直線で結ぶといった表現もできます。
メトリック
メトリックでは、集約や計算によって得られた単一の結果を数字として表示します。
折れ線
折れ線グラフを描画するツールです。必ずしもX軸が時系列である必要はなく、トレンドグラフ以外の折れ線グラフも描画可能です。
横棒
横向きの棒グラフを作成します。横棒のグラフ作成は、基本的にカテゴリ別の分布を見たい場合に行います。
時系列なら縦棒の方が見やすいと思います。
縦棒
よく見かける棒グラフです。積み上げ棒グラフも作成可能です。
下の画面例では、しきい線も引いています。
まとめ
KibanaのVisualizeで作成可能なグラフを紹介してきました。簡単に作成できる者から凝った作りが必要なものまで、多様な機能が実装されています。
まずは簡単にできる機能から始め、必要に応じてカスタマイズが必要な機能を試していくといいと思います。
ではでは👋