This is a translation of the original English documentation page. Help us make it better.

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 MonitoringDashboard ('Time shift' field)
  • AdministrationGeneralHousekeeping (storage period fields)
  • AdministrationGeneralTrigger displaying options ('Display OK triggers for', 'On status change triggers blink for' fields)
  • AdministrationGeneralOther ('Login blocking interval' field and fields related to communication with Zabbix server)
  • Zabbix server ha_set_failover_delay=delay runtime control option

Memory suffixes

Memory size suffixes are supported in:

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, !%.