您的位置:首页 > 运维架构 > Shell

linux服务器硬盘监控-shell脚本

2014-05-26 23:55 267 查看
一、监测系统硬盘根分区使用情况,当使用超过80%时报警

vim /scripts/hd-warning.sh 

#取当前根分区(假如是/dev/sda3)已用的百份比值(只取整数部分)  

disk_sda3=`df -h | grep /dev/sda3 | awk '{print $5}' | cut -f 1 -d "%"`
 

 

#设置空闲硬盘容量的告警值为80%,如果当前硬盘使用超过80%,立即发邮件告警  

if (($disk_sda3 > 80)); then
 

      echo "$IP 服务器 /根分区 使用率已经超过80%,请及时处理。" | mutt -s "$IP 服务器硬盘告警"  test@163.com  

fi   
二、使用top查看io性能



大家观察Cpu(s)这行的0.0%wa,这个是说I/O等待所占用的cpu时间比,一般来说,超过30%时I/O压力较大(本人没有测试0.0!)

三、使用iostat查看io性能

注意:使用iostat时请先安装   #yum -y install sysstat(这里需要安装sysstat,安装后就可以执行iostat)



1、%iowait :IO等待时间,这里取得是平均值,可以从top看出wa数值在%iowai左右波动,因此这里取得结论和上面一样。

2、%util:一秒内IO操作所占的比例,如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

3、%idle:cpu空闲所占比率,这个的话相当于一个参考,空闲太低,io等待回越长。。。。

四、使用硬盘操作查看工具 iotop查看io详细情况

请先安装

#yum
-y install iotop

如果你知道有程序在磨你的硬盘,但是你又不能确定是哪一个程序在磨你的硬盘,那么就用
iotop来帮助你吧。它可以实时监测进程对硬盘的读写操作!



用法 iotop -参数

-–version 查看版本信息的

-h, -–help 查看
4000
帮助信息的

-o, –only 只显示在划硬盘的程序

-b, –batch 批量处理 用来记录日志的

-n NUM  设定循环几次

-d SEC, –-delay=SEC  设定显示时间间隔。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息