我正在编写查询以确定基于摄像头的系统的事件百分比是错误事件。
要将记录的事件缩小到相机事件,我在初始查询中有event=camera*
。
我接下来要做的是将事件视为一个子集中的事件,所以我想要这样的事情:
event=camera* | eval bad_event=IF(event IN (camera-failed, camera-error, ...))
但我不确定Splunk中的正确语法。
我尝试了eval bad_event=IF(event=camera-failed OR event=camera-error)
,但在' eval'中收到了消息错误命令:' if'的参数。功能无效。
如何检查事件是否在其可能值的子集中?
答案 0 :(得分:1)
你可以使用coalesce和case,或if和match(documentation):
使用案例:
| eval event_type=coalesce(case(event=='camera-failed','bad',event=='camera-error','bad'), 'good')
使用匹配:
| eval event_type=if(match(event_type, 'camera-(failed|error)'),'bad', 'good')