Elastic StackのX-Packを試す(Graph編)
こんにちは、藤本です。
Elastic Stack 5.0.0 GA がリリースされましたね!
全6回で X-Pack をおさらいがてら機能を試しつつ、新機能を確認していきます。
今回はGraphを試してみました。今回がX-Packを試すシリーズの最後です。
X-Packを試すシリーズのその他のエントリは以下をご参照ください。
- Elastic StackのX-Packを試す(インストール編)
- Elastic StackのX-Packを試す(Security編)
- Elastic StackのX-Packを試す(Monitoring編)
- Elastic StackのX-Packを試す(Watcher編)
- Elastic StackのX-Packを試す(Reporting編)
- Elastic StackのX-Packを試す(Graph編)
Graph
Graph はデータ間の関連性を可視化する機能です。
Graph は半年前のリリース時にブログエントリしています。Graph の機能に関しては下記エントリをご参照ください。
試してみた
今回は公式ブログで配布されているアクセスログのサンプルデータを利用しました。とあるサイトにアクセスしている地域からどのようなページにアクセスしているのかを表示してみます。これだけだとラインチャートでもできますが。
メニューから Graph を選択します。
インデックスから関連性を見たいインデックスlogstash-*
を選択します。
関連性を見たいフィールドを選択します。今回はアクセス元地域geo.src.keyword
、アクセスURLurl.keyword
の2つを選択します。
正常にアクセスできたHTTPレスポンスステータス200
でフィルターします。
こういった感じでどの地域からどのURLへのページアクセスが多いのかを解析・分析することができます。上記エントリでもっと詳しく開設していますので、ご覧ください。
新機能
グラフワークスペースの保存
Visualization、ダッシュボード同様、グラフワークスペースの保存が可能となりました。
Save から保存します。
Open から保存したグラフワークスペースを展開することができます。
ドリルダウン機能の追加
グラフワークスペースで表示されたノードのデータを基に任意のページを表示することができます。
例えば、デフォルトで「Raw documents」というドリルダウンが用意されています。「Raw documents」は以下のような設定となっています。
URL の{{gquery}}
に選択したノードの値を URL parameter type の形式で埋め込んでページを開きます。
これにより、Raw document をドリルダウンすると、あるノード、もしくは複数のノードのデータをフィルタした状態で Discover のページを表示することができます。
実際にやってみましょう。試してみたグラフワークスペースを開きます。
ドリルダウンしたいノードを選択し、「i」のアイコンを選択します。Drill-downs に選択可能なドリルダウンが表示されます。
Raw documents を選択します。
選択したノードのデータが Luceneクエリとなって、フィルターされている状態でページが開きました。
ドリルダウンによってアクセスされた 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検索を行えるドリルダウンを追加することができます。
まとめ
いかがでしたでしょうか?
Graph の簡単な紹介と、新機能を試しつつご紹介しました。
Graph はラインチャートや、パイチャートなどの Visualization とは違う視点で可視化でき、分析の幅が大きく広がります。