105
cd /etc/zabbix/zabbix_agentd.d/
#脚本
cat iotop_total.sh
#!/bin/bash
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" ];then
NUM3=$(echo "$NUM2 * 1024 * 1024 * 1024" | bc)
echo $NUM3
fi
}
main(){
case $1 in
disk_read)
disk_read;
;;
disk_write)
disk_write;
;;
esac
}
main $1
添加执行权限
chmod a+x iotop_total.sh
vim linux01.conf
UserParameter=monitor_io[*],/etc/zabbix/zabbix_agentd.d/iotop_total.sh "$1
重启服务
systemctl restart zabbix-agent
101
zabbix_get -s 192.168.37.105 -p 10050 -k "monitor_io[disk_read]"
0.00
创建模板
创建监控项
磁盘读取
磁盘写入
创建图形
关联模板
修改模板
添加报警
内存
内存小于4G报警