Активируйте оповещение splunk, когда полученные значения не меняются

Я получаю обменный курс от внешней веб-службы и регистрирую полученный ответ, как показано ниже (обратите внимание, что обе строки содержат данные из одного ответа):

com.test.Currency@366c1a1e[Id=<Null>,Code=<Null>,Feedcode=Gbparslite,Rate=<Null>,Percentaqechangetrigger=<Null>,Bid=93.4269,Offer=93.43987,Mustinvertprice=False], 
com.test.Currency@54acb93a[Id=<Null>,Code=<Null>,Feedcode=Gbphkdlite,Rate=<Null>,Percentaqechangetrigger=<Null>,Bid=10.04629,Offer=10.04763,Mustinvertprice=False],

Я хочу настроить предупреждение, которое срабатывает, когда последние полученные значения x (x = 5) не изменились.


person ftraian    schedule 29.07.2020    source источник


Ответы (1)


Предполагая, что вы хотите предупредить, когда конкретное поле не изменяется после 5 событий, вы можете попробовать следующее.

index=data | head 5 | stats dc(Bid) as dv

Затем предупредите, если dv равно 1. dc (Bid) вычисляет количество уникальных значений Bid, в данном случае, за последние 5 событий. Если нет разницы, они будут 1. Если есть несколько значений, dc (Bid) будет больше 1.

person Simon Duff    schedule 29.07.2020
comment
Это работает, если в ответе есть один Bid. Однако в приведенном выше ответе был единственный результат. Я редактировал, чтобы подчеркнуть это. Ваше решение будет работать, если на ответ будет один Bid - person ftraian; 29.07.2020
comment
Попробуйте использовать _raw вместо любого поля index = data | голова 5 | stats dc (_raw) как dv - person Simon Duff; 30.07.2020