0

我正在尝试找到有关以下内容的适当 Splunk 文档,但这似乎非常困难。我需要做的在概念上很简单:我想找出连续两天某些事件的数量并减去它们(只需减去数字)。例如,我需要找出 2 天前发生的对某个网站 ('somewebsite/myaction') c1 的成功 POST 调用 (HTTP 200) 的数量:

search sourcetype = myproject:prod somewebsite post myaction 200 
earliest=-2d@d latest=-1d@d | stats count as c1

另外,我做同样的事情来找出昨天相同类型的事件,我们称之为c2:

search sourcetype = myproject:prod somewebsite post myaction 200 
earliest=-1d@d latest=-0d@d | stats count as c2

现在我需要做的就是找出c1 - c2并在该值高于某个阈值时触发一个事件。我正在尝试这样的事情,但它没有告诉我't':

| set diff [search sourcetype = myproject:prod somewebsite post 
myaction 200 earliest=-2d@d latest=-1d@d | stats count as c1] [search 
sourcetype = myproject:prod somewebsite post myaction 200 
earliest=-1d@d latest=-0d@d | stats count as c2] | eval t=(c1-c2)

谢谢,

问候,

索林

附言

我非常接近以下几点:

sourcetype=myproject:prod somewebsite post checkout 200 earliest=-2d@d latest=-1d@d 
| stats count as C1 | appendcols [search sourcetype = myproject:prod somewebsite 
post checkout 200 earliest=-1d@d latest=-0d@d | stats count as C2] | eval t=(C1 
- C2)

现在我需要做的就是在警报中表达我希望它在 t 高于阈值时触发(例如 t > 100)。我怎样才能做到这一点 ?

4

1 回答 1

0

我理解它是如何工作的:最后一块拼图是添加 'where t > 100':

sourcetype=myproject:prod somewebsite post checkout 200 earliest=-2d@d 
latest=-1d@d 
| stats count as C1 | appendcols [search sourcetype = myproject:prod 
somewebsite 
post checkout 200 earliest=-1d@d latest=-0d@d | stats count as C2] | eval t=(C1 
- C2) | where t > 100

现在,通过这个搜索,我可以简单地创建一个在结果数大于 0 时触发的警报(如果我有结果,这意味着在我的公式中 t 大于 100,所以我需要将其作为警报触发)。就这样 !遗憾的是,很难找到特定的 Splunk 文档。

于 2018-11-28T19:39:08.113 回答