概要
サブサーチ結果をreturn
で返す時、検索結果がない場合メインサーチは引数なしで検索してしまう。
それを防止する方法。
結論
SPL
return あなたのサブサーチ結果フィールド名等
where search!=""
] `comment(“サブサーチの閉じかっこ”)`
解説
isnotnull
が使えるかと思ったら、使えなかったので。
return
についてはSplunkサブサーチで検索期間を変化させるを参照
ちょっと調べてみるとeval
(where
も)の評価で
isnull
:そのフィールドがない場合
==""
:フィールドはあるけど値が入っていない場合
みたい。
Splunkチュートリアルのデータで確かめられる。
SPL
source="access_30DAY.log"
| where isnull(action)
なのでその逆、サブサーチ検索結果がある時のみメインサーチが動くようにしている。
画像がない・・・・
結果がない時メッセージを表示する
結果なし
...
| appendpipe [|stats count
| eval message="There is no result"
| where count = 0 | table message ]
appendpipe
でこのように作ってあげると、メインサーチの結果がない場合、メッセージを表示してくれる。
意外のニーズはある。