7 单位符号

概述

使用诸如 86400、104857600 或 1000000 这样的大数值进行配置时可能会带来挑战,并可能导致错误。 为了简化配置并提高可读性,Zabbix 支持单位符号(后缀),这些符号作为数值的乘数使用。

不带后缀的触发器表达式:

last(/host/system.uptime)<86400
       avg(/host/system.cpu.load,600s)<10
       last(/host/vm.memory.size[available])<20971520

带后缀的触发器表达式:

last(/host/system.uptime)<1d
       avg(/host/system.cpu.load,10m)<10
       last(/host/vm.memory.size[available])<20M

后缀还可以简化其他实体的配置,例如 监控项、小部件等,并有助于以人类可读的格式显示 监控项值。

要查看某个实体配置字段是否支持后缀,请始终查阅所配置实体的相关页面。

时间后缀

Zabbix前端在实体配置中支持以下时间后缀:

  • s - 秒 (使用时与原始值效果相同)
  • m - 分钟
  • h - 小时
  • d - 天
  • w - 周
  • M - 月 (trend functions 仅支持)
  • y - 年 (trend functions 仅支持)

仅支持使用integer数字使用时间后缀。 例如,支持1h,但不支持1,5h或1.5h;请改用90m。

内存大小后缀

Zabbix 支持以下 memory 大小后缀:

  • K - 千字节
  • M - 兆字节
  • G - 吉字节
  • T - 太字节

监控项值后缀

后缀也可用于以人类可读的格式显示数值 监控项值。

要启用此功能,请在 配置 时在 单位(Units) 字段中使用以下后缀之一:

  • B - 字节(bytes)
  • Bps - 每秒字节(bytes per second)
  • s - 秒(seconds),使用最多三个最大的非零时间单位显示
  • uptime - 经过的时间,格式为 hh:mm:ss 或 N 天, hh:mm:ss
  • unixtime - Unix 时间戳,格式为 yyyy.mm.dd hh:mm:ss

以下附加规则适用于这些后缀的解释和显示方式:

  • 对于 B 和 Bps,Zabbix 使用基于 2 的转换version(1K = 1024B),遵循 JEDEC 标准。
  • 对于其他单位(如 Hz、W 等),Zabbix 使用基于 10 的转换version(1K = 1000)。
  • 对于 s(秒):
    • 格式包括 yyy mmm ddd hhh mmm sss ms;仅显示最多三个最大的非零时间单位(例如,1M 10d 4h)。
    • 如果某个单位为零且位于两个非零单位之间,则会被省略(例如,10d 56m 而不是 10d 0h 56m)。

当使用 Units 时,以下乘数后缀会自动应用于 监控项值:

  • K, M, G, T - 千(kilo)、兆(mega)、吉(giga)、太(tera)
  • P, E, Z, Y - 拍(peta)、艾(exa)、泽(zetta)、尧(yotta)(这些仅在前端应用)

要防止单位转换,请使用 ! 前缀(例如,!B 或 !s)。

以下示例展示了根据指定单位如何转换接收到的 监控项值:

1 B → 1 B
       1024 B → 1 KB
       1536 B → 1.5 KB
       881764 B → 881.76 KB
       881764 !B → 881764 B
       
       0.0000155 s → 0.016ms
       3470400 s → 1M 10d 4h
       2606400 s → 1M 4h
       2592000 s → 1M
       2592001 s → 1M
       2592001 !s → 2592001 s
       
       17764 uptime → 04:56:04
       86400 uptime → 1 day, 00:00:00
       881764 uptime → 10 days, 04:56:04
       32417764 uptime → 375 days, 04:56:04
       32417764 !uptime → 32417764 uptime
       
       881764 unixtime → 1970-01-11 04:56:04 AM
       
       17764 Hz → 17.76 KHz
       86400 Hz → 86.4 KHz
       881764 Hz → 881.76 KHz
       32417764 Hz → 32.42 MHz
       
       0 ! → 0
       0 !! → 0 !

在 Zabbix 4.0 之前,存在一个硬编码的单位黑名单,包括 msrpmRPM%。 此黑名单已被弃用,因此防止转换这些单位的正确方式是使用 !ms!rpm!RPM!%