[技术干货] Zabbix 返回值中去除多余字符

[复制链接]
乐维 发表于 2020-7-30 10:06:26 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
背景分析:采用snmp方式对某设备进行监控时,内存部分(设备总内存、剩余内存)内容返回的值的类型为字符串,如下图1。
1.png
1
现在我还想加上一个内存的使用率,因为没有找到对应的oid,所以打算使用可计算的方式,对上述两个值进行计算得出内存使用率的值。由于现在的两个相关返回值的类型为字符串(字符串没有办法进行可计算),所以必须得去掉“MB”字符,使得返回值为数值类型。
1. 选中需要调整的监控项,选择“进程”进行调整。如下图2
2.png
2
(1) 修整右边:从值的末尾删除字符“MB”
(2) 自定义倍数:该值是 1024*1024  后所得结果。
2. 现在回到监控项,还是直接引用对应的oid,如下图3
3.png
3
(1) 信息类型:选择浮点数,本来返回的数值是字符,选择浮点数类型时会报错,但是前面的修整步骤中已经去除了“MB”字符,剩下值的类型已经符合浮点数类型,所以可以选择“浮点数”。
(2) 单位:原本返回的值里面包含了“MB”做单位显示,但是前面已经去除了,所以现在返回的值还得补充单位。从对应单位填写的“B”来看,B转换到MB需要乘两次1024,所以在进程处还选择了自定义倍数,对应的值填“1024*1024”的相乘结果。虽可以直接填入MB做单位,但在返回值的显示会不够规范以及美观(可能返回值会带有KMB等结果),为了统一以及展示美观,而做了该步。
3. 最后看看数据返回结果,如图4.
4.png
4
现在可以看到对应的监控项返回的值是1.14GB,另外设备总内存也是通过相同的配置而获得返回数值的结果,最后可通过可计算的形式得出内存使用率。
技术交流欢迎加入Q群:177428068





上一篇:Zabbix“专家坐诊”第70期问答汇总
下一篇:Zabbix 指定时间内的变化值设置
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝0

帖子197

发布主题

乐维社区

微信公众号

版权所有 © 2016-2019 九一乐维丨粤ICP备17007026号