如何解决Splunk 警报 - 仅从时间范围中排除 IP 地址
我正在尝试构建一个 Splunk 警报,其目的是检测用户帐户是否已被使用。在此警报中,我想排除每周二和周四的时间范围(早上 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.
我不知道如何从这里开始。如何构建仅在该时间段内排除某个时间段和 IP 地址的 Splunk Alert 搜索?
解决方法
Splunk 被 AND NOT "string"
命令的 where
部分阻塞。这没有意义。将字符串与字段值进行比较,应该可以工作。
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") )
另外,我认为双重否定逻辑不会产生正确的结果。此查询通过 IP 地址 10.10.10.5 接受除星期二或星期四 0500-0559 之外的所有事件。 此外,不需要子搜索。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。