为大家提供五个常用Linux监控脚本(查看主机网卡流量、系统状况监控、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告、监控CPU和内存的使用情况、全方位监控主机),有需要的朋友不妨看看哦!

1、查看主机网卡流量

  1. #!/bin/bash
  2. #network
  3. #Mike.Xu
  4. while : ; do
  5. time='date +%m"-"%d" "%k":"%M'
  6. day='date +%m"-"%d'
  7. rx_before='ifconfig eth0|sed -n "8"p|awk '{print $2}'|cut -c7-'
  8. tx_before='ifconfig eth0|sed -n "8"p|awk '{print $6}'|cut -c7-'
  9. sleep 2
  10. rx_after='ifconfig eth0|sed -n "8"p|awk '{print $2}'|cut -c7-'
  11. tx_after='ifconfig eth0|sed -n "8"p|awk '{print $6}'|cut -c7-'
  12. rx_result=$[(rx_after-rx_before)/256]
  13. tx_result=$[(tx_after-tx_before)/256]
  14. echo "$time Now_In_Speed: "$rx_result"kbps Now_OUt_Speed: "$tx_result"kbps"
  15. sleep 2
  16. done

2、系统状况监控

  1. #!/bin/sh
  2. #systemstat.sh
  3. #Mike.Xu
  4. IP=192.168.1.227
  5. top -n 2| grep "Cpu" >>./temp/cpu.txt
  6. free -m | grep "Mem" >> ./temp/mem.txt
  7. df -k | grep "sda1" >> ./temp/drive_sda1.txt
  8. #df -k | grep sda2 >> ./temp/drive_sda2.txt
  9. df -k | grep "/mnt/storage_0" >> ./temp/mnt_storage_0.txt
  10. df -k | grep "/mnt/storage_pic" >> ./temp/mnt_storage_pic.txt
  11. time=`date +%m"."%d" "%k":"%M`
  12. connect=`netstat -na | grep "219.238.148.30:80" | wc -l`
  13. echo "$time $connect" >> ./temp/connect_count.txt

3、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告

  1. #!/bin/bash
  2. #monitor available disk space
  3. SPACE='df | sed -n '/ \ / $ / p' | gawk '{print $5}' | sed 's/%//'
  4. if [ $SPACE -ge 90 ]
  5. then
  6. jbxue123@163.com
  7. fi

4、 监控CPU和内存的使用情况

  1. #!/bin/bash
  2. #script to capture system statistics
  3. OUTFILE=/home/xu/capstats.csv
  4. DATE='date +%m/%d/%Y'
  5. TIME='date +%k:%m:%s'
  6. TIMEOUT='uptime'
  7. VMOUT='vmstat 1 2'
  8. USERS='echo $TIMEOUT | gawk '{print $4}' '
  9. LOAD='echo $TIMEOUT | gawk '{print $9}' | sed "s/,//' '
  10. FREE='echo $VMOUT | sed -n '/[0-9]/p' | sed -n '2p' | gawk '{print $4} ' '
  11. IDLE='echo $VMOUT | sed -n '/[0-9]/p' | sed -n '2p' |gawk '{print $15}' '
  12. echo "$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE" >> $OUTFILE

5、全方位监控主机

  1. #!/bin/bash
  2. # check_xu.sh
  3. # 0 * * * * /home/check_xu.sh
  4. DAT="`date +%Y%m%d`"
  5. HOUR="`date +%H`"
  6. DIR="/home/oslog/host_${DAT}/${HOUR}"
  7. DELAY=60
  8. COUNT=60
  9. # whether the responsible directory exist
  10. if ! test -d ${DIR}
  11. then
  12. /bin/mkdir -p ${DIR}
  13. fi
  14. # general check
  15. export TERM=linux
  16. /usr/bin/top -b -d ${DELAY} -n ${COUNT} > ${DIR}/top_${DAT}.log 2>&1 &
  17. # cpu check
  18. /usr/bin/sar -u ${DELAY} ${COUNT} > ${DIR}/cpu_${DAT}.log 2>&1 &
  19. #/usr/bin/mpstat -P 0 ${DELAY} ${COUNT} > ${DIR}/cpu_0_${DAT}.log 2>&1 &
  20. #/usr/bin/mpstat -P 1 ${DELAY} ${COUNT} > ${DIR}/cpu_1_${DAT}.log 2>&1 &
  21. # memory check
  22. /usr/bin/vmstat ${DELAY} ${COUNT} > ${DIR}/vmstat_${DAT}.log 2>&1 &
  23. # I/O check
  24. /usr/bin/iostat ${DELAY} ${COUNT} > ${DIR}/iostat_${DAT}.log 2>&1 &
  25. # network check
  26. /usr/bin/sar -n DEV ${DELAY} ${COUNT} > ${DIR}/net_${DAT}.log 2>&1 &
  27. #/usr/bin/sar -n EDEV ${DELAY} ${COUNT} > ${DIR}/net_edev_${DAT}.log 2>&1 &

