首页 > 代码库 > 使用iostat和LLD实现zabbix监控IO性能
使用iostat和LLD实现zabbix监控IO性能
最近有一个需求是对系统的IO进行监控,最后决定从iostat获取数据。
iostat -x -d -m 1 3
参数简单解析:
-x Display extended statistics
-d Display the device utilization report
-m Display statistics in megabytes per second instead of blocks or kilobytes per second
那么为什么要 1 3呢?
我们用
iostat -x -d -m 1
多次测试,会发现第一次输出的值变动不大,第二次,第三次输出的值会有一定的变化,因此我更偏向与取第二次,第三次的值做平均
命令的输出格式如下:
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
可以较好地满足我们的监控需求
接下来,我们就用zabbix的LLD来自动发现当前系统的Device值
cat /etc/zabbix/scripts/io_discovery.py
#!/bin/env python import os import commands (status,output) = commands.getstatusoutput("iostat -x -d -m | sed -n ‘4,$p‘ | grep -v ^$| awk ‘{print $1}‘") DISKS = output.split() print ‘{‘ print ‘\t"data":[‘ count = 1 for key in DISKS: print ‘\t{‘ if count < len(DISKS): print ‘\t\t"{#DISK}":"%s"},‘ % key else: print ‘\t\t"{#DISK}":"%s"}‘ % key count += 1 print ‘\t]‘ print ‘}‘
本文出自 “雪梨冰糖心的博客” 博客,请务必保留此出处http://xueli17.blog.51cto.com/2121071/1890840
使用iostat和LLD实现zabbix监控IO性能
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。