Yami

メモとか、やったこととか。

Splunk ダミーデータ生成メモ【随時更新】

Splunk VisualizationやDashboardにパネルをおく際、とりあえず見た目を確認したりするために値を設定したいときがあると思います。
わざわざ生のログからデータを引っ張ってくるのも面倒な時は、ダミーデータを生成するのが手っ取り早いし、パネルに設定したい値も自由に決めれます。

本ポストは、そんなダミーデータを生成するSPLをまとめて書いておくメモページです。

任意の値を1つ

使途:Single Value panelなど。

| makeresults
| eval num=100
| table num

f:id:jrick:20220308002107p:plain

複数の値

使途:Table panelなど。
事前に文字列を用意し、指定した区切り文字で区切りテーブルにするという方法。

| makeresults
| eval data="a, b, c, d, e" 
| eval data=split(data,", ") 
| mvexpand data
| table data

f:id:jrick:20220309002241p:plain

複数の値(連番)

こちらは連番を作るやり方。

| makeresults count=5
| streamstats count
| table count

f:id:jrick:20220308002354p:plain

複数の値(ランダム)

1つ前のSPLに少し追加。「random()%数字」とすることで、0~(数字-1)の間でランダムな数字を生成できます。

| makeresults count=5
| streamstats count
| eval count=random()%100
| table count

f:id:jrick:20220308002600p:plain

フィールド2つの値(連番+ランダム)

1つ前のSPLに、idとなるフィールドを追加。

| makeresults count=5
| streamstats count as id
| eval count=random()%100
| table id,count

f:id:jrick:20220308002833p:plain

任意の値の表

append+サブサーチを利用することで、任意の値の行を追加できます。

| makeresults
| append [ | makeresults | eval id="abc" | eval data="abc123" ]
| append [ | makeresults | eval id="def" | eval data="456def" ]
| append [ | makeresults | eval id="ghi" | eval data="ghi789" ]
| search id=*
| table id,data

f:id:jrick:20220308003233p:plain

フィールドソートするとき特定のアイテムは常時一番上にくるようにする

ソートオーダ用の列を追加し、ソートオーダ列→値列の優先度でソートを実行。
以下のSPLでは、aaaが常に一番上に表示されます。

| makeresults
| eval name=split("aaa, bbb, ccc, ddd, eee", ", ")
| mvexpand name
| streamstats count | eval count=if(name=="aaa",1,2)
| eval val=random()%100
| search name=* 
| sort count, -val
| table name,val,count

f:id:jrick:20220309231340p:plain