资讯专栏INFORMATION COLUMN

使用shell来监控linux的io

dongxiawu / 688人阅读

摘要:其实一般企业中都是使用来监控的,但是这里个人空闲写了一个通过定时执行脚本并记录,来监控下,直接上脚本了。

其实一般企业中都是使用zabbix来监控的,但是这里个人空闲写了一个shell通过crontab定时执行shell脚本并记录,来监控下io,直接上shell脚本了。

#!/bin/bash

date=`date -d today +%Y%m%d`

#判断是否存在目录
if [ ! -d "$HOME/sunshine" ]
then
    mkdir "$HOME/sunshine"
fi

#判断是否存在文件
if [ ! -f "$HOME/sunshine/$date.log" ]
then
    touch "$HOME/sunshine/$date.log"
fi

# function handle
function monitor()
{
    # 获取函数参数
    iowait_val=$1
  
    #CPU: ps aux | grep -v PID | sort -nr -k +3 | head
    #MEM: ps aux | grep -v PID | sort -nr -k +4 | head

    time_now=`date -d today +%H:%M:%S`

    echo -e "==========$time_now=======IO:$iowait_val======
" >> $HOME/sunshine/$date.log

    echo -e "---------CPU----------
" >> $HOME/sunshine/$date.log
    $(ps aux | grep -v PID | sort -nr -k +3 | head >> $HOME/sunshine/$date.log)

    echo -e "
---------MEM----------
" >> $HOME/sunshine/$date.log
    $(ps aux | grep -v PID | sort -nr -k +4 | head >> $HOME/sunshine/$date.log)
   
    # 不采用这种方式,即便上加上了-e也会导致数据格式混乱
    #echo  $content > $HOME/sunshine/$date.log
}

#提取iowait值
iowait_val=$(iostat -c  | grep -v avg | grep "[^/s]" | grep -v Li | awk  "{print $4}")

#将浮点数处理成整数
val=$(echo "scale=0; $iowait_val/1"|bc)

#比较大小
if [ $val -ge  15 ]
then
    echo "iowait is"$iowait_val
    monitor $iowait_val
fi

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/9601.html

相关文章

  • Linux之《荒岛余生》(一)准备篇

    摘要:我们的目的,就像是荒岛余生一样找到一个信念,在最残酷的环境中,生存下去。监控值排查问题也是有过程的。比如饱和度一般指资源已完全使用,新请求在特定里排队。 xin片之争,已经暴露了中国xin的问题,我等码农束手无策;而在操作系统方面,成果也是乏善可陈;现如今酷炫的Web监控工具,让很多研发丧失了真正处理问题的能力。 越接近底层,就越接近真相,在计算机的世界,同样适用。 我们的目的,就像是...

    qpal 评论0 收藏0
  • Linux之《荒岛余生》(一)准备篇

    摘要:我们的目的,就像是荒岛余生一样找到一个信念,在最残酷的环境中,生存下去。这样,会有很多地方会发生。监控值排查问题也是有过程的。比如饱和度一般指资源已完全使用,新请求在特定里排队。 xin片之争,已经暴露了中国xin的问题,我等码农束手无策;而在操作系统方面,成果也是乏善可陈;现如今酷炫的Web监控工具,让很多研发丧失了真正处理问题的能力。 越接近底层,就越接近真相,在计算机的世界,同样...

    douzifly 评论0 收藏0
  • PHP程序员学习路线

    摘要:第一阶段基础阶段基础程序员重点把搞熟练核心是安装配置基本操作目标能够完成基本的系统安装,简单配置维护能够做基本的简单系统的开发能够在中型系统中支持某个功能模块的开发。本项不做重点学习,除非对前端有兴趣。 第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作) 目标:能够完成基本的LNMP系统安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在P...

    genedna 评论0 收藏0
  • 跨平台fswatch+rsync同步备份

    摘要:是非常好用,但是只是极好的而已。上的替代方案是,而且可以跨平台运行但是目前发现只有支持的最好。在其官方说明上,也例数了当前最常用的各种等的缺点。至于的实现原理,这要涉及到内核的多任务运行机制。 rsync是非常好用,但是只是极好的cp而已。如果要监控本地某些文件变化,自动上传,还需要配合其它监控工具。一般都叫watch, notify什么的。最有名的是inotify。但是inotify...

    Ilikewhite 评论0 收藏0
  • 技术分享 | Linux 入侵检测中进程创建监控

    摘要:简介在入侵检测的过程中,进程创建监控是必不可少的一点,因为攻击者的绝大多数攻击行为都是以进程的方式呈现,所以及时获取到新进程创建的信息能帮助我们快速地定位攻击行为。 作者简介:张博,网易高级信息安全工程师。 0x00 简介 在入侵检测的过程中,进程创建监控是必不可少的一点,因为攻击者的绝大多数攻击行为都是以进程的方式呈现,所以及时获取到新进程创建的信息能帮助我们快速地定位攻击行为。 本...

    kevin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<