splunk

Splunkコマンド 「makecontinuous」でカレンダー日付のリストを作成

更新日:

fieldsの値に連続性をもたせるコマンド「makecontinuous」を使って、カレンダー日付のリストを作成します。

サンプルコード

| makeresults
| eval Date =strptime(strftime(relative_time(now(),"-0day"),"%Y-%m-%d"),"%Y-%m-%d")
| append [makeresults | eval Date = strptime(strftime(relative_time(now(),"+3mon"),"%Y-%m-%d"),"%Y-%m-%d")]
| makecontinuous Date span=1day
| eval DateCalendar = strftime(Date,"%Y-%m-%d (%a)")
| fields - _time Date

実行した結果です。

リストの開始日と終了日を設定

| makeresults
| eval Date =strptime(strftime(relative_time(now(),"-0day"),"%Y-%m-%d"),"%Y-%m-%d")
| append [makeresults | eval Date = strptime(strftime(relative_time(now(),"+3mon"),"%Y-%m-%d"),"%Y-%m-%d")]
| eval DateCalendar = strftime(Date,"%Y-%m-%d (%a)")

nowとrelative_timeを使って、リストの開始日と終了日を設定します。
時間を「00:00:00」に設定したかったので、「strftime→strptime」に変更しています。
(サンプルは今日〜3ヶ月後を設定)

上記結果になります。

リストに連続性をもたせる

| makeresults
| eval Date =strptime(strftime(relative_time(now(),"-0day"),"%Y-%m-%d"),"%Y-%m-%d")
| append [makeresults | eval Date = strptime(strftime(relative_time(now(),"+3mon"),"%Y-%m-%d"),"%Y-%m-%d")]
| makecontinuous Date span=1day
| eval DateCalendar = strftime(Date,"%Y-%m-%d (%a)")
| fields - _time Date

「makecontinuous」コマンドで「span=1day」で連続性をもたせます。

まとめ

「makeresults」「makecontinuous」を組み合わせると、すでに存在するデータだけでなく、自由にデータを作り出せるので重宝します。







-splunk
-

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