zabbix4.4监控硬盘IO

1、简介

    zabbix4.4可以方便的监控硬盘IO,目前监控了硬盘的9个参数,现在要加上一个MBps的监控;这个过程在界面上可以快速的添加;本文的思路是iostat中显示的读写扇区的大小、iostat中显示的读写硬盘的速度的关联,这两者在man的iostat中有说明,两个值差一半;

【请注意,这里使用了zabbix4.4的硬盘监控的默认模板,图中的“类型:相关项目”是重点,更多内容在“zabbix的键值key说明”文章中】,zabbix5.0没找到Template Module Linux Block device模板。

2、详细步骤

    如下面的图的过程,添加了监控;   

下图中的键值“writeSpeed”是随便写的,他的值来自图中的“进程”,进程内容见“图2”

 下图中,读是/proc/diskstats中的第5个参数,写是/proc/diskstats中的第9个参数;

                                                                                         图2

 

3、监控效果对比

    步骤:建立一个大文件--》查看硬盘写入速度

[root@ali ~]# dd if=/dev/zero of=test.dbf bs=8k count=300000  oflag=direct
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 140.26 s, 17.5 MB/s
[root@ali ~]# 

[root@ali ~]# iostat -d -x -m -y 10 2
Linux 2.6.32-696.16.1.el6.x86_64 (ali)  05/03/2020      _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.70    0.00 2140.10     0.00    16.72    16.00     0.99    0.46    0.00    0.46   0.46  99.44
vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

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.80    0.00 2139.30     0.00    16.71    16.00     1.00    0.47    0.00    0.47   0.47  99.50
vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
[root@ali ~]#

    从这个iostat的结果看到,和监控图的流量类似,说明监控结果相同;

4、总结

    本次是从“zabbix4.4”的键值开始分析,从/proc/diskstats取数据获取流量;iostat中的数据来自/proc/diskstats;

    1)首先看看/proc/diskstats文件的列,都有哪些

/proc/diskstats文件从左至右分别对应主设备号,次设备号和设备名称。后续的11个域在下面解释。除了第9个域,所有的域都是从启动时的累积值。
[root@ali ~]# cat /proc/diskstats 
 252       0 vda 10813 5143 1264274 14515 3766417 78391 60728264 2128799 0 1759722 2143288
 252       1 vda1 10648 5143 1262954 14439 3766281 78391 60728264 2128759 0 1759667 2143172
 252      16 vdb 183 10 1544 69 0 0 0 0 0 68 68
[root@ali ~]# 
  第1个域:读完成次数 ----- 读磁盘的次数,成功完成读的总次数。
  第2个域:合并读完成次数,为了效率可能会合并相邻的读和写。从而两次4K的读在它最终被处理到磁盘上之前可能会变成一次8K的读,才被计数(和排队),因此只有一次I/O操作。这个域使你知道这样的操作有多频繁。
  第3个域:读扇区的次数,成功读过的扇区总次数。
  第4个域:读花费的毫秒数,这是所有读操作所花费的毫秒数(用__make_request()到end_that_request_last()测量)。
  第5个域:写完成次数 ----写完成的次数,成功写完成的总次数。
  第6个域:合并写完成次数 -----合并写次数。
  第7个域:写扇区次数 ---- 写扇区的次数,成功写扇区总次数。
  第8个域:写操作花费的毫秒数  ---  写花费的毫秒数,这是所有写操作所花费的毫秒数(用__make_request()到end_that_request_last()测量)。
  第9个域:正在处理的输入/输出请求数 -- -I/O的当前进度,只有这个域应该是0。当请求被交给适当的request_queue_t时增加和请求完成时减小。
  第10个域:输入/输出操作花费的毫秒数  ----花在I/O操作上的毫秒数,这个域会增长只要field 9不为0。
  第11个域:输入/输出操作花费的加权毫秒数 -----  加权, 花在I/O操作上的毫秒数,在每次I/O开始,I/O结束,I/O合并时这个域都会增加。这可以给I/O完成时间和存储那些可以累积的提供一个便利的测量标准。

    2)下面看看iostat的命令的内容;其中-k、-y是重点;

[root@ali ~]# man iostat
              rsec/s
                     The number of sectors read from the device per second.
              wsec/s
                     The number of sectors written to the device per second.
              rkB/s
                     The number of kilobytes read from the device per second.
              wkB/s
                     The number of kilobytes written to the device per second.
              %util
                     Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device).  Device saturation occurs when this value is close to 100%.
OPTIONS
       -h     Make the NFS report displayed by option -n easier to read by a human.
       -k     Display statistics in kilobytes per second instead of blocks per second.  Data displayed are valid only with kernels 2.4 and later.
       -m     Display statistics in megabytes per second instead of blocks or kilobytes per second.  Data displayed are valid only with kernels 2.4
              and later.
       -x     Display extended statistics.  This option works with post 2.5 kernels since it needs /proc/diskstats file or a mounted sysfs  to  get the statistics. This option may also work with older kernels (e.g. 2.4) only if extended statistics are available in /proc/partitions   (the kernel needs to be patched for that).
       -y     Omit first report with statistics since the system boot, if displaying multiple records in given interval.
       -z     Tell iostat to omit output for any devices for which there was no activity during the sample period.
[root@ali ~]# 

    下面看看iostat使用不同参数的结果;查看wec/s和wMB/s两者的值是不是差一半;

[root@ali ~]# iostat -d -x -y 10 2
Linux 2.6.32-696.16.1.el6.x86_64 (ali)  05/03/2020      _x86_64_        (4 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     4.70    0.00 2140.50     0.00 34274.40    16.01     1.00    0.47    0.00    0.47   0.46  99.47
vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     0.70    0.00 2139.70     0.00 34236.00    16.00     0.99    0.46    0.00    0.46   0.46  99.43
vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
[root@ali ~]# 

 

[root@ali ~]# iostat -d -x -m -y 10 2
Linux 2.6.32-696.16.1.el6.x86_64 (ali)  05/03/2020      _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.70    0.00 2140.10     0.00    16.72    16.00     0.99    0.46    0.00    0.46   0.46  99.44
vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

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.80    0.00 2139.30     0.00    16.71    16.00     1.00    0.47    0.00    0.47   0.47  99.50
vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
[root@ali ~]#

 

/proc/diskstats内容说明参考1:https://www.cnblogs.com/dachenzi/p/8232001.html

时间:2020-05-03

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值