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

说明:

[root@coolnull ~]# free -m
             total       used       free     shared    buffers     cachedMem:           995        785        209          0          6         92-/+ buffers/cache:        686        308Swap:          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

转自:http://coolnull.com/3791.html

本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1853955如需转载请自行联系原作者


qianghong000

### 配置Zabbix以监控ESXi主机的内存和存储信息 为了实现对ESXi主机内存和存储信息的有效监控,需先确保安装并配置好必要的组件。对于Zabbix服务器及其代理程序所在的节点,已知controller节点具有IP地址`192.168.100.10`,运行着MySQL、PHP、Nginx以及Zabbix服务端与代理程序;而compute节点则位于`192.168.100.20`上,同样部署有这些软件包但不包含Zabbix Server[^1]。 #### 安装依赖项 在开始之前,确认所有必需的库已经就绪。通常情况下,在Linux环境中这一步骤涉及新现有仓库列表并下载最新版本的相关工具: ```bash sudo apt-get update && sudo apt-get install -y zabbix-sender snmp-mibs-downloader ``` #### 设置SNMP支持 由于大多数现代虚拟化平台都提供了通过简单网络管理协议(SNMP)获取性能指标的功能,因此可以利用此特性来收集关于ESXi的信息。首先要在目标机器上激活相应的选项,并设置合适的访问权限给Zabbix使用的社区字符串。 接着编辑Zabbix Agent配置文件(一般路径为/etc/zabbix/zabbix_agentd.conf),添加如下几行以便启用被动模式下的SNMP捕获能力: ```conf EnableRemoteCommands=1 UnsafeUserParameters=1 UserParameter=esxi.memory[*],/usr/bin/snmpget -v 2c -c public $1 .1.3.6.1.4.1.6876.2.1.1.2 | awk '{print $NF}' UserParameter=esxi.storage[*],/usr/bin/snmpwalk -v 2c -c public $1 .1.3.6.1.4.1.6876.2.1.2 | grep 'used space' | awk '{sum+=$NF} END {print sum}' ``` 上述命令分别用于查询远程系统的RAM总量及磁盘占用情况。注意替换其中的community string (`public`) 和OIDs (.1.3...) 来匹配实际环境中的设定。 #### 创建自定义模板 进入Web界面创建一个新的Template_ESXI_Host模版,加入两个项目用来定期调用刚才定义好的用户参数函数。同时关联至具体的被管对象——即那些需要监测资源状况的具体物理或逻辑设备实例。 最后重启agent使改生效: ```bash systemctl restart zabbix-agent ``` 现在应该可以在仪表板里看到来自指定位置的数据流了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值