#:编写监控脚本 root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# vim iotop_total.sh #!/bin/bash #Date: 2016/11/11 #Author:zhangjie disk_read(){ NUM=`/usr/bin/sudo iotop -b -n 3 | grep "Total DISK READ" | grep -v grep | awk -F "|" '{print $1}' | awk -F ":" '{print $2}' | tail -n1 | awk -F "/" '{print $1}'` NUM2=`echo $NUM | awk '{print $1}'` UNIT=`echo $NUM | awk '{print $2}'` if [ $UNIT == "B" ];then echo $NUM2 elif [ $UNIT == "K" ];then NUM3=$(echo "$NUM2 * 1024" | bc) echo $NUM3 elif [ $UNIT == "M" ];then NUM3=$(echo "$NUM2 * 1024 * 1024" | bc) echo $NUM3 elif [ $UNIT == "G" ];then NUM3=$(echo "$NUM2 * 1024 * 1024 * 1024" | bc) echo $NUM3 fi } disk_write(){ NUM=`/usr/bin/sudo iotop -b -n 3 | grep "Total DISK WRITE :" | grep -v grep | awk -F "|" '{print $2}' | awk -F ":" '{print $2}' | tail -n1 | awk -F "/" '{print $1}'` NUM2=`echo $NUM | awk '{print $1}'` UNIT=`echo $NUM | awk '{print $2}'` if [ $UNIT == "B" ];then echo $NUM2 elif [ $UNIT == "K" ];then NUM3=$(echo "$NUM2 * 1024" | bc) echo $NUM3 elif [ $UNIT == "M" ];then NUM3=$(echo "$NUM2 * 1024 * 1024" |BC) echo $ NUM3 elif [$ UNIT == " G " ]; the then NUM3 = $ ( echo " $ NUM2 * 1024 * 1024 * 1024 " | BC) echo $ NUM3 Fi } main () { Case $ . 1 in with disk_read) with disk_read; ;; DISK_WRITE) DISK_WRITE; ;; Esac } main $ . 1 #: configuration Parameter (note file storage location) the root @ Ubuntu: / etc / ZABBIX /zabbix_agentd.conf.d# vim linux37.conf UserParameter=io_stats[*],/etc/zabbix/zabbix_agentd.conf.d/iotop_total.sh "$1"
#:修改权限
root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# chmod a+x iotop_total.sh
root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# chown zabbix.zabbix linux37.conf
#:重启服务
root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# systemctl restart zabbix-agent
#;在本机测试一下
root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# bash iotop_total.sh disk_read
#:在server端测试
root@ubuntu:~# /apps/zabbix_server/bin/zabbix_get -s 192.168.7.112 -p 10050 -k "io_stats[disk_read]"
0.00
Create a template to create web end ---- monitored item (this item script monitoring units have been converted to B) - to create a trigger to create graphics ---- ---- association template
Case