Splunk警报-仅从时间范围中排除IP地址



我正在尝试构建一个Splunk Alert,其目的是检测是否使用了用户帐户。在此警报中,我希望排除每周二和周四的时间范围(上午5点到6点之间(。在此期间,该帐户应被合法使用。在这个时间段内,我还想排除使用它的服务器的IP地址

为了澄清,假设我们有一个IP为10.10.10.5/32的服务器。此服务器在每周二和周四05:00至06:00之间使用帐户useraccount。我需要Splunk Alert来搜索帐户的任何使用情况,即使是在10.10.10.5上,但在上述时间段内,如果有意义的话,请将10.10.10.5从警报搜索中排除。

到目前为止,我还没有找到一种方法来排除服务器的IP地址。

index=firewall  [search sourcetype="pan_panorama" AND "useraccount"]
| where NOT ( (date_wday=="tuesday" OR date_wday=="thursday")  AND NOT (date_hour >= 5 AND date_hour < 6) )

如果我尝试这个:

index=firewall  [search sourcetype="pan_panorama" AND "useraccount"]
| where NOT ( (date_wday=="tuesday" OR date_wday=="thursday")  AND NOT (date_hour >= 5 AND date_hour < 6) AND NOT ("From: 10.10.10.5") )

我收到Error in 'where' command: Typechecking failed. 'XOR' only takes boolean arguments.

我不知道如何从这里开始。如何构建一个Splunk Alert搜索,仅排除该时间段和该时间段内的IP地址?

Splunk被where命令的AND NOT "string"部分阻塞。这没有道理。将字符串与字段值进行比较,应该可以使用。

index=firewall sourcetype="pan_panorama" AND "useraccount"
| where NOT ( (date_wday=="tuesday" OR date_wday=="thursday")  
AND date_hour = 5 AND cidrmatch(From, "10.10.10.5/32") )

此外,我认为双重否定逻辑不会产生正确的结果。此查询接受除星期二或星期四0500-0559(IP地址10.10.10.5(以外的所有事件。此外,不需要子搜索。

最新更新