Как написать разделительный запрос, чтобы получить время первого и последнего запроса для каждого источника вместе с каждым количеством источников в выводе таблицы

#splunk #splunk-query

#splunk #splunk-запрос

Вопрос:

У меня есть следующие данные таблицы Splunk из выходных данных запроса Splunk.

 Source        RequestTime
SourceX     10/07/2020 04:03 AM  
SourceX     10/07/2020 07:15 AM 
SourceX     10/07/2020 11:19 AM
SourceY     10/07/2020 09:13 AM
SourceY     10/07/2020 11:09 AM
SourceY     10/07/2020 03:29 PM 
SourceY     10/07/2020 07:08 PM 
SourceZ     10/07/2020 09:43 AM 
SourceZ     10/07/2020 01:44 PM
SourceZ     10/07/2020 07:08 PM
SourceZ     10/07/2020 08:09 PM
  

Пожалуйста, помогите мне получить вывод в формате таблицы ниже.

 Source    SourceCount     StartTime              EndTime
SourceX      3         10/07/2020 04:03 AM    10/07/2020 11:19 AM 
SourceY      4         10/07/2020 09:13 AM    10/07/2020 07:08 PM 
SourceZ      4         10/07/2020 09:43 AM    10/07/2020 08:09 PM
  

Ответ №1:

stats Команда может это сделать.

 ... | stats count as SourceCount, min(RequestTime) as StartTime, max(RequestTime) as EndTime by Source
  

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

1. min() и max() не будет работать с текстом. Поле requestTime должно быть преобразовано в форму эпохи, чтобы выполнить min / max. Я предполагаю, что поле является текстовым, но мы не знаем, поскольку запрос, который создал таблицу примеров, не был общим.