Zabbix Documentation 2.2

3.04.04.2 (current)In development:4.4 (devel)Unsupported:1.82.02.22.43.23.4

User Tools

Site Tools

This translation is older than the original page and might be outdated. See what has changed.

Sidebar

ru:manual:appendix:triggers:functions

This is an old revision of the document!


1 Поддерживаемые функции триггеров

Здесь перечислены все поддерживаемые функции в выражениях триггеров:

ФУКНЦИЯ
Описания Параметры Комментарии
abschange
Абсолютная разница между последним и предыдущим значениями. Поддерживаемые типы значений: float, int, str, text, log

Например:
(предыдущее значение/последнее значение=abschange)
1/5=4
3/1=2
0/-2.5=2.5

Результат для строк:
0 - значения равны
1 - значения различаются
avg (сек|#кол-во,<сдвиг_времени>)
Среднее значение элемента данных за указанный период времени. сек или кол-во - период вычисления в секундах или в последних собранных значениях (начинается с решетки)
сдвиг_времени (опционально) - точка вычисления перемещается на указанное количество секунд назад во времени
Поддерживаемые типы значений: float, int

Примеры:
⇒ avg(#5) → среднее значение за пять последних значений
⇒ avg(3600) → среднее значение за час
⇒ avg(3600,86400) → среднее значение за час днем ранее.

Параметр сдвиг_времени поддерживается начиная с Zabbix 1.8.2. Этот параметр очень полезен, если требуется сравнить текущее значение усреднения со значением усреднения сдвиг_времени секунд ранее.
band (сек|#кол-во,маска,<сдвиг_времени>)
Значение “побитового И” от значения элемента данных и маски. сек (игнорируется) или кол-во - N-ое наиболее новое значение
маска (обязательна) - 64-битное целое число (0 - 18446744073709551615)
сдвиг_времени (опционально) - см. функцию avg()
Поддерживаемые типы значений: int

Обратите внимание, что #кол-во здесь работает иначе, чем во многих других функциях (смотри last()).

Эта функция поддерживается начиная с начиная с Zabbix 2.2.0.
change
Величина разницы между последним и предыдущим значениями. Поддерживаемые типы значений: float, int, str, text, log

Например:
(предыдущее значение/последнее значение=изменение)
1/5=+4
3/1=-2
0/-2.5=-2.5

Для строк:
0 - значения равны
1 - значения различаются
count (сек|#кол-во,<шаблон>,<оператор>,<сдвиг_времени>)
Количество собранных значений за указанный период вычисления. Период задается первым параметром в секундах или количеством значений (после символа # решетки).
Функция принимает второй опциональный параметр шаблон, третий параметр оператор и четвертый параметр сдвиг_времени.
Для шаблон:
Элементы данных с типом целочисленный - точное совпадение;
Элементы данных с типом с плавающей запятой - совпадение с точностью до 0.000001
Поддерживаемые операторы *:
eq - равно
ne - не равно
gt - больше
ge - больше или равно
lt - меньше
le - меньше или равно
like (только текстовый поиск) - совпадают, если содержат шаблон.
band - побитовое И. Этот оператор поддерживается для функции count с версии Zabbix 2.2.0.
С band вторым параметром может быть определено двумя целями числами разделенными символом '/': количество_для_сравнения/маска.
count вычисляет “побитовое И” используя значение и маску и сравнивая результат с количесвом_для_сравнения.
Если результат “побитового И” равна количеству_для_сравнения, значение считается. Если количество_для_сравнения и маска равны, только параметр маска может быть указан (без '/').
*Для целочисленных элементов данных: поддерживаются операторы eq(по умолчанию), ne, gt, ge, lt, le, band.
*Для элементов данных с плавающей точкой: поддерживаются операторы eq (по умолчанию), ne, gt, ge, lt, le.
*Для элементов данных строки, текста и журнала: поддерживаются операторы like (по умолчанию), eq, ne.
Примеры:
count(600) - количество значений за последние 10 минут
count(600,12) - количество значений за последние 10 минут, которые равны '12'
count(600,12,"gt") - количество значений за последние 10 минут, которые равны '12'
count(#10,12,“gt”) - количество значений за последние 10 значений, которые больше '12'
count(600,12,"gt",86400) - количество значений обработанных за 10 минут 24 часа назад, которые больше '12'
count(600,6/7,"band") - количество значение за последние 10 минут имеющих '110' (в бинарном виде) в 3-х младших битах.
count(600,,,86400) - количество значений обработанных за 10 минут 24 часа назад
Параметр #num поддерживается Zabbix начиная с версии Zabbix 1.6.1.
Параметр сдвиг_времени и строковые операторы поддерживаются Zabbix начиная с версии 1.8.2. Смотрите функцию avg() в качестве примера по использованию сдвига_времени.
date
Возвращает текущую дату в формате ГГГГММДД.
Например: 20031025
dayofmonth игнорируется любой
Возвращает день месяца из диапазона от 1 до 31.
Эта функция поддерживается начиная с версии Zabbix 1.8.5.
dayofweek игнорируется любой
Возвращает день недели из диапазона от 1 до 7. Пн - 1, Вс - 7.
delta сек или #num float, int
Возвращает разницы между максимальным и минимальным значениями за период ('max()' минус'min()'). Период задается первым параметром в секундах или количеством значений (после символа # решетки).
Начиная с версии Zabbix 1.8.2, функция поддерживает секунды, опциональный параметр сдвиг_времени. Смотрите функцию avg() для примера использования.
diff игнорируется float, int, str, text, log
Возвращает:
1 - последнее и предыдущее значения различаются
0 - в противном случае
fuzzytime сек float, int
Возвращает 1, если штамп времени (значение элемента данных) не различается с временем на Zabbix сервере более чем на N секунд, 0 - в противном случае.
Обычно используется с system.localtime для проверки синхронизировано ли локальное время с локальным временем на Zabbix сервере.
iregexp 1ый - строка, 2ой - сек или #num str, log, text
Эта функция нечувствительный к регистру аналог функции regexp.
last сек или #num float, int, str, text, log
Последнее (самое новое) значение. Параметр:
сек - игнорируется
#num - Nое наиболее новое значение
Примите во внимание, что #num, как можно ожидать, работает здесь отлично от многих других функций.
Например,
last(0) всегда равно last(#1)
last(#3) - третье наиболее новое значение (не три последних значений)
Функция также поддерживает второй опциональный параметр сдвиг_времени. Например,
last(0,86400) вернет наиболее новое значение днем ранее.
Zabbix не гарантирует точный порядок значений, если в истории существуют более чем два значения менее чем за секунду.
Параметр #num поддерживается Zabbix начиная с версии 1.6.2.
Параметр сдвиг_времени поддерживается Zabbix начиная с версии 1.8.2. Смотрите функцию avg() в качестве примера по использованию сдвига_времени.
logeventid строка log
Проверяет соответствует ли регулярному выражению Event ID последней записи в журнале. Параметр задается регулярным выражением, в формате расширенных регулярных выражений POSIX.
Возвращает:
0 - не совпадает
1 - совпадает
Функция поддерживается Zabbix начиная с версии 1.8.5.
logseverity игнорируется log
Возвращает важность последней записи в журнале. Параметр игнорируется.
0 - важность по умолчанию
N - важность (целое число, полезно для журналов событий Windows: 1 - Информация, 2 - Предупрежение, 4 - Ошибка, 7 - Провал контроль, 8 - Успешный контроль, 9 - Критичное, 10 - Подробно). Zabbix берет важность журнала из колонки Информация журнала событий Windows.
logsource строка log
Проверяет совпадает ли параметру источник последней записи в журнале.
0 - не совпадает
1 - совпадает
Обычно используется для журналов событий Windowss. Например, logsource["VMWare Server"]
max сек или #num float, int
Максимальное (наибольшее) значение за период. Период задается первым параметром в секундах или количеством значений (после символа # решетки).
Начиная с Zabbix 1.8.2, функция поддерживает секунды, опциональный параметр time_shift. Смотрите функцию avg для примера использования.
min сек или #num float, int
Минимальное (наименьшее) значение за период. Период задается первым параметром в секундах или количеством значений (после символа # решетки).
Начиная с Zabbix 1.8.2, функция поддерживает секунды, опциональный параметр time_shift. Смотрите функцию avg для примера использования.
nodata сек any
Возвращает:
1 - если данные не получение в течении периода времени в секундах. Период должен быть не менее 30 секунд.
0 - в противном случае
now игнорируется any
Возвращает количество секунд с начала Эпохи (00:00:00 UTC, Январь 1, 1970).
prev игнорируется float, int, str, text, log
Возвращает предыдущее значение. Параметр игнорируется.
Аналогично last(#2)
regexp 1ый – строка, 2ой – сек или #num str, log, text
Проверяет совпадает ли последнее (самое новое) значение с регулярным выражением. Параметр задается регулярным выражением, в формате расширенных регулярных выражений POSIX.
Второй опциональный параметр является количеством секунд или количеством собранных значений для анализа. В этом случае будут обработаны более чем одно значение.
Эта функция чувствительна к регистру.
Возвращает:
1 - найдено
0 - в противном случае
str 1ый – строка, 2ой – сек или #num str, log, text
Ищет строку в последнем (самом новом) значении. Параметр залает искомую строку. Чувствительно к регистру!
Второй опциональный параметр является количеством секунд или количеством собранных значений для анализа. В этом случае будут обработаны более чем одно значение.
Возвращает:
1 - найдено
0 - в противном случае
strlen сек или #num str, log, text
Длина последнего (самого нового) значения в символах (не в байтах).
Параметры работают также как и в функции 'last' (смотрите выше в таблице).
Например,
strlen(0) равно strlen(#1)
strlen(#3) - длина третьего наиболее нового значения
strlen(0,86400) - длина самого нового значения днем ранее.
Эта функция поддерживается Zabbix начиная с версии 1.8.4.
sum сек или #num float, int
Сумма собранных значений за период. Период задается первым параметром в секундах или количеством значений (после символа # решетки).
Начиная с Zabbix 1.8.2, функция поддерживает секунды, опциональный параметр time_shift. Смотрите функцию avg для примера использования.
time игнорируется any
Возвращает текущее время в формате ЧЧММСС. Пример: 123055
1) Все функции возвращают только числовые значения. Сравнение строк не поддерживается, к примеру.
2) Некоторые функции не могут быть использованы для нечисловых параметров!
3) Строковые аргументы должны быть экранированы двойными кавычками. В противном случае они могут быть не верно интерпретированы.