Zabbix系列之七——添加磁盘IO监测

zabbix给我们提供了一些较常用的监控模板,但现在我们如果想要监控我们磁盘的IO,这时候zabbix并没有给我们提供这么一个模板,所以我们需要自己来创建一个模板来完成磁盘IO的监控。

1、

[root@pcidata-svr1 ~]# iostat
Linux 2.6.32-431.el6.x86_64 (pcidata-svr1)     2018年10月31日     _x86_64_    (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.93    0.00    0.74    0.65    0.00   97.68

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.00         0.00         0.00        360          0
sda              48.42        11.98      1768.03  128702020 18988493968

在linux系统中可以使用iostat命令查看磁盘io性能,单独执行iostat,显示的结果为从系统开机到当前执行时刻的统计信息。以上输出中,除最上面指示系统版本、主机名和日期的一行外,另有两部分:
avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值;
Device: 各磁盘设备的IO统计信息.
2、

[root@pcidata-svr1 ~]# iostat -dxkt
Linux 2.6.32-431.el6.x86_64 (pcidata-svr1)     2018年10月31日     _x86_64_    (4 CPU)

2018年10月31日 10时05分17秒
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
scd0              0.00     0.00    0.00    0.00     0.00     0.00     8.00     0.00    1.07   1.07   0.00
sda               0.01   172.80    0.21   48.21     5.99   884.02    36.77     0.15    3.18   1.38   6.66

rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并
wrqm/s: 每秒对该设备的写请求被合并次数
r/s: 每秒完成的读次数
w/s: 每秒完成的写次数
rkB/s: 每秒读数据量(kB为单位)
wkB/s: 每秒写数据量(kB为单位)
avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
avgqu-sz: 平均等待处理的IO请求队列长度
await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
svctm: 平均每次IO请求的处理时间(毫秒为单位)
%util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率
3、接下来我们在agentd中添加自定义监控项
在/etc/zabbix/zabbix_agentd.d下添加userparameter, 文件内容如下:  

UserParameter=custom.vfs.dev.read.[*],cat /home/zabbix/disk.txt |grep $1 |tail -1 |awk '{print $$3}'
UserParameter=custom.vfs.dev.write.[*],cat /home/zabbix/disk.txt |grep $1 |tail -1 |awk '{print $$4}'

4、然后在后台写个脚本生成的记录保存到disk.txt中。
[zabbix@pdrac01 ~]$ cat IO_Status.sh
#!/bin/bash
iostat 20 >> disk.txt

 5、配置zabbix模板
 
 key值添加相应盘符:custom.vfs.dev.read.[sde]
 
 6、最后呈现的图形结果


 

原文地址:https://www.cnblogs.com/Dev0ps/p/9881622.html