zabbix3.4实现磁盘IO监控
一、zabbix监控磁盘IO实现原理
基本原理:通过分析工具iostat来对IO的性能进行监控。
此处有iostat命令详解介绍:https://blog.csdn.net/m0_37814112/article/details/80661481
二、编辑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
四、创建磁盘监控IO模板
4.1 创建模板
4.2 为模板创建application
4.3 为模板创建item
注:
1、由于iostat获取的数据都是带有浮点型的,所以选择数据类型应为:Numeric(float)。
2、对于多台主机的磁盘IO监控,我们的思路是先创建磁盘IO监控模板–>创建application—>item。然后对台主机都可以应用这个模板,不用每一台主机都重新添加item,减少重复性操作。
五、grafana监控磁盘IO效果图