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 | Средняя скорость увеличения в секунду для монотонно возрастающего счетчика в пределах заданного периода времени. |
Общие параметры
/узел_сети/ключявляется общим обязательным первым параметром для функций, ссылающихся на историю элемента данных узла сети(сек|#число)<:сдвиг_времени>является общим вторым параметром для функций, ссылающихся на историю элемента данных узла сети, где:- сек — максимальный период вычисления в секундах (могут использоваться суффиксы времени), либо
- #число — максимальная область вычисления среди последних собранных значений (если начинается со знака решётки)
- сдвиг_времени (опционально) позволяет сдвигать точку вычислений по времени назад в прошлое. Смотрите более подробную информацию относительно того, как указывать сдвиг времени.
Подробности функций
Некоторые общие замечания о параметрах функций:
- параметры функций разделяются запятыми
- необязательные параметры функций (или части параметров) обозначаются угловыми скобками
<> - параметры, специфичные для функций, описываются с каждой функцией
- параметры
/узел_сети/ключи(сек|#число)<:сдвиг_времени>никогда не должны заключаться в кавычки
change(/host/key)
Величина разницы между предыдущим и последним значением.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.
Для строк возвращает: 0 - значения равны; 1 - значения различаются.
Параметры: см. общие параметры.
Комментарии:
- Числовая разница будет вычислена, как показано на следующих примерах входных значений ('previous' и 'latest' value = разница):
'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 - побитовое И
regexp - совпадение с регулярным выражением, заданным вpattern, с учетом регистра
iregexp - совпадение с регулярным выражением, заданным вpattern, без учета регистра - pattern - требуемый шаблон (строковые аргументы должны быть в двойных кавычках)
Комментарии:
- Элементы данных типа Float сопоставляются с точностью 2.22e-16.
- like не поддерживается как оператор для значений integer.
- like и bitand не поддерживаются как операторы для значений float.
- Для значений string, text и log поддерживаются только операторы eq, ne, like, regexp и iregexp.
- При использовании bitand в качестве оператора четвертый параметр
patternможно указать как два числа, разделенные '/': number_to_compare_with/mask. count() вычисляет "побитовое И" значения и mask и сравнивает результат с number_to_compare_with. Если результат "побитового И" равен 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 неудачен более 5 раз за 30 минут
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(/узел_сети/ключ,(сек|#число)<:сдвиг_времени>,<оператор>,<шаблон>)
Количество уникальных значений за определённый период вычисления.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.
Параметры:
- смотрите общие параметры
- оператор (должен быть в двойных кавычках).
Поддерживаются
операторы:
eq — равно (по умолчанию для integer и float)
ne — не равно
gt — больше
ge — больше или равно
lt — меньше
le — меньше или равно
like (по умолчанию для элементов данных символ, текст и журнал (лог)) — содержит подстроку шаблона (чувствительно к регистру)
bitand — побитовое И
regexp — чувствительное к регистру соответствие регулярному выражению, данному вшаблоне
iregexp — нечувствительное к регистру соответствие регулярному выражению, данному вшаблоне - шаблон — искомый шаблон (строковые аргументы должны быть в двойных кавычках)
Комментарии:
- Элементы данных с плавающей точкой совпадают с точностью 2.22e-16.
- like в качестве оператора не поддерживается для целочисленных значений.
- Для значений с типами символ, текст и журнал (лог) поддерживаются только операторы eq, ne, like, regexp и iregexp.
- Для оператора bitand четвёртый параметр
шаблонможет быть указан как два числа, разделённых косой чертой («/»): число_для_сравнения/маска. countunique() вычисляет «побитовое И» из значения и маски и сравнивает результат с числом_для_сравнения. Если результат «побитового И» равен числу_для_сравнения, то значение считается.
Если число_для_сравнения и маска равны, требуется указывать только маску (без «/»). - Для операторов regexp и iregexp четвёртый параметр
шаблонможет быть обычным или глобальным (начинающимся с «@») регулярным выражением. В случае глобальных регулярных выражений чувствительность к регистру наследуется из настроек глобального регулярного выражения. При проверке соответствия регулярному выражению, значения с плавающей точкой всегда будут представлены с 4 цифрами после десятичной точки («.»). Также обратите внимение, что для больших чисел различие между десятичным (хранящимся в базе данных) и двоичным (используемом сервером Zabbix) представлениями может повлиять на 4-ю десятичную цифру.
Примеры:
countunique(/узел_сети/ключ,10m) #количество уникальных значений за последние 10 минут до текущего момента
countunique(/узел_сети/ключ,10m,"like","error") #количество уникальных значений за последние 10 минут до текущего момента, которые содержат «error»
countunique(/узел_сети/ключ,10m,,12) #количество уникальных значений за последние 10 минут до текущего момента, которые равны «12»
countunique(/узел_сети/ключ,10m,"gt",12) #количество уникальных значений за последние 10 минут до текущего момента, превышающих «12»
countunique(/узел_сети/ключ,#10,"gt",12) #количество уникальных значений среди 10 последних значений до текущего момента, которые больше чем «12»
countunique(/узел_сети/ключ,10m:now-1d,"gt",12) #количество уникальных значений за период между (24 часа и 10 минут назад) и (24 часа назад) от текущего момента, которые превышают «12»
countunique(/узел_сети/ключ,10m,"bitand","6/7") #количество уникальных значений за последние 10 минут до текущего момента, у которых в двоичном представлении последние три значащих бита равны «110».
countunique(/узел_сети/ключ,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), если
operator- regexp, iregexp
Комментарии:
- Если обрабатывается более одного значения, возвращается '1', если найдено хотя бы одно совпадающее значение.
- like не поддерживается как оператор для значений integer.
- like и bitand не поддерживаются как операторы для значений float.
- Для значений string, text и log поддерживаются только операторы eq, ne, like, regexp и iregexp.
- При использовании regexp или iregexp в качестве оператора четвертый параметр
patternможет быть обычным или глобальным регулярным выражением (начинающимся с '@'). В случае глобальных регулярных выражений чувствительность к регистру наследуется из настроек глобального регулярного выражения.
Примеры:
find(/host/key,10m,"like","error") #находит значение, содержащее 'error', за последние 10 минут до текущего момента
find(/host/agent.version,,"like","beta")=1 #агент Zabbix имеет beta-версию, требуется обновление
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #обнаружена внутренняя ошибка веб-сервера
first(/узел_сети/ключ,сек<:сдвиг_времени>)
Первое (самое старое) значение за указанный период вычисления.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.
Параметры:
- смотрите общие параметры
Смотрите также last().
Пример:
first(/узел_сети/ключ,1h) #извлечь самое старое значение за последний час вплоть до текущего момента
firstclock(/host/key,sec<:time shift>)
Временная метка самого старого значения в пределах заданного периода оценки.
Поддерживаемые типы значений: Float, Integer, String, Text, Log.
Параметры:
- См. common parameters.
Функция завершается с ошибкой, если за указанный период не было собрано данных.
См. также lastclock().
Примеры:
firstclock(/host/key,1h) #получить временную метку самого старого значения за последний час
firstclock(/host/key,1h:now-24h) #получить временную метку самого старого значения за последний час сутки назад
fuzzytime(/host/key,sec)
Проверяет, насколько время пассивного агента отличается от времени сервера/прокси Zabbix.
Поддерживаемые типы значений: Float, Integer.
Возвращает: 1 - разница между значением пассивного элемента данных (как временной меткой) и временной меткой сервера/прокси Zabbix (временем сбора значения) меньше или равна sec секундам; 0 - в противном случае.
Параметры:
- См. common parameters.
Комментарии:
- Обычно используется с элементом данных 'system.localtime', чтобы проверить, что локальное время синхронизировано с локальным временем сервера Zabbix. Обратите внимание, что 'system.localtime' должен быть настроен как пассивная проверка для агента Zabbix; в Zabbix agent 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.
Параметры:
- См. общие параметры
- #num (необязательно) - N-е по счету самое последнее значение
Комментарии:
- Обратите внимание, что период времени с хэштегом (#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.
Параметры:
- См. общие параметры;
- #num (необязательно) - N-е самое недавнее значение.
Функция завершается с ошибкой, если за указанный период не было собрано ни одного данных или не было собрано N-е значение.
См. также firstclock().
Примеры:
lastclock(/host/key) #получить метку времени последнего значения
lastclock(/host/key,#2) #получить метку времени 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>)
Проверяет, соответствует ли идентификатор события последней записи журнала регулярному выражению.
Поддерживаемые типы значений: Log.
Возвращает: 0 - не соответствует; 1 - соответствует.
Параметры:
- См. общие параметры
- #num (необязательно) - N-е самое недавнее значение
- pattern (необязательно) - регулярное выражение, описывающее требуемый шаблон, в стиле Perl Compatible Regular Expression (PCRE) (строковые аргументы должны быть заключены в двойные кавычки)
Примеры:
logeventid(/host/eventlog[Security],,"^4625$")=1 #найдена запись журнала с идентификатором, соответствующим "4625" (неудачная аутентификация)
logeventid(/host/eventlog[System],,"^(6008|41)$")=1 #найдена запись журнала с идентификатором, соответствующим "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).
Параметры:
- См. общие параметры
- #num (необязательно) - N-е по счету самое недавнее значение
Zabbix берет уровень серьезности журнала из поля Information журнала событий Windows.
Примеры:
logseverity(/host/log[/var/log/syslog],10m)>3 #найдена запись журнала с уровнем серьезности выше "3"
logseverity(/host/eventlog[System],10m)=4 #найдена запись журнала с уровнем серьезности, равным "Error"
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.
Поддерживаемые типы значений: Log.
Параметры:
- См. общие параметры;
- #num (необязательно) - N-е по новизне значение.
Комментарии:
- Вычисление сдвига времени основано на часах значения элемента данных, а не на временной метке сообщения журнала;
- Функция завершается с ошибкой, если:
- получен элемент данных не типа log;
- за указанный период не было собрано данных;
- не было собрано N-е значение;
- сообщение журнала не содержит значения временной метки.
Примеры:
logtimestamp(/host/key) #получить временную метку последнего сообщения журнала
logtimestamp(/host/key,#2) #получить временную метку предпоследнего сообщения журнала
logtimestamp(/host/key,#3:now-1d) #получить временную метку третьего по новизне сообщения журнала сутки назад
monodec(/host/key,(sec|#num)<:time shift>,<mode>)
Проверяет, было ли монотонное уменьшение значений.
Поддерживаемые типы значений: Integer.
Возвращает: 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) #calculate in how many hosts there has been a decrease in free swap size
monodec(/host/proc.num[nginx],10m,"strict")=1 #the number of nginx processes has monotonously decreased over 10 minutes
monoinc(/host/key,(sec|#num)<:сдвиг времени>,<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>)
Проверка отсутствия полученных данных.
Поддерживаемые типы значений: Integer, Float, Character, Text, Log.
Возвращает: 1 - если данные не поступали в течение заданного периода времени; 0 - в противном случае.
Параметры:
- См. общие параметры
- sec - период не должен быть меньше 30 секунд, поскольку процесс history syncer вычисляет эту функцию только каждые 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)<:сдвиг времени>,percentage)
P-й процентиль периода, где P (процент) задается третьим параметром.
Поддерживаемые типы значений: 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 КБ/с за последние 5 минут
rate(/host/app.requests.count,1m)>100 #счетчик количества запросов вырос до >100 запросов в секунду за последнюю минуту