tubaobaoya3 发表于 2019-1-22 08:21:45

配置zabbix已使用内存更准确和可用内存使用率

说明:
# 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这个key获取服务器的已使用内存(Used memory)。但vm.memory.size获取的值(如下所示为used 785)还包含buffers、cached这部份。
buffers、cached这部份对服务器来说也是可用的。只不过linux本身是尽可能多地使用内存,只有当内存不足时才会释放buffers、cached空间。
vm.memory.size获取的可用内存倒是挺准确的。因此我们这边就会修改Used memory的key值,让总内存减去可用内存即可获取准确的已使用内存

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



2. 修改Type和Formula
Type选择Calculated#计算类型
Formula输入(last("vm.memory.size")-last("vm.memory.size")),用总内存减去可用内存获得准确的已使用内存。



Formula输入(100*last("vm.memory.size")/last("vm.memory.size")),用可用内存除以总内存获得内存使用率。


查看:


  触发器:
  1. Configuration-->Templates-->Template OS Linux-->Triggers-->create trigger
Name:    free mem less 10%
Expression:    {Template OS Linux:vm.memory.free.last()}
页: [1]
查看完整版本: 配置zabbix已使用内存更准确和可用内存使用率