#splunk
#splunk
Вопрос:
Я пытаюсь отфильтровать все отрицательные значения в своих показателях, я хотел бы знать, возможна ли фильтрация внутри самого mstats
вызова, чтобы добавить что-то вроде AND metrics_name:data.value > 0
к приведенному ниже запросу?
| mstats avg(_value) WHERE metric_name="data.value" AND index="my_metrics" BY data.team
В настоящее время я использую msearch
, а затем отфильтровываю события, поэтому мой запрос примерно такой, как приведенный ниже, но он слишком медленный, поскольку я извлекаю все события:
| msearch index=my_metrics
| fields "metrics_name:data.value"
| where mvcount(mvfilter(tonumber(metrics_name:data.value') > 0)) >= 1 OR isnull('metrics_name:data.value')
Ответ №1:
К сожалению, вы не можете фильтровать или группировать по _value
полю с метриками.
Возможно, вы сможете ускорить поиск с помощью msearch
, включив metric_name в фильтр.
| msearch index=my_metrics filter="metric_name=data.value"
Обратите внимание, что использование msearch
возвращает выборку значений метрики, а не все из них, если вы не укажете target_per_timeseries=0
Обратитесь к https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Mstats