放在crontab里每小时自动执行:

  1. 0 * * * * /home/check_xu.sh

这样便会在/home/oslog/host_yyyymmdd/hh目录下生成各小时cpu、内存、网络,IO的统计数据。

如果某个时间段产生问题了,就可以去看对应的日志信息,看看当时的主机性能如何。

【不积跬步,无以致千里】五个常用的Linux监控脚本代码的更多相关文章

  1. 不积跬步无以至千里(C语言笔记)

    第一章 初始C程序     1.C程序结构         简单来说,一个C程序就是由头文件和函数组成         头文件             一条编译预处理命令:作用是在对C程序进行正式编译 ...

  2. qingshow “不积跬步无以至千里,不积小流无以成江海”。--荀子《劝学篇》 用tomcat+花生壳搭建自己的web服务器+域名(参考)

    链接地址:http://www.blogjava.net/qingshow/archive/2010/01/17/309846.html 用tomcat搭建web服务器 目标:免费拥有自己的网站及域名 ...

  3. 神探Python程序员,带你千里捉小三!(附详情代码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 王翔 清风Python PS:如有需要Python学习资料的小伙伴 ...

  4. 【不积跬步,无以致千里】vim复制

    用vim这么久 了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开编辑,真的不 爽:上次论坛上有人问到了怎么在vim中使 ...

  5. 【不积跬步,无以致千里】AMQP协议介绍

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  6. 【不积跬步,无以致千里】关闭631端口cups打印服务和8009端口ajp

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  7. 【不积跬步,无以致千里】安装roundcube 时出现 “DSN (write): NOT OK(SQLSTATE[HY000] [2002] No such file or directory)”

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  8. 【不积跬步,无以致千里】VIM查找替换归纳总结zz

    http://spaces.msn.com/dingy/blog/cns!2F24B9E66A542581!327.entry VIM中常用的替换模式总结. 1,简单替换表达式 替换命令可以在全文中用 ...

  9. 【不积跬步,无以致千里】linux下如何查看自己的外网IP

    局域网的服务器是通过ADSL路由器连接外网的,但ADSL是从ISP运营商那儿通过动态获得IP的,那么我怎么知道自己的外网地址是多少呢?今天得到几个办法:curl -s http://whatismyi ...

随机推荐

  1. How to download apk for google play online?

    http://apps.evozi.com/apk-downloader/ Online APK Downloader http://apkpure.com/ apkpure http://www.c ...

  2. 8款必备的免费移动Web开发框架(HTML5/JS)

    标签:JavaScript HTML5 移动开发 Web开发 jQuery 应用程序框架 插件 概述:随着智能手机和平板电脑的普及,移动开发逐渐成为众多开发者追逐的潮流.拥有一款优秀的移动Web开发框 ...

  3. 谈数据库索引和Sqlite中索引的使用

    要使用索引对数据库的数据操作进行优化,那必须明确几个问题:1.什么是索引2.索引的原理3.索引的优缺点4.什么时候需要使用索引,如何使用围绕这几个问题,来探究索引在数据库操作中所起到的作用. 1.数据 ...

  4. [POJ 3420] Quad Tiling

      Quad Tiling Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3495   Accepted: 1539 Des ...

  5. apache开源项目--lume

    lume 是一个分布式.可靠和高可用的服务,用于收集.聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型.这是一个可靠.容错的服务.

  6. Myeclipse最简单的svn插件安装方法

    首先来这儿下载插件 http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 找个最新的下载   解压到对应的位置, ...

  7. Python中,如何初始化不同的变量类型为空值

    参考文章  Python中,如何初始化不同的变量类型为空值 常见的数字,字符,很简单,不多解释. 列表List的其值是[x,y,z]的形式 字典Dictionary的值是{x:a, y:b, z:c} ...

  8. tap/click on search button on softkeyboard

    driver.sendKeyEvent(84);Appium says it successfully sent in the command but 'search' does not get ta ...

  9. Linux shell 获取当前时间之前N天

    date +%Y%m%d --date '2 days ago' 更多资料关注:www.kootest.com ;技术交流群:182526995

  10. MyEclipse10 Tomcat7 JDK1.7 配置

    第一步.MyEclipse10 Tomcat7 JDK1.7下载 MyEclipse10http://downloads.myeclipseide.com/downloads/products/ewo ...