在实际应用中,我们可能会遇到有些数据信息需要动态管理,并在spl中根据这些信息动态执行查询。也就是说我们以往我们可能会把查询条件直接放在| search后面执行,先在我们想把这个条件定义在lookup中,然后将lookup中的这个条件追加在| search后面。当然,这个实现你可以用在| search后面,也可网易用在各种splunk的命令行后面,只不过这里为了方便理清功能,就以| search为例。
以下面的案例为例:
在学校举行的各次考试中,可能有些时候考试难度较大,有些时候难度较小,那么我们在判定学生每次考试成绩的等级时就需要根据开始难度来评定,而不是单纯地以60作为每次考试的及格线,所以这个动态评定的等级我们就可以放在一个lookup table中,每次考试之后可以修改这个lookup table中的条件来实现对学生成绩的评定。
- 创建lookup table
| makeresults
| eval level_condition="grade>80",subject="Math"
| fields - _time
| outputlookup level.csv
- 测试数据
| makeresults
| eval name="Sam",grade="85",subject="Math"
| table name,grade,subject
-
<