zabbix监控磁盘IO
zabbix3.4实现磁盘IO监控
一、zabbix监控磁盘IO实现原理
基本原理:通过分析工具iostat来对IO的性能进行监控。
yum install sysstat
二、编辑userparameter_mysql.conf文件
[root@host-47-98-97-124 scripts]# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d
[root@host-47-98-97-124 zabbix_agentd.conf.d]# vi userparameter_mysql.conf
UserParameter=disk.status[*],/usr/local/zabbix/scripts/disk-status.sh $1
[root@host-47-98-97-124 scripts]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
三、编写磁盘IO监控脚本
[root@host-47-98-97-124 scripts]# vi /usr/local/zabbix/scripts/disk-status.sh
#!/bin/bash
if [ $# -ne 1 ];then
echo "Follow the script name with an argument"
fi
case $1 in
rrqm)
iostat -dxk 1 1|grep -w vda |awk '{print $2}'
;;
wrqm)
iostat -dxk 1 1|grep -w vda |awk '{print $3}'
;;
rps)
iostat -dxk 1 1|grep -w vda|awk '{print $4}'
;;
wps)
iostat -dxk 1 1|grep -w vda |awk '{print $5}'
;;
rKBps)
iostat -dxk 1 1|grep -w vda |awk '{print $6}'
;;
wKBps)
iostat -dxk 1 1|grep -w vda |awk '{print $7}'
;;
avgrq-sz)
iostat -dxk 1 1|grep -w vda |awk '{print $8}'
;;
avgqu-sz)
iostat -dxk 1 1|grep -w vda |awk '{print $9}'
;;
await)
iostat -dxk 1 1|grep -w vda|awk '{print $10}'
;;
svctm)
iostat -dxk 1 1|grep -w vda |awk '{print $13}'
;;
util)
iostat -dxk 1 1|grep -w vda |awk '{print $14}'
;;
*)
echo -e "\e[033mUsage: sh $0 [rrqm|wrqm|rps|wps|rKBps|wKBps|avgqu-sz|avgrq-sz|await|svctm|util]\e[0m"
esac
注意: 上面脚本命令替换成此命令, iostat -x 1 2 |grep -w sda |tail -1 |awk '{print $3}' 此命令数值正常变量
四、监控配置
浮点数配置
间隔 | 历史记录 | 趋势 | 类型 | 应用集 | 状态 | |||||
---|---|---|---|---|---|---|---|---|---|---|
IO时间繁忙比率 | disk.status[util] | 30s | 90d | 365d | Zabbix 客户端 | disk_io | 已启用 | |||
平均IO队列长度 | disk.status[avgqu-sz] | 30s | 90d | 365d | Zabbix 客户端 | disk_io | 已启用 | |||
平均每次IO操作服务时间(毫秒) | disk.status[svctm] | 30s | 90d | 365d | Zabbix 客户端 | disk_io | 已启用 | |||
平均每次IO操作等待时间(毫秒) | disk.status[await] | 30s | 90d | 365d | Zabbix 客户端 | disk_io | 已启用 | |||
平均每次设备IO操作的数据大小(扇区) | disk.status[avgrq-sz] | 30s | 90d | 365d | Zabbix 客户端 | disk_io | 已启用 | |||
每秒写入数据量 | disk.status[wKBps] | 30s | 90d | 365d | Zabbix 客户端 | disk_io | 已启用 | |||
每秒完成写IO的次数 | disk.status[wps] | 30s | 90d | 365d | Zabbix 客户端 | disk_io | 已启用 | |||
每秒完成的读IO次数 | disk.status[rps] | 30s | 90d | 365d | Zabbix 客户端 | disk_io | 已启用 | |||
每秒对该设备写请求合并次数 | disk.status[wrqm] | 30s | 90d | 365d | Zabbix 客户端 | disk_io | 已启用 | |||
每秒对该设备读请求合并次数 | disk.status[rrqm] | 30s | 90d | 365d | Zabbix 客户端 | disk_io | 已启用 | |||
每秒读数据量(KB) | disk.status[rKBps] | 30s | 90d | 365d | Zabbix 客户端 | disk_io | 已启用 |