确定字段是否在值的子集中

时间:2015-09-11 15:07:11

标签: splunk

我正在编写查询以确定基于摄像头的系统的事件百分比是错误事件。

要将记录的事件缩小到相机事件,我在初始查询中有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'的参数。功能无效。

如何检查事件是否在其可能值的子集中?

1 个答案:

答案 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')