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. redis缓存技术在java中的应用

    https://blog.csdn.net/zhh1072773034/article/details/78538012

  2. May 27th 2017 Week 21st Saturday

    I learned the value of hard work by working hard. 只有真的努力了,才会知道努力的价值. I remember in the movie, The Da ...

  3. postgres循环sql

    CREATE OR replace function loop_addDevice(i integer) RETURNS integer as $$ declare count alias ; all ...

  4. Android(java)学习笔记4:线程的控制

    1. 线程休眠: Java中线程休眠指让正在运行的线程暂停执行一段时间,进入阻塞状态,通过调用Thread类的静态方法sleep得以实现. 当线程调用sleep进入阻塞状态后,在其休眠的时间内,该线程 ...

  5. 动态规划(DP),最长递增子序列(LIS)

    题目链接:http://poj.org/problem?id=2533 解题报告: 状态转移方程: dp[i]表示以a[i]为结尾的LIS长度 状态转移方程: dp[0]=1; dp[i]=max(d ...

  6. [USACO09FEB] Revamping Trails 【分层图+Dijkstra】

    任意门:https://www.luogu.org/problemnew/show/P2939 Revamping Trails 题目描述 Farmer John dutifully checks o ...

  7. POJ 2182 Lost Cows 【树状数组+二分】

    题目链接:http://poj.org/problem?id=2182 Lost Cows Time Limit: 1000MS   Memory Limit: 65536K Total Submis ...

  8. 2018.12.24 Spring中的aop演示(也就是运用aop技术实现代理模式)

    Aop的最大意义是:在不改变原来代码的前提下,也不对源代码做任何协议接口要求.而实现了类似插件的方式,来修改源代码,给源代码插入新的执行代码. 1.spring中的aop演示 aop:面向方面编程.不 ...

  9. 2018年暑假ACM个人训练题9(动态规划)解题报告

    A:m段最大字段和问题 https://www.cnblogs.com/yinbiao/p/9314528.html B:map的使用(根本就不是dp!!!) https://www.cnblogs. ...

  10. SyncUI跨设备同步

    SynUI控制代码 <script type="text/javascript"> /* SyncUI script (Learn more at http://syn ...