Splunk: 2つのグラフを表示する、オーバーレイ・複数要素表示・トレリス


###### 実施環境： Splunk Free 8.2.2

### 0. 概要

 Splunk では検索結果をグラフにすることができます。
基本的に1つの検索結果で作成できるグラフは1つですが、棒グラフと折れ線グラフを合わせたり、値の範囲が異なる2つのグラフを重ね合わせたりと、1つの検索結果から複数の別のグラフを作りたい場合があります。
そのような場合に活用できる機能を紹介します。

なお、今回は以下の SPL を縦棒グラフ( Column Chart )にして使用します。

```Splunk:Splunk
index="_internal"
| timechart span=1m count AS cnt, dc(source) AS dcnt
```

![WS000080.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/16c50dd4-66c6-8286-c3d7-c62507225ed7.jpeg "グラフ")

### 1. オーバーレイ

まずは元のグラフについて、 dcnt のグラフを折れ線グラフにすることを考えます。
折れ線グラフを他のグラフに重ねたいときに利用できるのが「グラフのオーバーレイ」という機能です。

グラフのオーバーレイを使用する場合は、「フォーマット」⇒「グラフのオーバーレイ」で設定します。

![WS000120.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/8065f90b-7bc9-456d-faa7-984ba9f31f51.jpeg "グラフのオーバーレイ")

まずは「オーバーレイ」に「 dcnt 」を選択してみます。
すると、以下のようになります。
わかりにくいですが、「 dcnt 」が折れ線グラフになっています。

![WS000083.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/1ca6b562-1b0c-981b-fe59-b8fefb28bc3b.jpeg "オーバーレイ")

もう少しわかりやすくしてみましょう。

上のグラフだと値が大きい「 cnt 」と値が小さい「 dcnt 」が同じ縦軸でグラフ化されているため、「 dcnt 」がわかりにくくなっています。
なので、「軸として表示」をオンにして縦軸を分けます。
すると、以下のようになります。

![WS000084.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/bf7ebbd5-f687-d821-2eb5-9b26a175e5fd.jpeg "軸として表示")

「 cnt 」の縦軸は左、「 dcnt 」の縦軸は右と分けられ、グラフが見やすくなりました。

ここまで縦棒グラフ( Column Chart )を使用してきましたが、オーバーレイは他に横棒グラフ( Bar Chart )、折れ線グラフ( Line Chart )、面グラフ( Area Chart )でも使用できます。
各グラフで使用したイメージは以下の通りです。

![WS000088.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/35b0f9ce-6d52-3ad5-c5fb-6fc48b5f701b.jpeg "BarChart")

![WS000085.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/0534ae7d-d853-e1f5-6e2d-9c39a93bb23e.jpeg "LineChart")

![WS000086.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/1c26ebb0-ac52-9348-1b5a-678e4178582e.jpeg "AreaChart")

ちなみに、オーバーレイする側のグラフは折れ線グラフ以外にはできません。

### 2. 複数要素表示

単に縦軸を分けたいだけなら、「複数要素表示」という機能も使用できます。
「フォーマット」⇒「全般」の「複数要素表示」を「はい」にすることで使用できます。

![WS000091.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/ea2f61fe-934c-848e-579f-80fed92bf9b2.jpeg "複数要素表示")

すると、以下のようにグラフが縦に並べて分割されます。

![WS000092.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/dbde226b-3567-c21b-1c55-71dc94d53be5.jpeg "複数表示")

このままだと縦軸が同じで「 dcnt 」のグラフがわかりにくいので、縦軸を別にします。
縦軸を別にするには、「フォーマット」⇒「 Y 軸」の「軸範囲」を「独立」にします。

![WS000093.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/ac134d81-428a-8792-5c2d-d9647b338945.jpeg "軸範囲")

すると、以下のように縦軸が別々になり「 dcnt 」のグラフが見やすくなりました。

![WS000094.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/3a8d84f9-7792-b1f8-61d2-e32b5b7c5fe1.jpeg "独立")

オーバーレイとの併用もできます。

![WS000121.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/bbaa4c8b-93b6-611b-1438-137c5b1b399d.jpeg "オーバーレイと併用")

この機能も縦棒グラフ( Column Chart )の他に横棒グラフ( Bar Chart )、折れ線グラフ( Line Chart )、面グラフ( Area Chart )で使用できます。

### 3. トレリス

グラフを分割するには、「トレリス」という機能もあります。
「トレリス」から「トレリスレイアウトを使用」にチェックを入れることで使用できます。

![WS000102.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/aa732e5b-5232-276b-5757-d444f6e9a648.jpeg "トレリスレイアウトを使用")

チェックを入れるとこのようにグラフが並びます。

![WS000104.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/52a026f3-3650-19e4-491d-e22accf91ad1.jpeg "トレリス")

上は2つのグラフだけなのでわかりにくいですが、より多くのグラフを並べると格子状に並ぶことがわかります。

```Splunk:Splunk
index="_internal"
| stats count AS cnt BY source
```

![WS000107.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/e6aec7dd-66c0-8ba0-6838-093ef81e3b09.jpeg "複数グラフ")

やはりこのままだと「 dcnt 」のグラフがわかりにくいので、縦軸を分けます。
「トレリス」の「スケール」を「独立」に変更します。

![WS000122.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/7b0728cd-c3b8-72e0-6f38-596e135fc0d6.jpeg "スケール")

変更した結果が以下です。
縦軸が分けられて、グラフが見やすくなりました。

![WS000106.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/14d40eb4-f139-53a5-7e9e-6bb6f291cfb3.jpeg "トレリス独立")

オーバーレイと併用もできます。

![WS000123.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/e7348cca-834a-9b21-048e-1f2499f58f31.jpeg "オーバーレイと併用")

この機能は縦棒グラフ( Column Chart )の他に横棒グラフ( Bar Chart )、折れ線グラフ( Line Chart )、面グラフ( Area Chart )、さらにその他のグラフでも使用可能です。

ちなみにこのトレリスや複数要素表示は、ダッシュボードの場合単にパネルを複数並べることでも同様のことができます。
パネルを並べるほうがカスタムもしやすいですが、それでもこれらの機能を使用する利点として、「検索実行が1回で済むためパフォーマンスがよい」「グラフの個数が検索結果により可変となる」といった点があります。
どちらがよいかは状況によりますが、選択肢の1つとして持っておいてもよいかと思います。