zabbix使用iostat命令参数监控磁盘性能
iostat命令
先说一个坑把,在开始监控的时候使用命令
iostat -dtkx,得到的结果看上去没问题,但是在web监控窗口数据就说不变动,为啥呢,因为iostat这个命令得到的第一个数据始终是磁盘从系统启动到现在的相关数值,这样如果系统很一直很平稳,得到的数值就不会有变化,除非一直很平稳,突然对磁盘的请求陡增,数值会改变。也就是iostat取得第一次数据并不是我们想要监控得数据;所以在监控脚本中需要使用iostat -dtkx 1 2每秒钟取两次数据,用第二次得数据来进行磁盘性能监控
相关参数解释
- rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同的Block的数据,FS会将这个请求合并Merge)
- wrqm/s:每秒这个设备相关的写入请求有多少被Merge了
- r/s:每秒完成的读次数
- w/s:每秒完成的写次数
- rKB/s:每秒读数据量(kb为单位)
- wKB/s:每秒写数据量
- avgrq-sz:平均请求扇区的大小
- avgqu-sz:是平均请求队列的长度,毫无疑问,队列长度越短越好
- await:每一个IO请求处理的平均时间(单位是毫秒),这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。这个时间包括了队列时间和服务时间,也就是说,一般这种情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越在,队列时间越长,说明系统出了问题
- svctm:表示平均每次设备I/O操作的服务时间(以毫秒为单位),如果svctm的值与await很接近,表示几乎没有I/O在等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢
- %util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒处理IO,而0.2秒闲置,那么该设备的%util=0.8/1=80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必到了瓶颈)
@ 监控脚本
#/bin/sh
Device=$1
DISK=$2
case $DISK in
rrqm)
iostat -dxkt 1 2 grep "\b$Device\b"|tail -1|awk '{print $2}'
;;
wrqm)
iostat -dxkt 1 2 |grep "\b$Device\b"|tail -1|awk '{print $3}'
;;
rps)
iostat -dxkt 1 2 |grep "\b$Device\b"|tail -1|awk '{print $4}'
;;
wps)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $5}'
;;
rKBps)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $6}'
;;
wKBps)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $7}'
;;
avgrq-sz)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $8}'
;;
avgqu-sz)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $9}'
;;
await)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $10}'
;;
svctm)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $11}'
;;
util)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $12}'
;;
esac
脚本中得$Device代表你要监控得磁盘名,在配置zabbix_agent中,我直接写成了vda,如果还有其他磁盘,就需要配置两条UserParameter将传进去得vda改为其他磁盘就可以
@ 配置zabbix_agent
添加
UserParameter=disk.io[*],/usr/local/zabbix/sh/chk_io.sh vda $1
vda对应脚本中的Device, $1对应脚本中的DISK
@ 配置web监控项
例如: 磁盘每秒读数据量
对用脚本中rKBps项,键值为disk.io[rKBps]
要注意的是信息类型一定要选对,这里应该选择浮点型,不然会读取不到数据报错,默认为整数型
zabbix使用iostat命令参数监控磁盘性能的更多相关文章
- zabbix的日常监控-磁盘性能监控(十二)
监控磁盘的性能 参考文章: https://wiki.enchtex.info/howto/zabbix/zabbix_iostat_monitoring https://blog.csdn.net/ ...
- 对zabbix监控磁盘性能的补充
原因 在上一篇文章中,我写了完整的磁盘监控步骤,希望对大家有所帮助.但是这里还需要作出一点补充. 根据上一篇文章的内容,我是使用iostat命令不停的收集磁盘的信息,然后写入到/tmp/iostat_ ...
- iostat命令详解 IO性能分析
简介 iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息.用户可以通过指定统计的次数和时间 ...
- linux iostat命令详解 磁盘操作监控工具
Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视. 它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况. ...
- zabbix应用之Low-level discovery监控磁盘IO
参考文章: http://qicheng0211.blog.51cto.com/3958621/1599776/ zabbix自带的"Template OS Linux"模板支持监 ...
- zabbix利用自带模板-监控mysql性能
环境: zabbix3.4.4 mariadb 5.5.56 要求: 利用zabbix 自带的模板 监控mariadb 上的 并发连接数,慢查询数量,增删改查.请求流量带宽,mysql响应流量带宽等 ...
- iostat命令具体解释——linux性能分析
之前总结uptime和free命令,今天继续来总结一下iostat.给自己留个笔记.同一时候也希望对大家实用. 版本号信息: sysstat version 9.0.4 (C) S ...
- 讨论一下TaskManager中监控磁盘性能的一些小问题
今天研究了一下命令"diskperf -Y". 我把发现Share给了同事, 原文写在了下面, 就不翻译了. ^_^ Try this command (CMD or Powe ...
- zabbix实现对磁盘性能动态监控
前言 zabbix一直是小规模互联网公司服务器性能监控首选,首先是免费,其次,有专门的公司和社区开发维护,使其稳定性和功能都在不断地增强和完善.zabbix拥有详细的UI界面和分组策略,在被监控的服务 ...
随机推荐
- Appium 如何模拟返回按键
from appium.webdriver import Remote driver.keyevent(4) python中点击返回键是这样写的 附录 keycode 电话键 KEYCODE_CALL ...
- 一、Python安装下载
下载地址:https://www.python.org/downloads/ 因为Python3.X和2.X有部分不兼容,有些不向下兼容,现在3.5的资料和插件少,故我就学习的2.7.11了; 下载后 ...
- 小故事学设计模式之Command : (一) 在永和豆浆店
IT的事就是过场多,过场多了就容易忘,所以我们不妨看一个记一个,这也是一个办法,顺便跟同行们学习交流一下)前几天出去拍照,饿到腿软, 回城附近有一家永和豆浆店, 我们决定去那边解决午餐.豆浆店里面还不 ...
- bzoj5000 OI树
Description 几天之后小跳蚤即将结束自己在lydsy星球上的旅行.这时,lydsy人却发现他们的超空间传送装置的能量早在小跳蚤通过石板来到lydsy星球时就已经消耗光了.这时,小跳蚤了解到自 ...
- Android笔记之 图片自由裁剪
前言--项目中须要用到对用户头像的裁剪和上传功能.关于裁剪.一開始是想自己来做,可是认为这个东西应该谷歌有开发吧,于是一搜索官方文档.果然有.于是.就果断无耻地用了Android自带有关于照片的自由裁 ...
- POJ 最小球覆盖 模拟退火
最小球覆盖:用半径最小的球去覆盖所有点. 纯粹的退火算法,是搞不定的,精度不够,不然就会TLE,根本跑不出答案来. 任取一点为球心,然后一点点靠近最远点.其实这才是最主要的. 因为:4个点确定一个球, ...
- MVC学习三:Razor视图引擎
1.Razor视图引擎,主要是把View的HTML代码编译到View视图类对象中
- 【洛谷P1108】低价购买
低价购买 题目链接 n<=5000 n^2的算法是可以接受的 第一个数字显然是求最长下降子序列,可以n^2或nlognDP 要求方案数,可以在n^2算法中做一些修改,DP求方案数 dp[i]表示 ...
- 学习scala trait
// 类接口,但是可以实现方法 // 作用 多重继承 trait traitA{ val tnum: Int def log(msg: String): Unit ={ println(" ...
- MYSQL添加外键关联
SELECT * from stu st,course co,score sc where st.sid = sc.sid and sc.cid = co.cid 如果我们要给 sid 做一个约束,即 ...