磁盘读写监控

磁盘自动发现

#!/bin/bash
diskarray=(`cat /proc/diskstats |grep -E "\bsd[abcdefg]\b|\bxvd[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 "\"{#DISK_NAME}\":\"${diskarray[$i]}\"}"
        if [ $i -lt $[$length-1] ];then
                printf ','
        fi
done
printf  "\n\t]\n"
printf "}\n"

对返回的磁盘名进行监控项的创建/磁盘写入统计信息
vfs.dev.read/write[, , ]
磁盘读取统计信息。
整数 - 类型 为 sectors,operations, bytes
Float - 类型 为 sps, ops, bps

device - 磁盘设备 (默认为 all)

type - 可能的值: sectors, operations, bytes, sps, ops, bps必须指定此参数,因为各种操作系统的默认值不同。
sps, ops, bps 表示: sectors, operations, bytes per second, respectively.

mode - 可能的值: avg1 (1分钟平均值, 默认), avg5, avg15.
如果要获取每秒改变值,可以在进程中添加每秒改变,倍数自定义。
此参数仅支持的类型为: sps, ops, bps.

不同操作系统的“类型”参数的默认值:
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes

示例:
⇒ vfs.dev.read[,operations]
在支持的平台上的sps, ops 和 bps 曾被限制为 8 个设备(7个独立的和1个 all). 从Zabbix
2.0.1 开始,这个限制提高到1024个设备(1023个独立的和1个all).
如果默认为全部用于第一个参数,那么该key将返回摘要统计信息,包括所有块设备,
如sda,sbd及其分区(sda1,sda2,sdb3 …)和基于这些块设备/分区的多个设备(MD raid)和基于
这些设备/分区的逻辑卷(LVM)。在这种情况下,返回值只能作为相对值(动态时间)而不是绝
对值。
LVM的支持从Zabbix 1.8.6开始。
直到Zabbix 1.8.6才能使用相关的设备名称(例如,sda)。 从那时起,可选的 /dev/前缀(例
如/dev/sda)必须被使用。
旧名称: io[*]

猜你喜欢

转载自www.cnblogs.com/0916m/p/11853903.html