8 Unit symbols
Overview
Having to use some large numbers, for example '86400' to represent the number of seconds in one day, is both difficult and error-prone. This is why you can use some appropriate unit symbols (or suffixes) to simplify Zabbix trigger expressions and item keys.
Instead of '86400' for the number of seconds you can simply enter '1d'. Suffixes function as multipliers.
Time suffixes
For time you can use:
- s - seconds (when used, works the same as the raw value)
- m - minutes
- h - hours
- d - days
- w - weeks
Time suffixes support only integer numbers (so '1h' is supported, '1,5h' or '1.5h' are not; use '90m' instead).
Time suffixes are supported in:
- trigger expression constants and function parameters
- constants of calculated item formulas
- parameters of the zabbix[queue,<from>,<to>] internal item
- time period parameter of aggregate calculations
- item configuration ('Update interval', 'Custom intervals', 'History storage period' and 'Trend storage period' fields)
- item prototype configuration ('Update interval', 'Custom intervals', 'History storage period' and 'Trend storage period' fields)
- low-level discovery rule configuration ('Update interval', 'Custom intervals', 'Keep lost resources' fields)
- network discovery configuration ('Update interval' field)
- web scenario configuration ('Update interval', 'Timeout' fields)
- action operation configuration ('Default operation step duration', 'Step duration' fields)
- user profile settings ('Auto-logout', 'Refresh', 'Message timeout' fields)
- graph widget of Monitoring → Dashboard ('Time shift' field)
- Administration → General → Housekeeping (storage period fields)
- Administration → General → Trigger displaying options ('Display OK triggers for', 'On status change triggers blink for' fields)
- Administration → General → Other ('Login blocking interval' field and fields related to communication with Zabbix server)
- Zabbix server
ha_set_failover_delay=delayruntime control option
Memory suffixes
Memory size suffixes are supported in:
- trigger expression constants and function parameters
- constants of calculated item formulas
For memory size you can use:
- K - kilobyte
- M - megabyte
- G - gigabyte
- T - terabyte
Other uses
Unit symbols are also used for a human-readable representation of data in the frontend.
In both Zabbix server and frontend these symbols are supported:
- K - kilo
- M - mega
- G - giga
- T - tera
When item values in B, Bps are displayed in the frontend, base 2 is applied (1K = 1024). Otherwise a base of 10 is used (1K = 1000).
Additionally the frontend also supports the display of:
- P - peta
- E - exa
- Z - zetta
- Y - yotta
Usage examples
By using some appropriate suffixes you can write trigger expressions that are easier to understand and maintain, for example these expressions:
last(/host/system.uptime[])<86400s
avg(/host/system.cpu.load,600s)<10
last(/host/vm.memory.size[available])<20971520
could be changed to:
last(/host/system.uptime[])<1d
avg(/host/system.cpu.load,10m)<10
last(/host/vm.memory.size[available])<20M
Preventing unit conversion
By default, specifying a unit for an item results in a multiplier prefix being added - for example, an incoming value '2048' with unit 'B' would be displayed as '2KB' by the frontend (for more details, see Units in item configuration).
To prevent a unit from conversion, use the ! prefix, for example,
!B. To better understand how the conversion works with and without the
exclamation mark, see the following examples of values and units:
1024 !B → 1024 B
1024 B → 1 KB
61 !s → 61 s
61 s → 1m 1s
0 !uptime → 0 uptime
0 uptime → 00:00:00
0 !! → 0 !
0 ! → 0
Before Zabbix 4.0, there was a hardcoded unit stoplist
consisting of ms, rpm, RPM, %. This stoplist has been
deprecated, thus the correct way to prevent converting such units is
!ms, !rpm, !RPM, !%.