iostat命令

先说一个坑把,在开始监控的时候使用命令iostat -dtkx,得到的结果看上去没问题,但是在web监控窗口数据就说不变动,为啥呢,因为iostat这个命令得到的第一个数据始终是磁盘从系统启动到现在的相关数值,这样如果系统很一直很平稳,得到的数值就不会有变化,除非一直很平稳,突然对磁盘的请求陡增,数值会改变。也就是iostat取得第一次数据并不是我们想要监控得数据;所以在监控脚本中需要使用iostat -dtkx 1 2每秒钟取两次数据,用第二次得数据来进行磁盘性能监控

相关参数解释

  • rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同的Block的数据,FS会将这个请求合并Merge)
  • wrqm/s:每秒这个设备相关的写入请求有多少被Merge了
  • r/s:每秒完成的读次数
  • w/s:每秒完成的写次数
  • rKB/s:每秒读数据量(kb为单位)
  • wKB/s:每秒写数据量
  • avgrq-sz:平均请求扇区的大小
  • avgqu-sz:是平均请求队列的长度,毫无疑问,队列长度越短越好
  • await:每一个IO请求处理的平均时间(单位是毫秒),这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。这个时间包括了队列时间和服务时间,也就是说,一般这种情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越在,队列时间越长,说明系统出了问题
  • svctm:表示平均每次设备I/O操作的服务时间(以毫秒为单位),如果svctm的值与await很接近,表示几乎没有I/O在等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢
  • %util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒处理IO,而0.2秒闲置,那么该设备的%util=0.8/1=80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必到了瓶颈)

@ 监控脚本

#/bin/sh
Device=$1
DISK=$2
case $DISK in
rrqm)
iostat -dxkt 1 2 grep "\b$Device\b"|tail -1|awk '{print $2}'
;;
wrqm)
iostat -dxkt 1 2 |grep "\b$Device\b"|tail -1|awk '{print $3}'
;;
rps)
iostat -dxkt 1 2 |grep "\b$Device\b"|tail -1|awk '{print $4}'
;;
wps)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $5}'
;;
rKBps)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $6}'
;;
wKBps)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $7}'
;;
avgrq-sz)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $8}'
;;
avgqu-sz)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $9}'
;;
await)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $10}'
;;
svctm)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $11}'
;;
util)
iostat -dxkt 1 2 |grep "\b$Device\b" |tail -1|awk '{print $12}'
;;
esac

脚本中得$Device代表你要监控得磁盘名,在配置zabbix_agent中,我直接写成了vda,如果还有其他磁盘,就需要配置两条UserParameter将传进去得vda改为其他磁盘就可以

@ 配置zabbix_agent

添加
UserParameter=disk.io[*],/usr/local/zabbix/sh/chk_io.sh vda $1

vda对应脚本中的Device, $1对应脚本中的DISK

@ 配置web监控项

例如: 磁盘每秒读数据量
对用脚本中rKBps项,键值为disk.io[rKBps]
要注意的是信息类型一定要选对,这里应该选择浮点型,不然会读取不到数据报错,默认为整数型

zabbix使用iostat命令参数监控磁盘性能的更多相关文章

  1. zabbix的日常监控-磁盘性能监控(十二)

    监控磁盘的性能 参考文章: https://wiki.enchtex.info/howto/zabbix/zabbix_iostat_monitoring https://blog.csdn.net/ ...

  2. 对zabbix监控磁盘性能的补充

    原因 在上一篇文章中,我写了完整的磁盘监控步骤,希望对大家有所帮助.但是这里还需要作出一点补充. 根据上一篇文章的内容,我是使用iostat命令不停的收集磁盘的信息,然后写入到/tmp/iostat_ ...

  3. iostat命令详解 IO性能分析

    简介 iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息.用户可以通过指定统计的次数和时间 ...

  4. linux iostat命令详解 磁盘操作监控工具

    Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视. 它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况. ...

  5. zabbix应用之Low-level discovery监控磁盘IO

    参考文章: http://qicheng0211.blog.51cto.com/3958621/1599776/ zabbix自带的"Template OS Linux"模板支持监 ...

  6. zabbix利用自带模板-监控mysql性能

    环境: zabbix3.4.4 mariadb 5.5.56 要求:  利用zabbix 自带的模板 监控mariadb 上的 并发连接数,慢查询数量,增删改查.请求流量带宽,mysql响应流量带宽等 ...

  7. iostat命令具体解释——linux性能分析

    之前总结uptime和free命令,今天继续来总结一下iostat.给自己留个笔记.同一时候也希望对大家实用. 版本号信息: sysstat version 9.0.4           (C) S ...

  8. 讨论一下TaskManager中监控磁盘性能的一些小问题

    今天研究了一下命令"diskperf -Y". 我把发现Share给了同事, 原文写在了下面, 就不翻译了. ^_^   Try this command (CMD or Powe ...

  9. zabbix实现对磁盘性能动态监控

    前言 zabbix一直是小规模互联网公司服务器性能监控首选,首先是免费,其次,有专门的公司和社区开发维护,使其稳定性和功能都在不断地增强和完善.zabbix拥有详细的UI界面和分组策略,在被监控的服务 ...

随机推荐

  1. Anaconda教程

      python虚拟环境 当安装新的外部python包时,为了保证原版python的纯净,避免其他项目调试时出现错误,可使用Anaconda创建虚拟python进行调试和操作 创建新的虚拟环境(Win ...

  2. linux下使用ntfs-3g挂载NTFS出错

    挂载报错如下图: 根据图中的报错:The disk contains an unclean file system (0, 0). 在网上搜索了一下原因,由于之前Windows系统未被正常关闭产生了错 ...

  3. 通过bat设置系统环境变量

    在软件运行过程中,可能需要配置计算机的环境变量,在这里分为两种情况: 一:增加或修改环境变量只在当前软件环境中使用 如我们设置Java的环境变量: set CLASSPATH=%CLASSPATH%; ...

  4. day6-基础 装饰器,生成器,迭代器

    1.装饰器 定义:给其他函数装饰(添加附加功能)的函数 原则:1.不能修改被装饰的函数的源代码.    2.不能修改北庄施的函数的调用方式 实现所需要求:1.函数即便量    2.高阶函数 3.嵌套函 ...

  5. 如何安全移除dataguard和如何安全移除备库并把备库变成一个单独的数据库

    参考MOS:How To Remove Standby Database And Convert It to Standalone Database (文档 ID 2074686.1) How to ...

  6. SQA计划与测试规程

    长大一条龙之SQA计划与测试规程 一.SQA计划 1.软件工程 我们之进行开发之前,在弄完需求分析的前提下,进行了软件一些列的建模和评估,我们建立了基于类的模型图类图,基于场景的模型图流程图,再对这些 ...

  7. Jerry的Fiori原创文章合集

    我曾经于2014年10月到2016年5月工作于SAP CRM Fiori应用的开发团队, 我所在的团队负责下列这8个Fiori应用的维护和持续开发: My Opportunities My Tasks ...

  8. oracle数据库中创建表空间和临时表空间,以及用户和密码以及设置密码永不过期

    首先进入oracle用户,命令是: su - oracle sqlplus /nolog connect system/123456@ora11g 或者 [oracle@localhost ~]$   ...

  9. 2018_MCM_ICM_C

  10. 【[Violet]樱花】

    就是化柿子 我们求 \[\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}\] 的正整数解的个数 喜闻乐见的化柿子了 \[\frac{x+y}{xy}=\frac{1}{n!}\ ...