概述
在zabbix里面,我们不需要使用大数字来,例如我们可以不使用86400来表示一天,这个数字又不容易理解也容易出错。用什么办法来解决大数字问题呢?我们可以使用单位来简化,例如简化zabbix触发器表达式或者item key。所以,我们可以使用1d来渠道86400,‘d’就是单位后缀,表示天。
时间单位后缀
* s - 秒(一般来说来说不写s,就表示s了)
* m - 分
* h - 小时
* d - 天
* w - 周
时间单位后缀支持如下使用场景:
* 触发器表达式
* zabbix internal item参数,如 zabbix[queue,<from>,<to>]
* last parameter of aggregate checks
单位符号
Zabbix server和zabbix后台都支持使用这些单位显示,触发器表达式也可以使用这些单位。
- K - kilo
- M - mega
- G - giga
- T - tera
如果item值的单位不是B、Bps,那么1000为基数,1000将会别显示成1k,2000显示为2k。如果单位是B或者Bps,那么基数就是1024了,item值为1024将会被展示成1k。所以在单位上面,大家一定要切记。例如流量别忘记单位改为B,访问量/次数不填写单位
除了以上单位,zabbix还支持如下单位(单位很大,基本很少用到)
- P - peta
- E - exa
- Z - zetta
- Y - yotta
使用例子
在编写触发器表达式中使用这些单位会显得好理解并且更好维护,如下
1 2 3 |
{host:zabbix[proxy,zabbix_proxy,lastaccess]}>120 {host:system.uptime[].last(0)}<86400 {host:system.cpu.load.avg(600)}<10 |
可以修改为:
1 2 3 |
{host:zabbix[proxy,zabbix_proxy,lastaccess]}>2m {host:system.uptime.last(0)}<1d {host:system.cpu.load.avg(10m)}<10 |
可以看到120秒改成了2m(分钟),86400改为1d,是不是变得好理解了。