Splunk: テスト用データを用意せずにダミーイベントを作りたい
Splunk のサーチコマンドの動作確認で時々使うのでメモ。
実施環境: Splunk Free 8.2.2
Splunk のサーチコマンドの動作確認を行う際に、テスト用のデータを用意せずサーチ内だけでさくっとダミーイベントを作成したい時があります。
そのような時は、 makeresults コマンドを使用します。
| makeresults
上記を実行すると、コマンドを実行したサーバ日時を値に持つ _time フィールドのみのイベントが1つだけ生成されます。
複数のイベントを生成したい場合は、 count オプションに作成したいイベント数を指定します。
| makeresults count=5
複数作成しても、 _time フィールドの値は全て同じです。
現在時刻を起点として一定間隔のデータを作成したい場合は、 streamstats コマンドを利用して生成した数列を _time に加算 / 減算することで作成できます。
| makeresults count=5
| streamstats count AS Serial
| eval _time = _time - Serial * 60 * 5
| fields - Serial
起点時刻を指定したい場合は、 eval コマンドの strptime 関数を使用します。
| makeresults count=5
| streamstats count AS Serial
| eval Date = strptime("2021-09-20 12:30:45", "%Y-%m-%d %H:%M:%S")
| eval _time = Date + ( Serial - 1 ) * 60 * 60 * 24
| fields - Serial, Date
_time 以外のフィールドを追加する場合は、 eval コマンドを使用します。
| makeresults count=5
| eval Field = "test"
ランダムな値が必要な場合は、 eval コマンドの random 関数を使用します。
なお、 random 関数は「0から2の31乗-1の間の任意の整数を返す」関数の為、数値の範囲を指定したい場合は%で割り算の余りを取ります。
| makeresults count=5
| eval Number = random() % 100
| fields - _time
文字列等数値以外の値にしたい場合は、 if 関数や case 関数を併用もできます。
| makeresults count=5
| eval Judge = if( random() % 2 > 0, "OK", "NG")
| fields - _time
| makeresults count=5
| eval Rand = random() % 3
| eval Judge = case( Rand == 0, "Red", Rand == 1, "Yellow", Rand == 2, "Green")
| fields - _time, Rand
Author And Source
この問題について(Splunk: テスト用データを用意せずにダミーイベントを作りたい), 我々は、より多くの情報をここで見つけました https://qiita.com/frozencatpisces/items/f63c7fc792cab31afb3a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .