key值計算公式?
說明:
計算類型的key定義主要是根據已定義過的key值來計算的。注意是已定義過的key值。
如這里我要創建一個計算linux服務器內存實際使用大小的監控項(計算方法為:vm.memory.size[total]-vm.memory.size[buffers]-vm.memory.size[cached]-vm.memory.size[free])。但zabbix默認的Items里并沒有獲取vm.memory.size[cached]這個key值。所以在查看Calculated類型的items時會出現Cannot evaluate function “last()”: item “coolnull:vm.memory.size[cached]” does not exist。要解決的話就需要自己再定義添加coolnull:vm.memory.size[cached]這個Items。
以下這邊以獲取算linux服務器內存實際使用大小來舉例。
具體:
1、在模板中或是主機中選擇監控項—->選擇Create item
2、監控的名稱和key按照其功能隨便起一個名字(注:名字和key的名字一定要是英文格式的,包括你名字中包含的特殊字符),如:mem.realused,key的類型選擇計算,這時會出現一個Formula,里面就是你的計算公式,如:
(last(“vm.memory.size[total]”)-last(“vm.memory.size[buffers]”)-last(“vm.memory.size[cached]”)-last(“vm.memory.size[free]”))
這個計算公式就是取各個key值的最后一次值做計算,注意公式中沒有空格(經測試發現有時有空格之類的話提交的時候可能報錯),計算的各個key都是同一類型的。
3、其他的選項沒有什么特別,參照公式中其中一個key值的設置選項設置即可。
4、最后點保存提交,完成key的定義。
這邊發現如果用(last(“vm.memory.size[total]”)-last(“vm.memory.size[buffers]”)-last(“vm.memory.size[cached]”)-last(“vm.memory.size[free]”))來減的話,還需要再定義vm.memo