All functions supported in trigger expressions are listed here:
FUNCTION | |||
---|---|---|---|
Description | Parameters | Comments | |
abschange | |||
The amount of absolute difference between last and previous values. | Supported value types: float, int, str, text, log For example: (previous value;last value=abschange) 1;5=4 3;1=2 0;-2.5=2.5 For strings returns: 0 - values are equal 1 - values differ |
||
avg (sec|#num,<time_shift>) | |||
Average value of an item within the defined evaluation period. | sec or #num - evaluation period in seconds or in latest collected values (preceded by a hash mark) time_shift (optional) - evaluation point is moved the number of seconds back in time |
Supported value types: float, int Examples: => avg(#5) → average value for the five latest values => avg(3600) → average value for an hour => avg(3600,86400) → average value for an hour one day ago. The time_shift parameter is supported since Zabbix 1.8.2. It is useful when there is a need to compare the current average value with the average value time_shift seconds back. |
|
change | |||
The amount of difference between last and previous values. | Supported value types: float, int, str, text, log For example: (previous value;last value=change) 1;5=+4 3;1=-2 0;-2.5=-2.5 For strings returns: 0 - values are equal 1 - values differ |
||
count (sec|#num,<pattern>,<operator>,<time_shift>) | |||
Number of values within the defined evaluation period. | sec or #num - evaluation period in seconds or in latest collected values (preceded by a hash mark) pattern (optional) - required pattern operator (optional) Supported operators :eq - equal ne - not equal gt - greater ge - greater or equal lt - less le - less or equal like - matches if contains pattern (case-sensitive) Note that: eq (default), ne, gt, ge, lt, le are supported for integer items eq (default), ne, gt, ge, lt, le are supported for float items like (default), eq, ne are supported for string, text and log items time_shift (optional) - see avg() |
Supported value types: float, integer, string, text, log Float items match with the precision of 0.000001. Examples: => count(600) → number of values for last 10 minutes => count(10m,"error",eq) → number of values for last 10 minutes that equal 'error' => count(600,12) → number of values for last 10 minutes that equal '12' => count(600,12,gt) → number of values for last 10 minutes that are over '12' => count(#10,12,gt) → number of values within last 10 values that are over '12' => count(600,12,gt,86400) → number of values for preceding 10 minutes up to 24 hours ago that were over '12' => count(600,,,86400) → number of values for preceding 10 minutes up to 24 hours ago The #num parameter is supported since Zabbix 1.6.1.The time_shift parameter and string operators are supported since Zabbix 1.8.2. |
|
date | |||
Current date in YYYYMMDD format. | Supported value types: any Example of returned value: 20150731 |
||
dayofmonth | |||
Day of month in range of 1 to 31. | Supported value types: any This function is supported since Zabbix 1.8.5. |
||
dayofweek | |||
Day of week in range of 1 to 7 (Mon - 1, Sun - 7). | Supported value types: any | ||
delta (sec|#num,<time_shift>) | |||
Difference between the maximum and minimum values within the defined evaluation period ('max()' minus 'min()'). | sec or #num - evaluation period in seconds or in latest collected values specified (preceded by a hash mark) time_shift (optional) - see avg() |
Supported value types: float, int The time_shift parameter is supported since Zabbix 1.8.2. |
|
diff | |||
Checking if last and previous values differ. | Supported value types: float, int, str, text, log Returns: 1 - last and previous values differ 0 - otherwise |
||
fuzzytime (sec) | |||
Checking how much an item timestamp value differs from the Zabbix server time. | sec - seconds | Supported value types: float, int Returns: 0 - if difference between item timestamp value and Zabbix server timestamp is over T seconds 1 - otherwise. Usually used with system.localtime to check that local time is in sync with local time of Zabbix server. Can be used also with vfs.file.time[/path/file,modify] key to check that file didn't get updates for long time. Example: => fuzzytime(60)=0 → detect a problem if time difference is over 60 seconds |
|
iregexp (pattern,<sec|#num>) | |||
This function is a non case-sensitive analogue of regexp(). | see regexp() | Supported value types: str, log, text | |
last (sec|#num,<time_shift>) | |||
The most recent value. | sec (ignored) or #num - the Nth most recent value time_shift (optional) - see avg() |
Supported value types: float, int, str, text, log Take note that #num works differently here than with many other functions.For example: last() is always equal to last(#1) last(#3) - third most recent value (not three latest values) Zabbix does not guarantee exact order of values if more than two values exist within one second in history. The #num parameter is supported since Zabbix 1.6.2.The time_shift parameter is supported since Zabbix 1.8.2. |
|
logeventid (pattern) | |||
Check if event ID of the last log entry matches a regular expression. | pattern - regular expression describing the required pattern, POSIX extended style. | Supported value types: log Returns: 0 - does not match 1 - matches This function is supported since Zabbix 1.8.5. |
|
logseverity | |||
Log severity of the last log entry. | Supported value types: log Returns: 0 - default severity N - severity (integer, useful for Windows event logs: 1 - Information, 2 - Warning, 4 - Error, 7 - Failure Audit, 8 - Success Audit, 9 - Critical, 10 - Verbose). Zabbix takes log severity from Information field of Windows event log. |
||
logsource (pattern) | |||
Checking if log source of the last log entry matches parameter. | pattern - required string | Supported value types: log Returns: 0 - does not match 1 - matches Normally used for Windows event logs. For example, logsource("VMware Server"). |
|
max (sec|#num,<time_shift>) | |||
Highest value of an item within the defined evaluation period. | sec or #num - evaluation period in seconds or in latest collected values (preceded by a hash mark) time_shift (optional) - see avg() |
Supported value types: float, int The time_shift parameter is supported since Zabbix 1.8.2. |
|
min (sec|#num,<time_shift>) | |||
Lowest value of an item within the defined evaluation period. | sec or #num - evaluation period in seconds or in latest collected values (preceded by a hash mark) time_shift (optional) - see avg() |
Supported value types: float, int The time_shift parameter is supported since Zabbix 1.8.2. |
|
nodata (sec) | |||
Checking for no data received. | sec - evaluation period in seconds. The period should not be less than 30 seconds. | Supported value types: any Returns: 1 - if no data received during the defined period of time 0 - otherwise Note that this function will display an error if, within the period of the 1st parameter: - there's no data and Zabbix server was restarted - there's no data and maintenance was completed - there's no data and the item was added or re-enabled Errors are displayed in the Info column in trigger configuration. |
|
now | |||
Number of seconds since the Epoch (00:00:00 UTC, January 1, 1970). | Supported value types: any | ||
prev | |||
Previous value. | Supported value types: float, int, str, text, log Returns the same as last(#2). |
||
regexp (pattern,<sec|#num>) | |||
Checking if the latest (most recent) value matches regular expression. | pattern - regular expression, POSIX extended style. sec or #num (optional) - evaluation period in seconds or in latest collected values (preceded by a hash mark). In this case, more than one value may be processed. |
Supported value types: str, text, log Returns: 1 - found 0 - otherwise This function is case-sensitive. |
|
str (pattern,<sec|#num>) | |||
Finding a string in the latest (most recent) value. | pattern - required string sec or #num (optional) - evaluation period in seconds or in latest collected values (preceded by a hash mark). In this case, more than one value may be processed. |
Supported value types: str, text, log Returns: 1 - found 0 - otherwise This function is case-sensitive. |
|
strlen (sec|#num,<time_shift>) | |||
Length of the latest (most recent) value in characters (not bytes). | sec (ignored) or #num - the Nth most recent value time_shift (optional) - see avg() |
Supported value types: str, text, log Take note that #num works differently here than with many other functions.Examples: => strlen()(is equal to strlen(#1)) → length of the latest value => strlen(#3) → length of the third most recent value => strlen(,86400) → length of the most recent value one day ago. This function is supported since Zabbix 1.8.4. |
|
sum (sec|#num,<time_shift>) | |||
Sum of collected values within the defined evaluation period. | sec or #num - evaluation period in seconds or in latest collected values (preceded by a hash mark) time_shift (optional) - see avg() |
Supported value types: float, int The time_shift parameter is supported since Zabbix 1.8.2. |
|
time | |||
Current time in HHMMSS format. | Supported value types: any Example of returned value: 123055 |