Без активного экземпляра передо мной, чтобы играть с ним, я чувствую, что гораздо более эффективный подход может выглядеть следующим образом:
index="abc" [inputlookup ids.csv | fields ids as id]
| bin _time span=1h | stats count by id _time
| bin _time span=1d | stats max(count) as countHour sum(count) as countDay by id _time
| multireport
[ noop ]
[ bin _time span=1week | stats sum(countDay) as countWeek by id _time ]
[ bin _time span=1mon | stats sum(countDay) as countMonth by id _time ]
| stats max(count*) as max* by id
Сначала мы выбираем все данные для каждого идентификатора в поиске и используем статистикумы получаем максимальное количество в час в каждый день, и количество в день, используя bin и stats.
Далее мы используем (недокументированную) команду с несколькими отчетами, чтобы преобразовать наш набор результатов из ежедневной статистики, чтобы добавить также еженедельную и ежемесячную статистику.Наконец, мы берем максимальное значение каждого счета, чтобы получить максимальное число часов, дня, недели и месяца по каждому идентификатору в inputlookup.
Теперь, поскольку многоотчетный документ не документирован, и предыдущее использованиеиногда это оказывалось несколько проблематично ... Я бы предложил вместо этого использовать eventstats , например, так:
index="abc" [inputlookup ids.csv | fields ids as id]
| bin _time span=1h | stats count by id _time
| bin _time span=1d | stats max(count) as countHour sum(count) as countDay by id _time
| bin _time as week span=1week | eventstats sum(countDay) as countWeek by id week
| bin _time as month span=1month | eventstats sum(countDay) as countMonth by id month
| stats max(count*) as max* by id
Как и раньше, мы получаем ежедневную статистику, но затем мы можем использоватьas
синтаксис команды bin для вычисления недели и месяца для каждого дня и добавления столбца для еженедельных и ежемесячных подсчетов за каждый день.Тогда это та же максимальная функция, что и раньше.