Splunk7.2からタイムレンジピッカーのカテゴリの表示ON/OFFができるようになったらしい

# はじめに

Splunkではサーチ実行前に「いつのデータをサーチするか？」を時間軸で絞り込むことで、サーチにかかる時間を短くすることができます。この検索対象期間を絞り込む機能をSplunkではタイムレンジピッカーと呼んでいます。

タイムレンジピッカーは標準ではサーチバーで使用することができ、検索対象期間をさまざまな条件で指定することができます。
![000.png](https://qiita-image-store.s3.amazonaws.com/0/170600/a91e96ec-aa37-dd4b-8fef-191ebcfe21b1.png)

# タイムレンジピッカーのカテゴリについて

タイムレンジピッカーはユーザーが検索対象期間を指定する操作をサポートするために、予め検索対象期間の設定が複数用意されています。
また、これらの設定は内容に応じて6つの分類でカテゴライズされています。
![001.png](https://qiita-image-store.s3.amazonaws.com/0/170600/122cfddf-e371-ca13-0b7d-02e29151aa7f.png)

|カテゴリ(英語)|概要|例|
|:---:|:---|:---|
|プリセット(Presets)|あらかじめ設定された検索対象期間を選ぶ|今月|
|相対(Relative)|サーチ実行時点から遡った範囲からサーチ実行時点までを指定する|(サーチ実行時点から)2時間前|
|リアルタイム(Real-time)|サーチ実行時点から指定した範囲までをリアルタイムにサーチする|15分前から(リアルタイムな)現在まで|
|日付範囲(Date Range)|検索対象期間を日付で指定する。「ある日付より前」「ある日付から現在まで」といった指定も可能。|2019/1/1より前(のイベント全てをサーチ対象にする)|
|日付と時間の範囲(Date & Time Range)|検索対象期間を日付と時間で指定する。日付範囲より細やかな指定が可能。|2018/1/1 12:00:00.000から2019/4/29 23:59.59.999まで|
|詳細(Advanced)|unixtimeまたはSplunkの時間修飾子で指定する|1514775600※2018/1/1 12:00.00のunix-time |

ここで、プリセットに表示される期間についてですが、Splunkwebの画面の設定「ユーザー・インターフェース」もしくは設定ファイルtimes.confを直接編集し設定をSplunkに適用することによって、ユーザー独自にカスタマイズした検索対象期間を定義することができます。

たとえば、「昨年4月1日から今年3月末日まで」という検索対象期間を「last fisical year」という名前で定義することができます。

以下の画面スクリーンショットは検索対象期間を「last fisical year」としてラベル名を「昨年度」と定義した設定のサンプル画面です。(Splunkバージョン:7.2.3)

![006.png](https://qiita-image-store.s3.amazonaws.com/0/170600/f297bc17-91b5-7619-c166-e4cdc917b6a4.png)

定義した設定は、タイムレンジピッカーの「プリセット」カテゴリにラベル名が表示されます。サーチ時にカスタマイズした定義「昨年度」を指定することで、「昨年4月1日から今年3月末日まで」を検索対象範囲にしてサーチを行なうことができます。
![007.png](https://qiita-image-store.s3.amazonaws.com/0/170600/79efae4d-d712-424b-1387-394f950f6f99.png)

# 本題
前項でご説明しました通り、従来のSplunkではタイムレンジピッカーで独自の検索対象期間を定義することができましたが、Splunk 7.2からはカテゴリそのものの表示状態も設定できるようになったようです。

「このAppのダッシュボードのタイムレンジピッカーはリアルタイム検索の入力インターフェースを見せたくないなぁ」といったような場合にカテゴリから消すことで、（主に見た目を）スッキリさせるのに役立つと思います。
## 設定方法
本稿を執筆している時点の最新バージョン(7.2.4)時点では設定ファイルtimes.confを直接編集し、その後splunkプロセスを再起動することで反映されるようです。

```ruby:times.conf追加設定
[settings]
show_advanced = [true|false]
# 詳細(Advanced)カテゴリの表示の状態設定する。falseを指定すると表示されなくなる。（デフォルト:true）

show_date_range = [true|false]
# カテゴリ「日付範囲(Date Range)」の表示状態を設定する。falseを指定すると表示されなくなる。（デフォルト:true）

show_datetime_range = [true|false]
# カテゴリ「日付と時間の範囲(Date & Time Range)」の表示状態を設定する。falseを指定すると表示されなくなる。（デフォルト:true）

show_presets = [true|false]
# カテゴリ「プリセット(Presets)」の表示状態を設定する。falseを指定すると表示されなくなる。（デフォルト:true）

show_realtime = [true|false]
# カテゴリ「リアルタイム(Realtime)」の表示状態を設定する。falseを指定すると表示されなくなる。（デフォルト:true）

show_relative = [true|false]
# カテゴリ「相対(Relative)」の表示状態を設定する。falseを指定すると表示されなくなる。（デフォルト:true）
```

以下はカテゴリ「相対」「リアルタイム」「詳細」を非表示にした場合のタイムレンジピッカーの表示結果です。（カテゴリが見た目上消えています）
![008.png](https://qiita-image-store.s3.amazonaws.com/0/170600/bc0649c2-6d71-2e21-0fc6-7758829cecb7.png)

## 注意点
- 表示制御の範囲は「app単位」or「システム全体」で指定できるようです。
times.confをappの下で設定すれば、そのapp内のタイムレンジピッカーでのみ表示制御設定が有効になります。また、$SPLUNK_HOME/system/local/ディレクトリで設定すると、そのSplunkすべてのappのタイムレンジピッカーに対して設定が適用されるようです。
※ユーザーディレクトリ($SPLUNK_HOME/etc/users/<user_name>/user-prefs/local)に適用すると、おそらくそのユーザーに対して適用されると思います（未検証）

- このカテゴリ表示のON/OFF設定はあくまで見た目の表示ON/OFF設定になります。
つまり、タイムレンジピッカーのカテゴリ上で表示がOFFになっていても、サーチ文中でearliest/latestにより範囲を指定すると、その設定でサーチが実行されます。
もし、厳密にユーザーにリアルタイム検索をさせたくないといったようなことをしたい場合は、別途ロールの権限設定で制御が必要になります。