Stats Count Splunk Query - PullRequest
       6

Stats Count Splunk Query

0 голосов
/ 20 февраля 2019

Интересно, может ли кто-нибудь помочь мне, пожалуйста.

Я сделал следующий пост о запросе Splunk, который я пытаюсь написать:

https://answers.splunk.com/answers/724223/in-a-table-powered-by-a-stats-count-search-can-you.html

Я получил большую помощь, но, несмотря на то, что несколько дней работал над этим, концентрируясь на использовании операторов eval if, у меня все еще остается та же проблема со столбцами «Успешный» и «Неудачный», показывающими пустые результаты.Так что я подумал, что я пройду сеть немного шире и, пожалуйста, поинтересуюсь, может ли кто-нибудь взглянуть на это и дать несколько советов о том, как мне обойти эту проблему.

Большое спасибо и наилучшие пожелания

Крис

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Я ответил в Splunk

https://answers.splunk.com/answers/724223/in-a-table-powered-by-a-stats-count-search-can-you.html?childToView=729492#answer-729492

, но используя фиктивную кодировку, это выглядит как

w2_wmf(RequestCompleted)`request.detail.Context="*test"
  | dedup eventId
  | rename request.ClientId as ClientID, detail.statusCode as Status
  | eval X_{Status}=1
  | stats count as Total sum(X_*) as X_* by ClientID
  | rename X_* as *

Даст вам ClientID, количество и затем столбец длякаждый найденный код состояния с суммой каждого кода в этом столбце.

Насколько я понимаю, вы не можете заставить это работать, этот запрос должен показать фиктивную кодировку в действии

`index=_internal sourcetype=*access
 | eval X_{status}=1
 | stats count as Total sum(X_*) as X_* by source, user
 | rename X_* as *`

Thisвыдаст что-то вроде

enter image description here

0 голосов
/ 26 февраля 2019

Я попытался изучить ваш сценарий использования с журналом 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 ]
...