実施環境: Splunk Free 8.2.2
0. 概要
Splunk では検索結果をグラフにすることができます。
基本的に1つの検索結果で作成できるグラフは1つですが、棒グラフと折れ線グラフを合わせたり、値の範囲が異なる2つのグラフを重ね合わせたりと、1つの検索結果から複数の別のグラフを作りたい場合があります。
そのような場合に活用できる機能を紹介します。
なお、今回は以下の SPL を縦棒グラフ( Column Chart )にして使用します。
index="_internal"
| timechart span=1m count AS cnt, dc(source) AS dcnt
1. オーバーレイ
まずは元のグラフについて、 dcnt のグラフを折れ線グラフにすることを考えます。
折れ線グラフを他のグラフに重ねたいときに利用できるのが「グラフのオーバーレイ」という機能です。
グラフのオーバーレイを使用する場合は、「フォーマット」⇒「グラフのオーバーレイ」で設定します。
まずは「オーバーレイ」に「 dcnt 」を選択してみます。
すると、以下のようになります。
わかりにくいですが、「 dcnt 」が折れ線グラフになっています。
もう少しわかりやすくしてみましょう。
上のグラフだと値が大きい「 cnt 」と値が小さい「 dcnt 」が同じ縦軸でグラフ化されているため、「 dcnt 」がわかりにくくなっています。
なので、「軸として表示」をオンにして縦軸を分けます。
すると、以下のようになります。
「 cnt 」の縦軸は左、「 dcnt 」の縦軸は右と分けられ、グラフが見やすくなりました。
ここまで縦棒グラフ( Column Chart )を使用してきましたが、オーバーレイは他に横棒グラフ( Bar Chart )、折れ線グラフ( Line Chart )、面グラフ( Area Chart )でも使用できます。
各グラフで使用したイメージは以下の通りです。
ちなみに、オーバーレイする側のグラフは折れ線グラフ以外にはできません。
2. 複数要素表示
単に縦軸を分けたいだけなら、「複数要素表示」という機能も使用できます。
「フォーマット」⇒「全般」の「複数要素表示」を「はい」にすることで使用できます。
すると、以下のようにグラフが縦に並べて分割されます。
このままだと縦軸が同じで「 dcnt 」のグラフがわかりにくいので、縦軸を別にします。
縦軸を別にするには、「フォーマット」⇒「 Y 軸」の「軸範囲」を「独立」にします。
すると、以下のように縦軸が別々になり「 dcnt 」のグラフが見やすくなりました。
オーバーレイとの併用もできます。
この機能も縦棒グラフ( Column Chart )の他に横棒グラフ( Bar Chart )、折れ線グラフ( Line Chart )、面グラフ( Area Chart )で使用できます。
3. トレリス
グラフを分割するには、「トレリス」という機能もあります。
「トレリス」から「トレリスレイアウトを使用」にチェックを入れることで使用できます。
チェックを入れるとこのようにグラフが並びます。
上は2つのグラフだけなのでわかりにくいですが、より多くのグラフを並べると格子状に並ぶことがわかります。
index="_internal"
| stats count AS cnt BY source
やはりこのままだと「 dcnt 」のグラフがわかりにくいので、縦軸を分けます。
「トレリス」の「スケール」を「独立」に変更します。
変更した結果が以下です。
縦軸が分けられて、グラフが見やすくなりました。
オーバーレイと併用もできます。
この機能は縦棒グラフ( Column Chart )の他に横棒グラフ( Bar Chart )、折れ線グラフ( Line Chart )、面グラフ( Area Chart )、さらにその他のグラフでも使用可能です。
ちなみにこのトレリスや複数要素表示は、ダッシュボードの場合単にパネルを複数並べることでも同様のことができます。
パネルを並べるほうがカスタムもしやすいですが、それでもこれらの機能を使用する利点として、「検索実行が1回で済むためパフォーマンスがよい」「グラフの個数が検索結果により可変となる」といった点があります。
どちらがよいかは状況によりますが、選択肢の1つとして持っておいてもよいかと思います。