Splunk: Splunk入門(グラフ編 2/4) - 棒グラフ・積み上げ棒グラフ

###### 実施環境： Splunk Cloud 8.2.2104.1

### 0. 概要

 Splunk で使用できるグラフについて、今回は棒グラフ及び積み上げ棒グラフを紹介します。
棒グラフ及び積み上げ棒グラフは、値の長さ分の棒を伸ばすことで、各項目がどれだけの大きさの値を持つかを表すグラフです。
項目毎の値の大きさの違いを見たい場合に有用です。

![スクリーンショット 2022-03-06 21.58.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/674bf61a-0c67-1eab-fb33-8a9d7c13b2e2.png "概要")

### 1. SPL 文の組み方

今回、例とする SPL 文には以下を使用します。

```Splunk:Splunk
index="_internal" sourcetype="splunkd" source="*/metrics.log" group="per_index_thruput"
| chart sum(kb) OVER ingest_pipe BY series
```

![スクリーンショット 2022-03-06 21.58.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/674bf61a-0c67-1eab-fb33-8a9d7c13b2e2.png "棒グラフ")

表としては一番左の列にグループ化する項目名とグループ名が入り、2列名以降は一番上のヘッダ行にグラフの棒の名前が、2行目以降に棒の長さが入ります。
 chart コマンドで関数フィールド1つ、グループ化する項目を OVER 句に、グラフの棒にする項目を BY 句に指定するとちょうどこのようになります。

| グループ項目名 | 棒名 | 棒名 | ... |
| --- | --- | --- | --- |
| グループ名 | 棒長さ | 棒長さ | ... |
| グループ名 | 棒長さ | 棒長さ | ... |
| ... | ... | ... | ... |

なお、グループ化しない場合は、以下のように stats コマンドでもグラフを作成できます。

```Splunk:Splunk
index="_internal" sourcetype="splunkd" source="*/metrics.log" group="per_index_thruput"
| stats sum(kb) BY series
```

![スクリーンショット 2022-03-15 22.31.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/df837094-e8bc-c7d6-269f-40bf10498457.png "2列棒グラフ")

:::note warn
ただし、上記の stats を使った棒グラフは正確には「1本の棒のみを持つグループが複数」という形をとっているため、「複数の棒を持つグループが1つ」の場合とは表示のされ方が若干異なることに注意してください。
またこの違いにより、後述の積み上げ棒グラフでは stats を使った場合上手く表示されません。
:::

### 2. 使用方法

棒グラフは、 Splunk 視覚エフェクトの「 Column Chart 」または「 Bar Chart 」を選択することで使用できます。

![スクリーンショット 2022-03-06 21.28.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/c814d0cb-b792-d41d-eefe-41f3983684bb.png "グラフ選択")

「 Column Chart 」の場合棒は下から上に、「 Bar Chart 」の場合は左から右に伸びる形で表示されます。

![スクリーンショット 2022-03-06 21.58.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/674bf61a-0c67-1eab-fb33-8a9d7c13b2e2.png "Column Chart")

![スクリーンショット 2022-03-06 21.58.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/3e1377a9-caae-206d-f1d6-f4db68bdb7ab.png "Bar Chart")

### 3. 積み上げ棒グラフ

「 Column Chart 」または「 Bar Chart 」を使用した際のフォーマットの全般タブには、「スタックモード」という設定項目があります。
この設定を変更することで、グラフを通常の棒グラフから積み上げ棒グラフに変更できます。

![スクリーンショット 2022-03-15 22.52.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/8940b34f-e12d-02cd-94d6-1a0b32c7af2b.png "スタックモード")

「スタックなし」を指定した場合は、通常の棒グラフとして表示されます。

![スクリーンショット 2022-03-06 21.03.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/21426d2b-653a-c2fc-9e98-28d5b89277ac.png "スタックなし")

「スタック」を指定した場合は、積み上げ棒グラフとして表示されます。
項目毎の合計値についても見たい場合は、こちらの方が見やすいかと思います。

![スクリーンショット 2022-03-06 21.03.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/57ba734a-aded-035c-10cc-e2230af3628c.png "スタック")

「100%スタック」を指定した場合は、各項目の比率についての積み上げ棒グラフとして表示されます。
値自体ではなく、値の比率の違いが見たい場合にはこちらを使用します。

![スクリーンショット 2022-03-06 21.04.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/69424e21-c5df-093c-e88d-a2d4cbc2a1de.png "100%スタック")

なお、グループ化なしで積み上げ棒グラフを作成したい場合は、以下のようにダミーのグループを作るなどして、「グループが1つのデータ」を作るように上手くデータの形を整える必要があります。

```Splunk:Splunk
index="_internal" sourcetype="splunkd" source="*/metrics.log" group="per_index_thruput"
| eval value = ""
| chart sum(kb) OVER value BY series
```

![スクリーンショット 2022-03-15 23.01.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/0e5ee861-a8e6-d76c-b3cc-38e80f4ece3c.png "2行積み上げ棒グラフ")

以上、棒グラフの基本的な使い方について紹介しました。
次回は円グラフについて紹介します。

[戻る](https://qiita.com/frozencatpisces/items/fb8dcaf0094abe9e5bd3)