应用平台 APPSTAGE-常用监控插件说明:diskio
diskio
插件类型
OS
功能说明
统计磁盘IO信息,每次采集将针对每个磁盘分别生成一条消息。
插件先从/proc/partitions获取全部物理磁盘及逻辑分区的名字、主次设备号。然后根据得到的磁盘名单,从/proc/diskstats提取每个物理磁盘或逻辑分区的读写数据,并进一步进行计算得到IO数据。
参数配置
配置样例:
_filter_disk_id:xvda,^1,^2 #筛选关键字
show_extra:true #是否按照磁盘分区生成多条消息
其中带“^”前缀的为反向筛选关键字(1、2),其余为正向筛选关键字(xvda),每条消息在最终生成之前,插件会先执行一次正向筛选(若disk_id的值包含xvda,则保留这条消息;反之则删掉。若没有配置正向筛选关键字,则跳过这步筛选,保留消息。)若该条消息得以保留,插件会继续执行一次反向筛选(若disk_id的值包含1或2当中的任一字段,则删掉这条消息;反之则保留。若没有配置反向筛选关键字,则跳过这步筛选,保留消息。)
show_extra为true时表示按照磁盘分区生成多条消息。
假设某台服务器执行cat /proc/partitions命令结果如图1所示,共7行数据,按照“_filter_disk_id:xvda,^1,^2”配置正反向过滤后,仅生成第1行xvda对应的消息。
消息样例及含义说明
{ "plugin_id": "diskio", "metric": { "node": "host-10-33-0-188", #单位: | 类型:string | 说明:主机名,消息来源标识 "timestamp": 1482161028000, #单位: | 类型:long long | 说明:UTC时间戳 "avgqu_sz": "0.0000", #单位: | 类型:double | 说明:平均I/O队列长度 "avgrq_sz": "0.0000", #单位:扇区| 类型:double | 说明:平均每次设备I/O操作的数据大小 "await": "0.0000", #单位:ms | 类型:double | 说明:平均每次设备I/O操作的等待时间 "disk_id": "xvda", #单位: | 类型:string | 说明:物理磁盘号/逻辑分区号 "r_await": "0.0000", #单位:ms | 类型:double | 说明:平均每次读请求等待时间 "rkbps": "0.0000", #单位:kB/s | 类型:double | 说明:读操作的kbps数, 单位为KByte/s "rps": "0.0000", #单位:次/s | 类型:double | 说明:每秒完成的读I/O设备次数 "rrqmps": "0.0000", #单位:次/s | 类型:double | 说明:每秒进行merge的读操作数目 "svctm": "0.0000", #单位:ms | 类型:double | 说明:平均每次设备I/O操作的服务时间 "tps": "0.0000", #单位:次/s | 类型:double | 说明:每秒完成的读写I/O设备总次数 "util": "0.0", #单位:% | 类型:double | 说明:磁盘IO利用率 "w_await": "0.0000", #单位:ms | 类型:double | 说明:平均每次写请求等待时间 "wkbps": "0.0000", #单位:kB/s | 类型:double | 说明:写操作的kbps数, 单位为KByte/s "wps": "0.0000", #单位:次/s | 类型:double | 说明:每秒完成的写I/O设备次数 "wrqmps": "0.0000" #单位:次/s | 类型:double | 说明:每秒进行merge的写操作数目 } }