- A+
概述
在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,是不是变得好理解了。
收尾
用好单位zabbix将会变得更好维护,数据也会更准确。喜欢ttlsa和zabbix的兄弟姐妹们请继续关注运维生存时间zabbix系列教程与运维生存时间的其他教程。

23/08/2016 下午 10:38 沙发
如果我不想要1K,而是确切的一个数,怎么办?zabbix可以做到吗?
23/08/2016 下午 10:53 1层
@苏幕遮 可能要去修改下PHP源码~
19/12/2016 上午 11:53 2层
@匿名 这么麻烦啊,看来zabbix这方面还是有待改进啊
21/04/2016 下午 9:28 板凳
我监控的是tcp的链接数,怎样把图形中单位更改为个,而不是默认的k,m。
04/03/2015 下午 3:24 地板
zabbix很精彩,已经看了2遍了,不知版主有没有兴趣cacti的文章,希望得到答复,谢谢
04/03/2015 下午 5:53 1层
@zabbix-student 当然有兴趣,TTLSA需要各种各样sa们积累的文档。
来自外部的引用: 2