Я попытался изучить ваш сценарий использования с журналом spunkd-access и придумал простой SPL, чтобы помочь вам.В этом запросе я фактически объединяю результаты двух поисков, которые объединяют требуемые результаты (не заботясь о производительности поиска).
Попробуйте.Если у вас есть доступ к _internal
index, он будет работать как есть.Вы должны иметь возможность легко изменить это в соответствии с вашими событиями (например: замените user
на ClientID
).
index=_internal source="/opt/splunk/var/log/splunk/splunkd_access.log"
| stats count as All sum(eval(if(status <= 303,1,0))) as Successful sum(eval(if(status > 303,1,0))) as Unsuccessful by user
| join user type=left
[ search index=_internal source="/opt/splunk/var/log/splunk/splunkd_access.log"
| chart count BY user status ]
Я обновил ваш поиск по ответам в сообществе-ответе (должно выглядеть так):
w2_wmf(RequestCompleted)`request.detail.Context="*test"
| dedup eventId
| rename request.ClientID as ClientID detail.statusCode AS statusCode
| stats count as All sum(eval(if(statusCode <= 303,1,0))) as Successful sum(eval(if(statusCode > 303,1,0))) as Unsuccessful by ClientID
| join ClientID type=left
[ search w2_wmf(RequestCompleted)`request.detail.Context="*test"
| dedup eventId
| rename request.ClientID as ClientID detail.statusCode AS statusCode
| chart count BY ClientID statusCode ]