splunk

Splunk ダッシュボードでクリック時にトークンを設定してドリルダウンする

投稿日:

ダッシュボードのパネル上のデータをクリックするとドリルダウンして、別パネルに選択したデータをする実装を紹介します。
ドリルダウン機能は分析に必須なので重宝する機能です。

サンプルデータ

以下のサーチ分で2つパネルを作成します。
2つの違いは12行目の「| where Date = “$Date$” AND Item = “$Item$”」のみです。

code

1つ目のパネル

| makeresults | eval Date = strftime(now() -(3600*24*0),"%Y-%m-%d"),Col_A = 1,Col_B = 10,Item = "AAA" | fields - _time
| append [| makeresults | eval Date = strftime(now() -(3600*24*3),"%Y-%m-%d"),Col_A = 8,Col_B = 80,Item = "BBB"   | fields - _time]
| append [| makeresults | eval Date = strftime(now() -(3600*24*1),"%Y-%m-%d"),Col_A = 5,Col_B = 30,Item = "AAA"   | fields - _time]
| append [| makeresults | eval Date = strftime(now() -(3600*24*1),"%Y-%m-%d"),Col_A = 2,Col_B = 20,Item = "BBB"   | fields - _time]
| append [| makeresults | eval Date = strftime(now() -(3600*24*0),"%Y-%m-%d"),Col_A = 6,Col_B = 20,Item = "AAA"   | fields - _time]
| append [| makeresults | eval Date = strftime(now() -(3600*24*3),"%Y-%m-%d"),Col_A = 4,Col_B = 20,Item = "BBB"   | fields - _time]
| append [| makeresults | eval Date = strftime(now() -(3600*24*2),"%Y-%m-%d"),Col_A = 3,Col_B = 40,Item = "BBB"   | fields - _time]
| fields Date Item Col_A Col_B
| sort by - Date Item
| streamstats sum(Col_A) by Date Item
| eventstats sum(Col_A) as totalCol_A by Date Item

2つ目のパネル

| makeresults | eval Date = strftime(now() -(3600*24*0),"%Y-%m-%d"),Col_A = 1,Col_B = 10,Item = "AAA" | fields - _time
| append [| makeresults | eval Date = strftime(now() -(3600*24*3),"%Y-%m-%d"),Col_A = 8,Col_B = 80,Item = "BBB"   | fields - _time]
| append [| makeresults | eval Date = strftime(now() -(3600*24*1),"%Y-%m-%d"),Col_A = 5,Col_B = 30,Item = "AAA"   | fields - _time]
| append [| makeresults | eval Date = strftime(now() -(3600*24*1),"%Y-%m-%d"),Col_A = 2,Col_B = 20,Item = "BBB"   | fields - _time]
| append [| makeresults | eval Date = strftime(now() -(3600*24*0),"%Y-%m-%d"),Col_A = 6,Col_B = 20,Item = "AAA"   | fields - _time]
| append [| makeresults | eval Date = strftime(now() -(3600*24*3),"%Y-%m-%d"),Col_A = 4,Col_B = 20,Item = "BBB"   | fields - _time]
| append [| makeresults | eval Date = strftime(now() -(3600*24*2),"%Y-%m-%d"),Col_A = 3,Col_B = 40,Item = "BBB"   | fields - _time]
| fields Date Item Col_A Col_B
| sort by - Date Item
| streamstats sum(Col_A) by Date Item
| eventstats sum(Col_A) as totalCol_A by Date Item
| where Date = "$Date$" AND Item = "$Item$"

結果

2つ目のパネル(Select Data)は「サーチ入力待ち」になります。

1つ目のパネル(Original Data)のをクリックすると、クリックした行のみ抽出されます。

3行目をクリックした場合

6行目をクリックした場合

Point

ドリルダウンの設定

パネルの設定ボタンから「Edit Drilldown」を選択

On Clickの設定で「このダッシュボード上のトークンの管理」を選択

トークン名と設定式を入力。
今回は「Date」と「Item」トークンを設定

トークン式の一覧(よく使うもの)です。
今回は「$row.<fieldname>$」を使ってます。

トークン設定内容
$click.name$テーブルの一番左フィールド(列)名
$click.name2$クリックされたフィールド(列)名
$click.value$テーブルの一番左フィールド(列)値
$click.value2$クリックされたフィールド(列)値
$row.<fieldname>$クリックされた行の<fieldname>の値

パネル側の実装

where文で1つ目のパネルで設定するトークンを指定して入力待ちにします。

| where Date = "$Date$" AND Item = "$Item$"

パネルのヘッダにもトークンを表示させて、設定されている値がわかるようにします。

Select Data (Set Token Date=$Date$ ,Item=$Item$)

結果

まとめ

今回は同一ダッシュボード内でドリルダウンしましたが、別ダッシュボードに遷移させることもできるので、ドリルダウン機能を使うことで、情報過多にならないようにダッシュボードを整理しましょう。







-splunk
-

Copyright© Tech Log , 2020 All Rights Reserved Powered by STINGER.