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

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

ФУНКЦИЯ Параметр(ы) Поддерживыемые типы значений
Определение
abschange игнорируется float, int, str, text, log
Возвращает абсолютную разницу между последним и предыдущим значениями.
Для строк:
0 - значения равны
1 - значения различаются
avg сек или #num float, int
Среднее значение за период времени. Период задается первым параметром в секундах или количеством собранных значений (после символа # решетки, например, #5 - пять последних значений).
Эта функция принимает секунды, необязательный параметр time_shift. Это бывает полезно, когда нужно сравнить текущее среднее значение со средним значением time_shift секунд ранее. Например, avg(3600,86400) вернет среднее значение за один час одним днем ранее.
Параметр time_shift поддерживается начиная с Zabbix 1.8.2.
change игнорируется float, int, str, text, log
Возвращает разницу между последним и предыдущим значениями.
Для строк:
0 - значения равны
1 - значения различаются
count сек или #num float, int, str, text, log
Количество собранных значений за период. Период задается первым параметром в секундах или количеством значений (после символа # решетки).
Функция принимает второй опциональный параметр шаблон, третий параметр оператор и четвертый параметр сдвиг_времени.
Для шаблон:
Элементы данных с типом целочисленный - точное совпадение;
Элементы данных с типом с плавающей запятой - совпадение с точностью до 0.000001
Поддерживаемые операторы *:
eq - равно
ne - не равно
gt - больше
ge - больше или равно
lt - меньше
le - меньше или равно
like (только текстовый поиск) - совпадают, если содержат шаблон.
*Для целочисленных и элементов данных с плавающей точкой: поддерживаются операторы 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,,,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()' minus 'min()'). Период задается первым параметром в секундах или количеством значений (после символа # решетки).
Начиная с Zabbix 1.8.2, функция поддерживает секунды, опциональный параметр time_shift. Смотрите функцию 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 - важность (целое число, полезно для журналов событий Window). 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. Строковые аргументы должны быть экранированы двойными кавычками. В противном случае они могут быть не верно интерпретированы.