stats
Описание
Выполняет статистические операции над данными.
к сведению
Команда stats
поддерживает режим работы с большим объемом данных, при этом не требуется дополнительно увеличивать размер оперативной памяти.
Синтаксис
stats <functions-expression> ["," <functions-expression>] [<by_expression>]
Обязательные аргументы
Обязательно использование хотя бы одной из функций:
Параметр | Синтаксис | Описание |
---|---|---|
count | count | count(<field>) | Вычисляет количество событий, содержащих поле. Если поле не указано, рассчитывает общее количество событий. |
values | values(<field>) | Вычисляет массив уникальных значений по заданному полю. |
avg | avg(<field>) | Вычисляет среднее значение по заданному полю. |
dc | dc(<field>) | Вычисляет количество уникальных значений в заданном поле. |
earliest | earliest(<field>) | Вычисляет значение поля для самого раннего события. В качестве второго (опционального) параметра передается имя поля с временной меткой. По умолчанию @timestamp . |
first | first(<field>) | Вычисляет первое значение по заданному полю. |
last | last(<field>) | Вычисляет последнее значение по заданному полю. |
latest | latest(<field>) | Вычисляет значение поля для самого позднего события. В качестве второго (опционального) параметра передается имя поля с временной меткой. По умолчанию @timestamp . |
list | list(<field>) | Вычисляет массив всех значений по заданному полю. |
max | max(<field>) | Вычисляет максимальное значение по заданному полю. |
min | min(<field>) | Вычисляет минимальное значение по заданному полю. |
range | range(<field>) | Вычисляет разницу между максимальным и минимальным значением по заданному полю. |
stdev | stdev(<field>) | Вычисляет среднеквадратическое отклонение по заданному полю. |
sum | sum(<field>) | Вычисляет сумму значений по заданному полю. |
Опциональные аргументы
Параметр | Синтаксис | По умолчанию | Описание |
---|---|---|---|
<by_expression> | <by_field> ["," <by_field> ...] | Имя поля (или полей) для группировки значений. |
Примеры запросов
Базовые примеры
Пример 1
Расчет максимальной температуры батареи для каждого хоста.
source apc_snmp
| stats max(ups_adv_battery_temperature) as 'Максимальная температура батареи' by host
В данном примере для каждого уникального значения поля host
будет рассчитано максимальное значение поля ups_adv_battery_temperature
и результат будет записан в поле Максимальная температура батареи
.
Результатом выполнения запроса может быть следующая таблица:
host | Максимальная температура батареи |
---|---|
host1 | 58 |
host2 | 87 |
host3 | 46 |