Elastic StackのX-Packを試す(Graph編)

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、藤本です。
Elastic Stack 5.0.0 GA がリリースされましたね!

全6回で X-Pack をおさらいがてら機能を試しつつ、新機能を確認していきます。

今回はGraphを試してみました。今回がX-Packを試すシリーズの最後です。

X-Packを試すシリーズのその他のエントリは以下をご参照ください。

Graph

Graph はデータ間の関連性を可視化する機能です。

Graph は半年前のリリース時にブログエントリしています。Graph の機能に関しては下記エントリをご参照ください。

試してみた

今回は公式ブログで配布されているアクセスログのサンプルデータを利用しました。とあるサイトにアクセスしている地域からどのようなページにアクセスしているのかを表示してみます。これだけだとラインチャートでもできますが。

メニューから Graph を選択します。

Kibana

インデックスから関連性を見たいインデックスlogstash-*を選択します。

screenshot 2016-10-29 15.20.45

関連性を見たいフィールドを選択します。今回はアクセス元地域geo.src.keyword、アクセスURLurl.keywordの2つを選択します。

Kibana 2

正常にアクセスできたHTTPレスポンスステータス200でフィルターします。

Kibana 3

こういった感じでどの地域からどのURLへのページアクセスが多いのかを解析・分析することができます。上記エントリでもっと詳しく開設していますので、ご覧ください。

新機能

グラフワークスペースの保存

Visualization、ダッシュボード同様、グラフワークスペースの保存が可能となりました。

Save から保存します。

Kibana 4

Open から保存したグラフワークスペースを展開することができます。

Kibana 5

ドリルダウン機能の追加

グラフワークスペースで表示されたノードのデータを基に任意のページを表示することができます。

例えば、デフォルトで「Raw documents」というドリルダウンが用意されています。「Raw documents」は以下のような設定となっています。

Kibana のコピー

URL の{{gquery}}に選択したノードの値を URL parameter type の形式で埋め込んでページを開きます。

これにより、Raw document をドリルダウンすると、あるノード、もしくは複数のノードのデータをフィルタした状態で Discover のページを表示することができます。

実際にやってみましょう。試してみたグラフワークスペースを開きます。

ドリルダウンしたいノードを選択し、「i」のアイコンを選択します。Drill-downs に選択可能なドリルダウンが表示されます。

screenshot_2016-10-29_16_00_14

Raw documents を選択します。

選択したノードのデータが Luceneクエリとなって、フィルターされている状態でページが開きました。

Kibana 2 のコピー

ドリルダウンによってアクセスされた URL は以下のようになります。

http://hostname:5601/app/kibana#/discover?_g=()&_a=(columns:!(_source),index:'logstash-*',interval:auto,query:(bool:(minimum_should_match:1,should:!((term:(geo.src.keyword:US))))),sort:!(_score,desc))

デフォルトでは Discover を開くドリルダウンだけですが、ドリルダウンは追加することができます。任意の Visualization のドリルダウンを追加することも可能ですし、外部サイトへのページ表示を追加することも可能です。

例えば、以下のように設定すれば、そのまま Google検索を行えるドリルダウンを追加することができます。

Kibana 6

まとめ

いかがでしたでしょうか?

Graph の簡単な紹介と、新機能を試しつつご紹介しました。

Graph はラインチャートや、パイチャートなどの Visualization とは違う視点で可視化でき、分析の幅が大きく広がります。