Splunk - вычесть два счета и вызвать предупреждение
Я пытаюсь найти соответствующую документацию Splunk о следующем, но это кажется довольно сложным. Что мне нужно сделать, так это концептуально просто: я хочу узнать количество определенных событий за два последовательных дня и вычесть их (просто вычесть числа). Например, мне нужно выяснить количество успешных вызовов POST (HTTP 200) на определенный веб-сайт ("somewebsite/myaction"), c1, которое произошло 2 дня назад:
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 и вызвать событие, если это значение превышает определенный порог. Я пытаюсь что-то вроде этого, но это не показывает мне "т":
| 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)
Спасибо,
Привет,
Сорин
PS
Я подошел очень близко со следующим:
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). Как я могу это сделать?
1 ответ
Я понимаю, как это работает: последний кусок головоломки должен был добавить "где т> 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 так сложно найти.