Zabbix Documentation 2.4

2.23.04.04.2 (current)In development:4.4 (devel)Unsupported:1.82.02.43.23.4

User Tools

Site Tools


ru:manual:appendix:triggers:functions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Previous revision
ru:manual:appendix:triggers:functions [2015/10/20 23:19]
ru:manual:appendix:triggers:functions [2017/05/15 11:11] (current)
dotneft
Line 1: Line 1:
 +==== 1 Поддерживаемые функции триггеров ====
  
 +Здесь перечислены все поддерживаемые функции в [[:​ru/​manual/​config/​triggers/​expression|выражениях триггеров]]:​
 +
 +^ ФУКНЦИЯ ​ ^^^^
 +^ ^  **Описания** ​ ^  **Параметры** ​ ^  **Комментарии** ​ ^
 +|**abschange** ​ ^^^^
 +^ |Абсолютная разница между последним и предыдущим значениями. | |Поддерживаемые типы значений:​ float, int, str, text, log\\ \\ Например:​\\ (предыдущее значение;​последнее значение=abschange)\\ 1;5=4\\ 3;1=2\\ 0;​-2.5=2.5\\ \\  Результат для строк:​\\ 0 - значения равны\\ 1 - значения различаются ​ |
 +^ ||||
 +|**avg** (сек<​nowiki>​|</​nowiki>#​кол-во,<​сдвиг_времени>​) ​ ^^^^
 +^ |Среднее значение элемента данных за указанный период времени. |**сек** или **кол-во** - период вычисления в секундах или в последних собранных значениях (начинается с решетки)\\ **сдвиг_времени** (опционально) - точка вычисления перемещается на указанное количество секунд назад во времени |Поддерживаемые типы значений:​ float, int\\ \\ Примеры:​\\ => avg(#5) -> среднее значение за пять последних значений\\ => avg(3600) -> среднее значение за час\\ => avg(3600,​86400) -> среднее значение за час днем ранее.\\ \\ Параметр ''​сдвиг_времени''​ поддерживается начиная с Zabbix 1.8.2. Этот параметр очень полезен,​ если требуется сравнить текущее значение усреднения со значением усреднения сдвиг_времени секунд ранее. |
 +^ ||||
 +|**band** (сек<​nowiki>​|</​nowiki>#​кол-во,​маска,<​сдвиг_времени>​) ​ ^^^^
 +^ |Значение "​побитового И" от значения элемента данных и маски. |**сек** (игнорируется) или **кол-во** - N-ое наиболее новое значение\\ **маска** (обязательна) - 64-битное целое число (0 - 18446744073709551615)\\ **сдвиг_времени** (опционально) - см. функцию avg() |Поддерживаемые типы значений:​ int\\ \\ Обратите внимание,​ что ''#​кол-во''​ здесь работает иначе, чем во многих других функциях (смотри last()).\\ \\ Хотя сравнение выполняется побитовым образом,​ все значения должны подставляться и возвращаться в десятичном виде. Например,​ выполнение проверки 3-го бита, сравнением с 4, не со 100.\\ \\ Примеры:​\\ => %%band(,​​12)=8 or band(,​​12)=4%% -> 3-ий и 4-ый биты установлены,​ но не оба в одно время\\ => %%band(,​​20)=16%% -> 3-ий бит не установлен и 5 бит установлен.\\ \\ Эта функция поддерживается начиная с Zabbix 2.2.0. |
 +^ ||||
 +|**change** ​ ^^^^
 +^ |Величина разницы между последним и предыдущим значениями. | |Поддерживаемые типы значений:​ float, int, str, text, log\\ \\ Например:​\\ (предыдущее значение;​последнее значение=изменение)\\ 1;5=+4\\ 3;1=-2\\ 0;​-2.5=-2.5\\ \\ Для строк:​\\ 0 - значения равны\\ 1 - значения различаются ​ |
 +^ ||||
 +|**count** (сек<​nowiki>​|</​nowiki>#​кол-во,<​шаблон>,<​оператор>,<​сдвиг_времени>​) ​ ^^^^
 +^ |Количество собранных значений за указанный период вычисления. |**сек** или **кол-во** - период вычисления в секундах или в последних собранных значениях (начинается с решетки)\\ **шаблон** (опционально) - требуемый шаблон (целые числа - точное совпадение;​ числа с плавающей точкой - совпадение с точностью до 0.000001)\\ **оператор** (опционально)\\ \\ Поддерживаемые ''​операторы'': ​ //eq// - равно\\ //ne// - не равно\\ //gt// - больше\\ //ge// - больше или равно\\ //lt// - меньше\\ //le// - меньше или равно\\ //like// - совпадают,​ если содержат шаблон (регистрозависимое)\\ //band// - побитовое И (поддерживается начиная с Zabbix 2.2.0).\\ \\ Обратите внимание:​\\ //eq// (по умолчанию),​ //ne//, //gt//, //ge//, //lt//, //le//, //band// поддерживаются целочисленными элементами данных\\ //eq// (по умолчанию),​ //ne//, //gt//, //ge//, //lt//, //le// поддерживаются числовыми с плавающей точкой элементами данных\\ //like// (по умолчанию),​ //eq//, //ne// поддерживаются строковыми,​ текстовыми и журнальными элементами данных\\ \\ **сдвиг_времени** (опционально) - смотрите avg()  |Поддерживаемые типы значений:​ float, int, str, text, log\\ \\ При наличии **band** третьим параметром,​ второй параметр можно указывать двумя числами,​ разделенными с помощью '/':​ **количество_для_сравнения/​маска**. count() вычисляет "​побитовое И", используя значение и //​маску//,​ и сравнивает результат с //​количеством_для_сравнения//​. Если результат "​побитового И" равен //​количеству_для_сравнения//,​ значение засчитывается.\\ Если //​количество_для_сравнения//​ и //​маска//​ равны, то необходимо указать только параметр //​маска//​ (без '/'​).\\ \\ Примеры:​\\ => 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 часами ранее\\ \\ Параметр ''#​кол-во''​ поддерживается начиная с Zabbix 1.6.1.\\ Параметр ''​сдвиг_времени''​ и строковые операторы поддерживаются начиная с Zabbix 1.8.2. |
 +^ ||||
 +|**date** ​ ^^^^
 +^ |Текущая дата в формате ГГГГММДД. ​ |  |Поддерживаемые типы значений:​ //​любые//​\\ \\ Пример результата:​ 20150731 ​  |
 +^ ||||
 +|**dayofmonth** ​ ^^^^
 +^ |День месяца в диапазоне от 1 до 31.  |  |Поддерживаемые типы значений:​ //​любые//​\\ \\ Эта функция поддерживается начиная с Zabbix 1.8.5. ​ |
 +^ ||||
 +|**dayofweek** ​ ^^^^
 +^ |День недели в диапазоне от 1 до 7 (Пн - 1, Вс - 7).  |  |Поддерживаемые типы значений:​ //​любые// ​ |
 +^ ||||
 +|**delta** (сек<​nowiki>​|</​nowiki>#​кол-во,<​сдвиг_времени>​) ​ ^^^^
 +^ |Разницы между максимальным и минимальным значениями за указанный период вычисления ('​max()'​ минус '​min()'​). |**сек** или **#​кол-во** - период вычисления в секундах или в последних собранных значениях (начинается с решетки)\\ **сдвиг_времени** (опционально) - смотри avg() |Поддерживаемые типы значений:​ float, int\\ \\ Параметр ''​сдвиг_времени''​ поддерживается начиная с Zabbix 1.8.2. |
 +^ ||||
 +|**diff** ​ ^^^^
 +^ |Проверка,​ различаются ли последнее и предыдущее значения. ​ |  |Поддерживаемые типы значений:​ float, int, str, text, log\\ \\ Возвращает:​\\ 1 - последнее и предыдущее значения различаются\\ 0 - в противном случае ​ |
 +^ ||||
 +|**fuzzytime** (сек) ^^^^
 +^ |Проверка,​ на сколько отличается штамп времени значения элемента данных от времени Zabbix сервера. ​ |**сек** - секунды ​ |Поддерживаемые типы значений:​ float, int\\ \\ Возвращает:​\\ 0 - если разница между штампом времени значения элемента данных и штампом времени Zabbix сервера больше T секунд\\ 1 - в противном случае.\\ \\ Обычно используется с system.localtime для проверки,​ что локальное время синхронизировано с локальным временем Zabbix сервера.\\ Также можно использовать с ключем vfs.file.time[/​путь/​к/​файлу,​modify] для проверки,​ что файл не обновлялся длительное время.\\ \\ Пример:​\\ => fuzzytime(60)=0 -> обнаружение проблемы,​ если разница во времени больше 60 секунд ​ |
 +^ ||||
 +|**iregexp** (шаблон,<​сек<​nowiki>​|</​nowiki>#​кол-во>​) ​ ^^^^
 +^ |Функция нечувствительный к регистру аналог функции regexp(). ​ |смотри regexp() ​ |Поддерживаемые типы значений:​ str, log, text  |
 +^ ||||
 +|**last** (сек<​nowiki>​|</​nowiki>#​кол-во,<​сдвиг_времени>​) ​ ^^^^
 +^ |Самое новое значение. |**сек** (игнорируется) или ​ **#​кол-во** - N-ое самое новое значение\\ **сдвиг_времени** (опционально) - смотри avg()  |Поддерживаемые типы значений:​ float, int, str, text, log\\ \\ Обратите внимание,​ что ''#​кол-во''​ здесь работает иначе, чем во многих других функциях.\\ Например:​\\ last() всегда идентичен last(#1)\\ last(#3) - третье самое новое значение (//не// три последних значения)\\ \\ Zabbix не гарантирует точный порядок значений,​ если в истории существуют более двух значений менее чем за секунду..\\ \\ Параметр ''#​кол-во''​ поддерживается начиная с Zabbix 1.6.2.\\ Параметр ''​сдвиг_времени''​ поддерживается начиная с Zabbix 1.8.2. |
 +^ ||||
 +|**logeventid** (шаблон) ​ ^^^^
 +^ |Проверка,​ совпадает ли ID события последней записи из журнала указанному регулярному выражению. ​ |**шаблон** - регулярное выражение описывающее требуемый шаблон,​ в формате [[https://​ru.wikipedia.org/​wiki/​Регулярные_выражения#​.D0.A0.D0.B0.D1.81.D1.88.D0.B8.D1.80.D0.B5.D0.BD.D0.BD.D1.8B.D0.B5_.D1.80.D0.B5.D0.B3.D1.83.D0.BB.D1.8F.D1.80.D0.BD.D1.8B.D0.B5_.D0.B2.D1.8B.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F_POSIX|расширенных регулярных выражений POSIX]]. ​ |Поддерживаемые типы значений:​ log\\ \\ Возвращает:​\\ 0 - не совпадает\\ 1 - совпадает\\ \\ Эта функция поддерживается начиная с Zabbix 1.8.5. ​ |
 +^ ||||
 +|**logseverity** ​ ^^^^
 +^ |Важность события последней записи в журнале. ​ |  |Поддерживаемые типы значений:​ log\\ \\ Возвращает:​\\ 0 - важность по умолчанию\\ N - важность (целое число, полезно для журналов событий Windows: 1 - Уведомление,​ 2 - Предупреждение,​ 4 - Ошибка,​ 7 - Аудит отказов,​ 8 - Аудит успехов,​ 9 - Критическая ошибка,​ 10 - Детали).\\ Zabbix берет важность журнала из поля **Информация** журнала событий Windows. ​ |
 +^ ||||
 +|**logsource** (шаблон) ​ ^^^^
 +^ |Проверка,​ совпадает ли параметр источнику последней записи в журнале. ​ |**шаблон** - требуемая строка ​ |Поддерживаемые типы значений:​ log\\ \\ Возвращает:​\\ 0 - не совпадает\\ 1 - совпадает\\ Обычно используется для журналов событий Windows. Например,​ %%logsource("​VMware Server"​)%%. ​ |
 +^ ||||
 +|**max** (сек<​nowiki>​|</​nowiki>#​кол-во,<​сдвиг_времени>​) ​ ^^^^
 +^ |Максимальное значение за указанный период вычисления. ​ |**сек** или **#​кол-во** - период вычисления в секундах или в последних собранных значениях (начинается с решетки)\\ **сдвиг_времени** (опционально) - смотри avg()  |Поддерживаемые типы значений:​ float, int\\ \\ Параметр ''​сдвиг_времени''​ поддерживается начиная с Zabbix 1.8.2. ​ |
 +^ ||||
 +|**min** (сек<​nowiki>​|</​nowiki>#​кол-во,<​сдвиг_времени>​) ​ ^^^^
 +^ |Минимальное значение за указанный период вычисления. ​ |**сек** или **#​кол-во** - период вычисления в секундах или в последних собранных значениях (начинается с решетки)\\ **сдвиг_времени** (опционально) - смотри avg()  |Поддерживаемые типы значений:​ float, int\\ \\ Параметр ''​сдвиг_времени''​ поддерживается начиная с Zabbix 1.8.2. ​ |
 +^ ||||
 +|**nodata** (сек) ​ ^^^^
 +^ |Проверка,​ отсутствия полученных данных. ​ |**сек** - период вычисления в секундах. Период не должен быть меньше 30 секундам. ​ |Поддерживаемые типы значений:​ //​любые//​\\ \\ Результат:​\\ 1 - если нет полученных данных за указанный период времени\\ 0 - в противном случае\\ \\ Обратите внимание,​ эта функция отобразит ошибку в случае,​ если за указанный период в первом параметре:​\\ - нет данных и Zabbix сервер был перезапущен\\ - нет данных и было завершено обслуживание\\ - нет данных и элемент данных был добавлен или активирован снова\\ Ошибки отображаются в колонке //​Инфо//​ в [[:​ru/​manual/​web_interface/​frontend_sections/​configuration/​hosts/​triggers|настройке]] триггеров. ​ |
 +^ ||||
 +|**now** ​ ^^^^
 +^ |Количество секунд начиная с Epoch (00:00:00 UTC, 1 Января,​ 1970). ​ |  |Поддерживаемые типы значений:​ //​любые// ​ |
 +^ ||||
 +|**prev** ​ ^^^^
 +^ |Предыдущее значение. ​ |  |Поддерживаемые типы значений:​ float, int, str, text, log\\ \\ Результатом является то же самое, что и last(#​2). ​ |
 +^ ||||
 +|**regexp** (шаблон,<​сек<​nowiki>​|</​nowiki>#​кол-во>​) ​ ^^^^
 +^ |Проверка,​ совпадает ли последне (самое новое) значение с регулярным выражением. |**шаблон** - регулярное выражение,​ в формате [[https://​ru.wikipedia.org/​wiki/​Регулярные_выражения#​.D0.A0.D0.B0.D1.81.D1.88.D0.B8.D1.80.D0.B5.D0.BD.D0.BD.D1.8B.D0.B5_.D1.80.D0.B5.D0.B3.D1.83.D0.BB.D1.8F.D1.80.D0.BD.D1.8B.D0.B5_.D0.B2.D1.8B.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F_POSIX|расширенных регулярных выражений POSIX]].\\ **сек** или **#​кол-во** - период вычисления в секундах или в последних собранных значениях (начинается с решетки). В этом случае,​ может быть обработано более одного значения. |Поддерживаемые типы значений:​ str, text, log\\ \\ Результат:​\\ 1 - найдено\\ 0 - в противном случае\\ \\ Эта функция является чувствительной к регистру. |
 +^ ||||
 +|**str** (шаблон,<​сек<​nowiki>​|</​nowiki>#​кол-во>​) ​ ^^^^
 +^ |Поиск строки в последнем (самом новом) значении. |**шаблон** - требуемая строка\\ ​ **сек** или **#​кол-во** - период вычисления в секундах или в последних собранных значениях (начинается с решетки). В этом случае,​ может быть обработано более одного значения. |Поддерживаемые типы значений:​ str, text, log\\ \\ Результат:​\\ 1 - найдено\\ 0 - в противном случае\\ \\ Эта функция является чувствительной к регистру. ​ |
 +^ ||||
 +|**strlen** (сек<​nowiki>​|</​nowiki>#​кол-во,<​сдвиг_времени>​) ​ ^^^^
 +^ |Длина последнего (самого нового) значения в символах (не в байтах). |**сек** (игнорируется) или **#​кол-во** - N-ое самое новое значение\\ **сдвиг_времени** (опционально) - смотри avg()  |Поддерживаемые типы значений:​ str, text, log\\ \\ Обратите внимание,​ что ''#​кол-во''​ здесь работает иначе, чем во многих других функциях.\\ \\ Примеры:​\\ => strlen()(идентично strlen(#1)) -> длина самого значения\\ => strlen(#3) -> длина третьего самого нового значения\\ => strlen(,​86400) -> длина самого нового значения днем ранее.\\ \\ Эта функция поддерживается начиная с Zabbix 1.8.4. ​ |
 +^ ||||
 +|**sum** (сек<​nowiki>​|</​nowiki>#​кол-во,<​сдвиг_времени>​) ​ ^^^^
 +^ |Сумма собранных значений за указанный период вычисления. |**сек** или **#​кол-во** - период вычисления в секундах или в последних собранных значениях (начинается с решетки)\\ **сдвиг_времени** (опционально) - смотри avg() |Поддерживаемые типы значений:​ float, int\\ \\ Параметр ''​сдвиг_времени''​ поддерживается начиная с Zabbix 1.8.2. ​ |
 +^ ||||
 +|**time** ​ ^^^^
 +^ |Текущее время в формате ЧЧММСС. ​ |  |Поддерживаемые типы значений:​ //​любые//​\\ \\ Пример возвращаемого значения:​ 123055 ​ |
 +
 +<note important>​1) Все функции возвращают только числовые значения. Например,​ сравнение строк не поддерживается.\\ 2) Некоторые функции нельзя использовать для нечисловых параметров!\\ 3) Строковые аргументы должны быть заключены в двойные кавычки. В противном случае,​ они могут быть неправильно интерпретированы. </​note>​