Zabbix 监控磁盘IO
2015-03-23 by dongnan
Zabbix Screen
Disk IO
Disk BandWidth
目标
使用 zabbix 采集磁盘IO
数据。
步骤
编辑配置文件
vim `zabbix_agentd.conf`
添加类似如下内容
UserParameter=iostat[*],/var/lib/zabbix/iostat.sh $1
创建任务计划
* * * * * /usr/bin/iostat -d -x -k 1 2 xvda | awk '/xvda/ && NR==7' > /tmp/iostat.txt
# 注意,磁盘这里为 xvda 请根据实际情况填写。
重启Agent
/etc/init.d/zabbix-agent restart
Shell脚本
脚本代码
#!/bin/bash
#crontab
#* * * * * /usr/bin/iostat -d -x -k 1 2 xvda | awk '/xvda/ && NR==7' > /tmp/iostat.txt
#iostat -d -x -k 1 2 xvda
#Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
#xvda 0.00 10.00 0.00 10.00 0.00 152.00 15.20 0.00 0.20 0.20 0.20
#variables
item="$1"
tmp_file='/tmp/iostat.txt'
#functions
check_var() {
if [ -e "$tmp_file" ] ;then
return 0
else
echo 0
return 1
fi
}
#main
case "$1" in
await)
check_var $1 && awk '{print $10}' $tmp_file
;;
read)
check_var $1 && awk '{print $4}' $tmp_file
;;
svctm)
check_var $1 && awk '{print $11}' $tmp_file
;;
write)
check_var $1 && awk '{print $5}' $tmp_file
;;
*)
echo "Usage: $0 {await|read|svctm|write} disk"
echo "Example: $0 read xvda"
exit 1
;;
esac
赋予权限
chown zabbix.zabbix iostat.sh
chmod 755 iostat.sh
模板
模板下载地址
使用模板
路径:导入模板 -> 为主机分配模板。
验证
测试,如果有返回值表示自定义参数成功
zabbix_get -s 127.0.0.1 -k 'iostat[read]'
15