1.通过iostat命令去查看磁盘IO情况
要使用iostat命令需要安装sysstat
yum -y install sysstat
2.iostat的一些用法参数
iostat查看关于磁盘的信息
iostat -d
iostat -d 1 每一秒刷新一次
iostat -dxm 使用-m参数才扩展查看关于IO的性能参数
参数解释:
rrqm/s 每秒进行merge的读操作数目
wrqm/s 每秒进行merge的写操作数目
r/s 每秒完成的读I/O设备次数
w/s 每秒完成的写I/O 设备次数
rMB/s 每秒读的兆数
wMB/s 每秒写的兆数
avgrq-sz 平均请求扇区的大小
avgqu-sz 平均请求队列的长度
await 每个IO请求的处理的平均时间(毫秒)
svctm 每次IO操作的服务时间(毫秒)
%util 每一秒中有百分之多少时间用于I/O 操作 100% 就说明I/O 请求已经存在瓶颈
3.编写shell脚本来获取磁盘IO参数
cat check_disk_IO.sh
#!/bin/bash IO_message=`iostat -dxm | grep $2` rrqm_s () { echo $IO_message | awk '{print $2}' } wrqm_s () { echo $IO_message | awk '{print $3}' } read_s () { echo $IO_message | awk '{print $4}' } write_s () { echo $IO_message | awk '{print $5}' } rMB_s () { echo $IO_message | awk '{print $6}' } wMB_s () { echo $IO_message | awk '{print $7}' } avgrq_sz () { echo $IO_message | awk '{print $8}' } avgqu_sz () { echo $IO_message | awk '{print $9}' } await () { echo $IO_message | awk '{print $10}' } svctm () { echo $IO_message | awk '{print $11}' } util () { echo $IO_message | awk '{print $12}' } $1
调用此脚本的时候传参的时候 $1是要调用的什么方法,$2是需要查看那个磁盘的IO
4.添加agent模板
vim userparameter_my.conf
UserParameter=monitor_disk_IO[*],/bin/bash /etc/zabbix/shell/check_disk_IO.sh "$1" "$2"
5.不再演示如何创建web端监控项