1.自动发现磁盘组的io使用率
https://blog.csdn.net/bobpen/article/details/53408214
(1).在zabbix agent获取硬盘信息,可通过下述脚本获取信息disk_test.sh
#cd /etc/zabbix/alertscripts
#chmod 755 disk_test.sh
# cat disk_test.sh
#!/bin/bash diskarray=(`cat /proc/diskstats |grep -E "\bsd[abcdefg]\b|\bvd[abcdefg]\b"|grep -i "\b$1\b"|awk '{print $3}'|sort|uniq 2>/dev/null`) length=${#diskarray[@]} printf "{\n" printf '\t'"\"data\":[" for ((i=0;i<$length;i++)) do printf '\n\t\t{' printf "\"{#TESTNAME}\":\"${diskarray[$i]}\"}" if [ $i -lt $[$length-1] ];then printf ',' fi done printf "\n\t]\n" printf "}\n"
[root@ip-10-10-0-16 alertscripts]# bash disk_test.sh { "data":[ {"{#TESTNAME}":"vda"}, {"{#TESTNAME}":"vdb"} ] }
(2).通过iostat获取硬盘性能信息,并将该信息写入文本中
# nohup iostat -m -x -d 30 >> /tmp/iostat_output
[root@ip-10-10-0-16 alertscripts]# cat /tmp/iostat_output Linux 3.10.0-693.el7.x86_64 (test-136) 01/21/2019 _x86_64_ (4 CPU) Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util vda 0.00 0.08 0.03 9.30 0.00 0.01 3.61 0.16 17.01 205.19 16.42 5.02 4.68 dm-0 0.00 0.00 0.03 8.87 0.00 0.01 3.76 0.21 23.78 215.92 23.17 5.26 4.68 dm-1 0.00 0.00 0.00 0.02 0.00 0.00 8.03 0.01 579.95 469.01 588.13 7.84 0.02 vdb 0.00 0.02 0.09 2.18 0.00 0.04 35.56 0.09 40.55 43.65 40.42 20.51 4.67 dm-2 0.00 0.00 0.09 2.17 0.00 0.04 35.71 0.12 52.44 43.69 52.82 20.60 4.67
(3).自定义key
第一条io.disktest是自动获取disk_name的脚本
第二条io.test是获取io的脚本(根据iostat_output每个值的意思来自定义)
[root@ip-10-10-0-16 zabbix_agentd.d]# cat userparameter_port.conf UserParameter=io.disktest[*],/etc/zabbix/alertscripts/disk_test.sh $1 UserParameter=io.test[*],cat /tmp/iostat_output|grep "\b$1\b" |tail -1|awk '{print $$5}'
(4)重启服务
# systemctl restart zabbix-agent.service
(5).zabbix-server端的zabbix_get测试
[root@ip-10-10-0-14 ~]# zabbix_get -s 10.10.0.16 -k io.disktest { "data":[ {"{#TESTNAME}":"vda"}, {"{#TESTNAME}":"vdb"} ] } [root@ip-10-10-0-14 ~]# zabbix_get -s 10.10.0.16 -k io.test[vda] 9.30 [root@ip-10-10-0-14 ~]# zabbix_get -s 10.10.0.16 -k io.test[vdb] 2.18
(6).在zabbix-service web界面添加
配置--主机--选择主机的自动发现--创建发现规则--名称,健值 io.disktest
--监控项原型--名称 io on $1,健值 io.test[{#TESTNAME}]
--触发器类型--表达式添加监控项 选择原型,
--图形原型--监控项 添加原型
(7)检查主机的监控项,触发器,图形会发现自动添加完成