添加硬盘发现的脚本
[root@jxq-10-0-2-101 opt]# more discovery.sh
#!/bin/bash
#script name:partition_low_discovery.sh
#Fucation:zabbix low-level discovery
partition() {
port=($(grep -E "(vd[a-z]$|sd[a-z]$)" /proc/partitions|awk '{print $4}'))
printf '{\n'
printf '\t"data":[\n'
for key in ${!port[@]}
do
if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then
printf '\t {\n'
printf "\t\t\t\"{#PARTITIONNAME}\":\"${port[${key}]}\"},\n"
else [[ "${key}" -eq "((${#port[@]}-1))" ]]
printf '\t {\n'
printf "\t\t\t\"{#PARTITIONNAME}\":\"${port[${key}]}\"}\n"
fi
done
printf '\t ]\n'
printf '}\n'
}
$1
在zabbix客户端添加
#Monitor Disk_IO
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 |awk '{print $$4}'
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}'
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'
UserParameter=zabbix_partition_discovery[*],/bin/bash /opt/discovery.sh $1
重启zabbix客户端
导入模板
http://con.ins.gennlife.cn/download/attachments/12879453/Template%20partition%20Auto%20Discovery.xml?version=1&modificationDate=1514859876129&api=v2&download=true
发现协议是3600秒 一个小时之后会添加IO监控项
在zabbix添加硬盘正则表达式,管理->一般->右侧下来条选择“正则表达式”->创建正则表达式:
名称:Partition regex
表达式:^(vda|vdb|vdc|vdd|vde|vdf|vdg|sda|sdb|sdc|sdd|sde|sdf|sdg|xvda|xvdb|xvdc|xvdd|xvde|xvdf|xvdg|xvdh|xvdi|xvdj|xvdk|xvdq|xvdl)$
期望的结果:结果为真