4 Функции истории

Все перечисленные здесь функции поддерживаются в:

Функции перечислены без дополнительной информации. Нажмите на функцию, чтобы увидеть полные сведения.

Function Description
change Величина разницы между предыдущим и последним значением.
changecount Количество изменений между соседними значениями в пределах заданного периода вычисления.
count Количество значений в пределах заданного периода вычисления.
countunique Количество уникальных значений в пределах заданного периода вычисления.
find Поиск совпадения значения в пределах заданного периода вычисления.
first Первое (самое старое) значение в пределах заданного периода вычисления.
firstclock Метка времени первого (самого старого) значения в пределах заданного периода вычисления.
fuzzytime Проверка того, насколько время пассивного агента отличается от времени сервера/прокси Zabbix.
last Самое последнее значение.
lastclock Метка времени N-го самого последнего значения в пределах заданного периода вычисления.
logeventid Проверка того, соответствует ли ID события последней записи журнала регулярному выражению.
logseverity Уровень важности журнала для последней записи журнала.
logsource Проверка того, соответствует ли источник журнала последней записи журнала регулярному выражению.
logtimestamp Метка времени сообщения журнала для N-го самого последнего значения элемента данных журнала.
monodec Проверка, было ли монотонное уменьшение значений.
monoinc Проверка, было ли монотонное увеличение значений.
nodata Проверка отсутствия полученных данных.
percentile P-й процентиль периода, где P (процент) задаётся третьим параметром.
rate Средняя скорость прироста в секунду для монотонно увеличивающегося счётчика в пределах заданного периода времени.
Общие параметры
  • /host/key — это общий обязательный первый параметр для функций, ссылающихся на историю элемента данных узла сети
  • (sec|#num)<:time shift> — это общий второй параметр для функций, ссылающихся на историю элемента данных узла сети, где:
    • sec — максимальный период вычисления в секундах (могут использоваться суффиксы времени), или
    • #num — максимальный диапазон вычисления в последних собранных значениях (если перед ним стоит знак решётки)
    • time shift (необязательно) позволяет сдвинуть точку вычисления назад во времени. См. подробности о задании time shift.

Подробности о функциях

Некоторые общие замечания о параметрах функций:

  • Параметры функций разделяются запятой
  • Необязательные параметры функций (или части параметров) обозначаются с помощью < >
  • Специфические для функции параметры описаны для каждой функции
  • Параметры /host/key и (sec|#num)<:time shift> никогда не должны заключаться в кавычки
change(/host/key)

Величина разницы между предыдущим и последним значением.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.
Для строк возвращает: 0 — значения равны; 1 — значения различаются.

Параметры: см. общие параметры.

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

  • Будет вычислена числовая разница, как показано в следующих примерах входящих значений ('предыдущее' и 'последнее' значение = разница):
    '1' и '5' = +4
    '3' и '1' = -2
    '0' и '-2.5' = -2.5.
  • В триггерах полезно для обнаружения резких всплесков (или падений), сбросов счётчиков, переходов числового состояния.
  • См. также: abs для сравнения.

Примеры:

change(/host/system.uptime)<0 #изменение времени непрерывной работы системы было отрицательным с момента последнего значения (что указывает на перезагрузку)
change(/host/system.cpu.load[all,avg1])>2 #нагрузка CPU (за одну минуту) выросла более чем на 2 с момента последнего значения
change(/host/vfs.fs.size[/,free])<-1G #объём свободного места на диске уменьшился более чем на 1 ГБ между проверками
changecount(/host/key,(sec|#num)<:time shift>,<mode>)

Количество изменений между соседними значениями в пределах заданного периода вычисления.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.

Параметры:

  • См. общие параметры
  • mode (должен быть заключён в двойные кавычки) — возможные значения: all — учитывать все изменения (по умолчанию); dec — учитывать уменьшения; inc — учитывать увеличения

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

  • Для нечисловых типов значений параметр mode игнорируется.
  • В триггерах полезно для обнаружения частых изменений состояния (что указывает на нестабильность).

Примеры:

changecount(/host/icmpping,10m)>5 #статус ping изменился более 5 раз за 10 минут
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 #рабочее состояние eth0 изменилось более 5 раз за час
changecount(/host/proc.num[httpd],15m)>10 #количество процессов httpd изменилось более 10 раз за 15 минут
changecount(/host/key,#10,"inc") #количество увеличений значения (относительно соседнего значения) среди последних 10 значений
changecount(/host/key,24h,"dec") #количество уменьшений значения (относительно соседнего значения) за последние 24 часа до текущего момента
count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

Количество значений в пределах заданного периода вычисления.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.

Параметры:

  • См. общие параметры
  • operator (должен быть заключён в двойные кавычки) Поддерживаемые operators:
    eq - равно (по умолчанию для integer, float)
    ne - не равно
    gt - больше
    ge - больше или равно
    lt - меньше
    le - меньше или равно
    like (по умолчанию для string, text, log) - совпадает, если содержит шаблон (с учётом регистра)
    bitand - побитовое AND
    regexp - чувствительное к регистру совпадение с регулярным выражением, заданным в pattern
    iregexp - нечувствительное к регистру совпадение с регулярным выражением, заданным в pattern
  • pattern - требуемый шаблон (строковые аргументы должны быть заключены в двойные кавычки)

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

  • Float элементы данных сопоставляются с точностью 2.22e-16.
  • like не поддерживается в качестве оператора для целочисленных значений.
  • like и bitand не поддерживаются в качестве операторов для значений float.
  • Для значений string, text и log поддерживаются только операторы eq, ne, like, regexp и iregexp.
  • При использовании bitand в качестве оператора четвёртый параметр pattern может быть указан как два числа, разделённые символом '/': number_to_compare_with/mask. count() вычисляет "побитовое AND" значения и mask и сравнивает результат с number_to_compare_with. Если результат "побитового AND" равен number_to_compare_with, значение учитывается.
    Если number_to_compare_with и mask равны, достаточно указать только mask (без '/').
  • При использовании regexp или iregexp в качестве оператора четвёртый параметр pattern может быть обычным или глобальным (начинающимся с '@') регулярным выражением. В случае глобальных регулярных выражений чувствительность к регистру наследуется из настроек глобального регулярного выражения. Для целей сопоставления по regexp значения float всегда будут представлены с 4 десятичными знаками после '.'. Также обратите внимание, что для больших чисел различие между десятичным представлением (хранится в базе данных) и двоичным представлением (используется сервером Zabbix) может влиять на 4-й знак после запятой.

Примеры:

count(/host/icmpping,30m,,"0")>5 #ping failed more than 5 times in 30 minutes
count(/host/key,10m,"like","error") #количество значений за последние 10 минут до текущего момента, содержащих 'error'
count(/host/key,10m,,12) #количество значений за последние 10 минут до текущего момента, равных '12'
count(/host/key,10m,"gt",12) #количество значений за последние 10 минут до текущего момента, превышающих '12'
count(/host/key,#10,"gt",12) #количество значений среди последних 10 значений до текущего момента, превышающих '12'
count(/host/key,10m:now-1d,"gt",12) #количество значений между 24 часами и 10 минутами назад и 24 часами назад от текущего момента, которые превышали '12'
count(/host/key,10m,"bitand","6/7") #количество значений за последние 10 минут до текущего момента, имеющих '110' (в двоичном виде) в 3 младших значащих битах
count(/host/key,10m:now-1d) #количество значений между 24 часами и 10 минутами назад и 24 часами назад от текущего момента
countunique(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

Количество уникальных значений в пределах заданного периода вычисления.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.

Параметры:

  • См. общие параметры
  • operator (должен быть заключен в двойные кавычки). Поддерживаемые operators:
    eq — равно (по умолчанию для integer, float)
    ne — не равно
    gt — больше
    ge — больше или равно
    lt — меньше
    le — меньше или равно
    like (по умолчанию для string, text, log) — совпадает, если содержит шаблон (с учетом регистра)
    bitand — побитовое И
    regexp — чувствительное к регистру совпадение с регулярным выражением, заданным в pattern
    iregexp — нечувствительное к регистру совпадение с регулярным выражением, заданным в pattern
  • pattern — требуемый шаблон (строковые аргументы должны быть заключены в двойные кавычки)

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

  • Элементы данных типа float сопоставляются с точностью 2.22e-16.
  • like не поддерживается в качестве оператора для целочисленных значений.
  • like и bitand не поддерживаются в качестве операторов для значений float.
  • Для значений string, text и log поддерживаются только операторы eq, ne, like, regexp и iregexp.
  • При использовании bitand в качестве оператора четвертый параметр pattern может быть указан как два числа, разделенные символом '/': number_to_compare_with/mask. countunique() вычисляет "побитовое И" значения и mask и сравнивает результат с number_to_compare_with. Если результат "побитового И" равен number_to_compare_with, значение учитывается.
    Если number_to_compare_with и mask равны, можно указать только mask (без '/').
  • При использовании regexp или iregexp в качестве оператора четвертый параметр pattern может быть обычным или глобальным (начинающимся с '@') регулярным выражением. В случае глобальных регулярных выражений чувствительность к регистру наследуется из настроек глобального регулярного выражения. Для целей сопоставления regexp значения float всегда будут представлены с 4 десятичными знаками после '.'. Также обратите внимание, что для больших чисел различие между десятичным представлением (хранимым в базе данных) и двоичным представлением (используемым сервером Zabbix) может повлиять на 4-й десятичный знак.

Примеры:

countunique(/host/key,10m) #количество уникальных значений за последние 10 минут до текущего момента
countunique(/host/key,10m,"like","error") #количество уникальных значений за последние 10 минут до текущего момента, содержащих 'error'
countunique(/host/key,10m,,12) #количество уникальных значений за последние 10 минут до текущего момента, равных '12'
countunique(/host/key,10m,"gt",12) #количество уникальных значений за последние 10 минут до текущего момента, превышающих '12'
countunique(/host/key,#10,"gt",12) #количество уникальных значений среди последних 10 значений до текущего момента, превышающих '12'
countunique(/host/key,10m:now-1d,"gt",12) #количество уникальных значений между 24 часами и 10 минутами назад и 24 часами назад от текущего момента, которые превышали '12'
countunique(/host/key,10m,"bitand","6/7") #количество уникальных значений за последние 10 минут до текущего момента, имеющих '110' (в двоичном виде) в 3 младших значащих битах
countunique(/host/key,10m:now-1d) #количество уникальных значений между 24 часами и 10 минутами назад и 24 часами назад от текущего момента
find(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

Находит совпадение значения в пределах заданного периода вычисления.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.
Возвращает: 1 — найдено; 0 — в противном случае.

Параметры:

  • См. общие параметры
  • sec или #num (необязательно) — если не указано, по умолчанию используется последнее значение
  • operator (должен быть заключён в двойные кавычки) Поддерживаемые operators:
    eq — равно (по умолчанию для integer, float)
    ne — не равно
    gt — больше
    ge — больше или равно
    lt — меньше
    le — меньше или равно
    like (по умолчанию для string, text, log) — совпадает, если содержит строку, указанную в pattern (с учётом регистра)
    bitand — побитовое И
    regexp — чувствительное к регистру совпадение с регулярным выражением, указанным в pattern
    iregexp — нечувствительное к регистру совпадение с регулярным выражением, указанным в pattern
  • pattern — требуемый шаблон (строковые аргументы должны быть заключены в двойные кавычки); регулярное выражение Perl Compatible Regular Expression (PCRE), если operatorregexp, iregexp

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

  • Если обрабатывается более одного значения, возвращается '1', если есть хотя бы одно совпадающее значение.
  • like не поддерживается в качестве оператора для целочисленных значений.
  • like и bitand не поддерживаются в качестве операторов для значений с плавающей точкой.
  • Для значений string, text и log поддерживаются только операторы eq, ne, like, regexp и iregexp.
  • При использовании regexp или iregexp в качестве оператора четвёртый параметр pattern может быть обычным или глобальным (начинающимся с '@') регулярным выражением. В случае глобальных регулярных выражений чувствительность к регистру наследуется из настроек глобального регулярного выражения.

Примеры:

find(/host/key,10m,"like","error") #find a value that contains 'error' within the last 10 minutes until now
find(/host/agent.version,,"like","beta")=1 #Zabbix agent has beta version, must be upgraded
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #internal web server error has been found
first(/host/key,sec<:time shift>)

Первое (самое старое) значение в пределах заданного периода вычисления.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.

Параметры:

См. также last().

Пример:

first(/host/key,1h) #retrieve the oldest value within the last hour until now
firstclock(/host/key,sec<:time shift>)

Метка времени самого старого значения в пределах заданного периода вычисления.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.

Параметры:

Функция завершается с ошибкой, если за указанный период не было собрано данных.

См. также lastclock().

Примеры:

firstclock(/host/key,1h) #получить метку времени самого старого значения за последний час
firstclock(/host/key,1h:now-24h) #получить метку времени самого старого значения за последний час сутки назад
fuzzytime(/host/key,sec)

Проверяет, насколько время пассивного агента отличается от времени сервера/прокси Zabbix.
Поддерживаемые типы значений: Float, Integer.
Возвращает: 1 — разница между значением пассивного элемента данных (в виде временной метки) и временной меткой сервера/прокси Zabbix (временем сбора значения) меньше или равна sec секунд; 0 — в противном случае.

Параметры:

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

  • Обычно используется с элементом данных 'system.localtime' для проверки того, что локальное время синхронизировано с локальным временем сервера Zabbix. Обратите внимание, что 'system.localtime' должен быть настроен как пассивная проверка для агента Zabbix; в Zabbix агенте 2 он может быть настроен как активная проверка.
  • Также может использоваться с ключом vfs.file.time[/path/file,modify] для проверки того, что файл долгое время не обновлялся.
  • Эту функцию не рекомендуется использовать в сложных выражениях триггеров (с несколькими элементами данных), поскольку это может привести к неожиданным результатам (разница во времени будет измеряться по самой последней метрике), например, в fuzzytime(/Host/system.localtime,60s)=0 or last(/Host/trap)<>0.

Примеры:

fuzzytime(/host/system.localtime,5m)=0 #локальное время клиента отличается от времени сервера/прокси Zabbix более чем на 5 минут
fuzzytime(/host/system.localtime,5m)=0 and nodata(/host/system.localtime,10m)=0 #локальное время клиента отличается от времени сервера/прокси Zabbix более чем на 5 минут (при этом гарантируется, что элемент данных не прекратил отправлять данные)
last(/host/key,<#num<:time shift>>)

Самое последнее значение.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.

Параметры:

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

  • Обратите внимание, что период времени с решёткой (#N) здесь работает иначе, чем во многих других функциях. Например: last(/host/key) всегда равно last(/host/key,#1); last(/host/key,#3) — третье по счёту последнее значение (а не три последних значения).
  • Zabbix не гарантирует точный порядок значений, если в истории в пределах одной секунды существует более двух значений.
  • См. также first().

Примеры:

last(/host/key) #получить последнее значение
last(/host/key,#2) #получить предыдущее значение
last(/host/key,#1)<>last(/host/key,#2) #два последних значения различаются
lastclock(/host/key,<#num<:time shift>>)

Временная метка N-го по новизне значения в пределах заданного периода вычисления.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.

Параметры:

Функция завершается с ошибкой, если за указанный период не было собрано данных или не было собрано N-е значение.

См. также firstclock().

Примеры:

lastclock(/host/key) #получить временную метку последнего значения
lastclock(/host/key,#2) #получить временную метку предпоследнего значения
now()-lastclock(/host/heartbeat.item)>300 #с момента обновления элемента данных heartbeat прошло более 5 минут
lastclock(/host/system.cpu.load[all,avg1])-lastclock(/host/system.cpu.load[all,avg1],#2)>300 #интервал обновления между двумя последними значениями превышает 5 минут
((now()-lastclock(/host/system.cpu.load[all,avg1])<120 and last(/host/system.cpu.load[all,avg1])>5)) #значение CPU высокое, и значение свежее (менее 2 минут)
logeventid(/host/key,<#num<:time shift>>,<pattern>)

Проверяет, соответствует ли ID события последней записи журнала регулярному выражению.
Поддерживаемые типы значений: Журнал.
Возвращает: 0 — не соответствует; 1 — соответствует.

Параметры:

  • См. общие параметры
  • #num (необязательно) — N-е по свежести значение
  • pattern (необязательно) — регулярное выражение, описывающее требуемый шаблон, в стиле Perl Compatible Regular Expression (PCRE) (строковые аргументы должны быть заключены в двойные кавычки)

Примеры:

logeventid(/host/eventlog[Security],,"4625")=1 #найдена запись журнала с ID, соответствующим "4625" (неудачная аутентификация)
logeventid(/host/eventlog[System],,"6008|41")=1 #найдена запись журнала с ID, соответствующим "6008" или "41"
logseverity(/host/key,<#num<:time shift>>)

Серьёзность последней записи журнала.
Поддерживаемые типы значений: Log.
Возвращает: 0 — серьёзность по умолчанию; N — серьёзность (целое число, полезно для журналов событий Windows: 1 — Information, 2 — Warning, 4 — Error, 7 — Failure Audit, 8 — Success Audit, 9 — Critical, 10 — Verbose).

Параметры:

Zabbix получает серьёзность журнала из поля Information журнала событий Windows.

Примеры:

logseverity(/host/log[/var/log/syslog],10m)>3 #a log entry with severity above "3" found
logseverity(/host/eventlog[System],10m)=4 #a log entry with severity equaling "Error" found
logsource(/host/key,<#num<:time shift>>,<pattern>)

Проверяет, соответствует ли источник журнала последней записи журнала регулярному выражению.
Поддерживаемые типы значений: Log.
Возвращает: 0 — не соответствует; 1 — соответствует.

Параметры:

  • См. общие параметры
  • #num (необязательно) — N-е по счёту последнее значение
  • pattern (необязательно) — регулярное выражение, описывающее требуемый шаблон, в стиле Perl Compatible Regular Expression (PCRE) (строковые аргументы должны быть заключены в двойные кавычки)

Обычно используется для журналов событий Windows.

Примеры:

logsource(/host/eventlog[Application],,"MSSQLSERVER")=1 #найдена запись журнала с источником, соответствующим "MSSQLSERVER"
logsource(/host/eventlog[System],,"Service Control Manager")=1 #найдена запись журнала с источником, соответствующим "Service Control Manager"
logsource(/host/eventlog[System],,"Service Control Manager")=1 and logeventid(/host/eventlog[System],,"7031")=1 #найдена запись журнала с источником, соответствующим "Service Control Manager", и идентификатором события, соответствующим "7031"
logtimestamp(/host/key,<#num<:time shift>>)

Временная метка сообщения журнала для N-го самого последнего значения элемента данных журнала.
Поддерживаемые типы значений: Log.

Параметры:

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

  • Вычисление сдвига времени основано на времени элемента данных, а не на временной метке сообщения журнала;
  • Функция завершается с ошибкой, если:
    • получен элемент данных не типа журнала;
    • за указанный период не было собрано данных;
    • N-е значение не было собрано;
    • сообщение журнала не содержит значения временной метки.

Примеры:

logtimestamp(/host/key) #retrieve the timestamp of the latest log message
logtimestamp(/host/key,#2) #retrieve the timestamp of the 2nd latest log message
logtimestamp(/host/key,#3:now-1d) #retrieve the timestamp of the 3rd latest log message a day ago
monodec(/host/key,(sec|#num)<:time shift>,<mode>)

Проверяет, было ли монотонное уменьшение значений.
Поддерживаемые типы значений: Целое число.
Возвращает: 1 — если все элементы данных за период времени непрерывно уменьшаются; 0 — в противном случае.

Параметры:

  • См. общие параметры
  • mode (должен быть заключён в двойные кавычки) — weak (каждое значение меньше или равно предыдущему; по умолчанию) или strict (каждое значение уменьшилось)

Примеры:

monodec(/host/system.swap.size[all,free],60s) + monodec(/host2/system.swap.size[all,free],60s) + monodec(/host3/system.swap.size[all,free],60s) #вычислить, на скольких узлах сети произошло уменьшение размера свободного swap
monodec(/host/proc.num[nginx],10m,"strict")=1 #количество процессов nginx монотонно уменьшалось в течение 10 минут
monoinc(/host/key,(sec|#num)<:time shift>,<mode>)

Проверяет, было ли монотонное увеличение значений.
Поддерживаемые типы значений: Integer.
Возвращает: 1 — если все элементы данных за период времени непрерывно увеличиваются; 0 — в противном случае.

Параметры:

  • См. общие параметры
  • mode (должен быть заключён в двойные кавычки) — weak (каждое значение больше или равно предыдущему; по умолчанию) или strict (каждое значение увеличилось)

Примеры:

monoinc(/host/system.localtime,#3,"strict")=0 #локальное системное время не увеличивалось последовательно
monoinc(/host/vfs.dir.count[/mnt/data/logs],24h,"weak")=0 #триггер, если количество файлов не изменялось в течение 24 часов (ожидается рост)
nodata(/host/key,sec,<mode>)

Проверяет отсутствие полученных данных.
Поддерживаемые типы значений: Целое число, Число с плавающей точкой, Символ, Текст, Журнал.
Возвращает: 1 — если данные не поступали в течение заданного периода времени; 0 — в противном случае.

Параметры:

  • См. общие параметры
  • sec — период должен быть не менее 30 секунд, поскольку процесс синхронизации истории вычисляет эту функцию только каждые 30 секунд; nodata(/host/key,0) не допускается
  • mode — если установлено значение strict (в двойных кавычках), эта функция не будет зависеть от доступности прокси (подробности см. в комментариях)

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

  • триггеры 'nodata', отслеживаемые прокси, по умолчанию зависят от доступности прокси — если прокси становится недоступным, триггеры 'nodata' не сработают сразу после восстановления соединения, а пропустят данные за период задержки. Обратите внимание, что для пассивных прокси подавление активируется, если соединение восстановлено более чем через 15 секунд, но не менее чем через 2 секунды. Для активных прокси подавление активируется, если соединение восстановлено более чем через 15 секунд. Чтобы отключить зависимость от доступности прокси, используйте третий параметр, например: nodata(/host/key,5m,"strict"); в этом случае функция сработает, как только пройдет период оценки (пять минут) без данных.
  • Эта функция отобразит ошибку, если в течение периода, заданного 1-м параметром:
    - данные отсутствовали, и сервер Zabbix был перезапущен
    - данные отсутствовали, и обслуживание было завершено
    - данные отсутствовали, и элемент данных был добавлен или повторно включен.
  • Ошибки отображаются в столбце Info в настройках триггера.
  • Эта функция может работать некорректно, если есть различия во времени между сервером Zabbix, прокси и агентом. См. также: Требование синхронизации времени.

Пример:

nodata(/host/agent.ping,5m)=1 #сработать, если от агента Zabbix не поступали данные в течение 5 минут
percentile(/host/key,(sec|#num)<:time shift>,percentage)

P-й процентиль за период, где P (percentage) задается третьим параметром.
Поддерживаемые типы значений: Float, Integer.

Параметры:

  • См. общие параметры
  • percentage — число с плавающей точкой от 0 до 100 (включительно) с не более чем 4 знаками после десятичной точки

Примеры:

percentile(/host/net.if.in[eth0,bytes],1h,95)>1000000 #95-й процентиль входящего сетевого трафика (байт/сек) за 1 час превысил пороговое значение (например, 1 МБ/с)
percentile(/host/system.cpu.util,5m,95)>80 #95-й процентиль процента использования CPU в пользовательском режиме превысил 80
percentile(/host/icmppingsec[192.168.0.2],15m,95)>0.15 #большинство измерений задержки ниже 150 мс, но верхний хвост распределения (верхние 5%) указывает на регулярные задержки
percentile(/host/net.if.in[eth0,bytes],1h,50) #вычислить 50-й процентиль (медианное значение) входящего сетевого трафика за час; это даст результат, отличный от avg() (среднего значения), так как percentile не учитывает выбросы
(percentile(/host/net.if.in[eth0,bytes],1h,50)+percentile(/host/net.if.in[eth0,bytes],1h,51))/2 #вычислить точное медианное значение при четном количестве значений за час
rate(/host/key,sec<:time shift>)

Среднее увеличение в секунду монотонно возрастающего счётчика в пределах заданного периода времени.
Поддерживаемые типы значений: Float, Integer.

Параметры:

Функционально соответствует 'rate' в PromQL.

Примеры:

rate(/host/key,30s) #если монотонное увеличение за 30 секунд равно 20, эта функция возвращает 0.67.
rate(/host/net.if.in[eth0,bytes],5m)>500000 #скорость входящего трафика интерфейса на eth0 превысила 500 KB/s за последние 5 минут
rate(/host/app.requests.count,1m)>100 #счётчик количества запросов вырос до >100 запросов в секунду за последнюю минуту

См. все поддерживаемые функции.