zabbix修改Template OS Linux模版使已使用内存(Used memory)更准确

说明:

[root@coolnull ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           995        785        209          0          6         92
-/+ buffers/cache:        686        308
Swap:          478        200        278

可用内存:Available memory=free+buffers+cached,即308=209+6+92
已使用内存:Used memory=used-buffers-cached,即686=785-6-92

而在用zabbix自身的Template OS Linux模版监控服务器时,发现Used memory都偏高。这是因为zabbix通过vm.memory.size[used]这个key获取服务器的已使用内存(Used memory)。但vm.memory.size[used]获取的值(如下所示为used 785)还包含buffers、cached这部份。buffers、cached这部份对服务器来说也是可用的。只不过linux本身是尽可能多地使用内存,只有当内存不足时才会释放buffers、cached空间。
vm.memory.size[available]获取的可用内存倒是挺准确的。因此我们这边就会修改Used memory的key值,让总内存减去可用内存即可获取准确的已使用内存

具体:
1. Configure|Templates|Template OS Linux,选择Items,点击Used memory进入配置,修改前如下图所示
z1

 
2. 修改Type和Formula
Type选择Calculated
Formula输入(last(“vm.memory.size[total]”)-last(“vm.memory.size[available]”)),用总内存减去可用内存获得准确的已使用内存。
修改完后如下图所示
z4

查看:
过一会再查看就可以看到服务器的Used memory已经是准确的了
z3

发表评论

邮箱地址不会被公开。 必填项已用*标注