Splunk получает среднее значение TPS для каждой службы

#monitoring #data-analysis #splunk #splunk-query #splunk-formula

#мониторинг #анализ данных #splunk #splunk-запрос #splunk-формула

Вопрос:

У меня возникла проблема в Splunk Enterprise относительно получения среднего количества транзакций в секунду для моего сценария. В моем случае я хочу за определенный период времени получать средние транзакции в секунду для каждого запроса веб-сервиса…

Когда я использую следующий синтаксис, он работает нормально:

 index="index"  
| transaction "correlationId" keepevicted=true 
| timechart span=1s count as TPS 
| stats count avg(TPS)
 

… но затем я получаю средние транзакции в секунду для всех запросов веб-сервисов.

Если я попробую сделать следующее:

 index="index"  
| transaction "correlationId"  keepevicted=true 
| timechart span=1s count as TPS 
| stats count avg(TPS) by "service"
 

… Я не получаю никакого результата

Есть ли что-то, что я делаю здесь совершенно неправильно?

Вся помощь и советы приветствуются

Ответ №1:

Вы можете найти решение, подобное тому, которое мне понадобилось некоторое время назад, чтобы быть полезным — timechart без использования timechart

 index=ndx sourcetype=srctp correlationId=* service=* earliest=-60m
| eval secs=strftime(_time, "%S")
| stats dc(correlationId) as TPS by secs service
| stats avg(TPS) as avgTPS by service
 

Или chart вместо stats :

 | chart avg(TPS) as avgTPS by service
 

Ответ №2:

timechart это команда преобразования. Это означает, что он не передает все поля следующей команде, поэтому stats команда видит только «count» и «TPS», а не «service». Попробуйте это:

 index="index"  | transaction "correlationId"  keepevicted=true 
| timechart span=1s count as TPS by service | stats count avg(TPS) by service
 

Комментарии:

1. К сожалению, после поиска по 14205 совпадающим событиям не удалось найти строки / результаты.