Splunk: Вычислить TopN хостов, но добавить к этому TopN на основе пары ключ = значение

#splunk #splunk-query

#splunk #splunk-запрос

Вопрос:

Есть ли способ получить количество хостов Top и добавить к каждому количеству хостов, используя значение из пары k / v в самом событии?

Пример:

 <158>Mar 26 15:01:36 m500 admd SSO: write 35 bytes on fd(11) OK repeatCount=300 source =    tcp:514 sourcetype =    generic_single_line
  

Таким образом, это будет отображаться как 300 при подсчете событий для этого хоста.

Я новичок в Splunk, поэтому не очень знаком с языком запросов. Я пытался

 | metasearch index=* | eval Date=strftime(_time,"%Y-%m-%d") | chart count over host by Date
  

Но я не знаю, как добавить количество из этого k / v

Ответ №1:

Не очень понятно, о чем вы спрашиваете, у вас есть пример получше?

Вы могли бы попробовать | chart sum(repeatCount) over host by Date

Или | chart values(repeatCount) over host by Date

Наша комбинация одного из них и count, а затем дополнительная оценка для их суммирования. Опять же, вопрос не ясен, но, возможно, они укажут вам правильное направление

Ответ №2:

Я нашел разделительную доску, подобную stackoverflow, и разместил там. Для полноты картины я опубликую решение здесь:

Попробуйте это (я бы настоятельно рекомендовал заменить index=* некоторым конкретным запросом index / sourcetype / source)

 index=* | eval Date=strftime(_time,"%Y-%m-%d") | stats count sum(repeatCount) as repeatCount by host Date | eval total=count   repeatCount | chart max(total) over host by date