《Linux常用的系统监控shell脚本.docx》由会员分享,可在线阅读,更多相关《Linux常用的系统监控shell脚本.docx(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、下面是我常用的几个Linux系统监控的脚本,大家可以根据自己的情况在进行修改,希望能给大家一点帮助。1、查看主机网卡流量1. #!/bin/bash2.3. #network4.5. #Mike.Xu6.7. while : ; do8.9. time=date +%m”-”%d” “%k”:”%M10.11. day=date +%m”-”%d12.13. rx_before=ifconfig eth0|sed -n “8p|awk print $2|cut -c7-14.15. tx_before=ifconfig eth0|sed -n “8p|awk print $6|cut -c7-
2、16.17. sleep 218.19. rx_after=ifconfig eth0|sed -n “8p|awk print $2|cut -c7-20.21. tx_after=ifconfig eth0|sed -n “8p|awk print $6|cut -c7-22.23. rx_result=$(rx_after-rx_before)/25624.25. tx_result=$(tx_after-tx_before)/25626.27. echo “$time Now_In_Speed: “$rx_result”kbps Now_OUt_Speed: “$tx_result”k
3、bps”28.29. sleep 230.31. done2、系统状况监控1. #!/bin/sh2.3. #systemstat.sh4.5. #Mike.Xu6.7. IP=192.168.1.2278.9. top -n 2| grep “Cpu” ./temp/cpu.txt10.11. free -m | grep “Mem” ./temp/mem.txt12.13. df -k | grep “sda1 ./temp/drive_sda1.txt14.15. #df -k | grep sda2 ./temp/drive_sda2.txt16.17. df -k | grep “/
4、mnt/storage_0 ./temp/mnt_storage_0.txt18.19. df -k | grep “/mnt/storage_pic” ./temp/mnt_storage_pic.txt20.21. time=date +%m”.”%d” “%k”:”%M22.23. connect=netstat -na | grep “219.238.148.30:80 | wc -l24.25. echo “$time $connect” ./temp/connect_count.txt3、监控主机的磁盘空间,当使用空间超过90就通过发mail来发警告1. #!/bin/bash2.
5、3. #monitor available disk space4.5. SPACE=df | sed -n / / $ / p | gawk print $5 | sed s/%/6.7. if $SPACE -ge 90 8.9. then10.11. fty8912.13. fi14.15. 4、 监控CPU和内存的使用情况16.17. #!/bin/bash18.19. #script to capture system statistics20.21. OUTFILE=/home/xu/capstats.csv22.23. DATE=date +%m/%d/%Y24.25. TIME
6、=date +%k:%m:%s26.27. TIMEOUT=uptime28.29. VMOUT=vmstat 1 230.31. USERS=echo $TIMEOUT | gawk print $4 32.33. LOAD=echo $TIMEOUT | gawk print $9 | sed “s/,/ 34.35. FREE=echo $VMOUT | sed -n /0-9/p | sed -n 2p | gawk print $4 36.37. IDLE=echo $VMOUT | sed -n /0-9/p | sed -n 2p |gawk print $15 38.39. e
7、cho “$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE” $OUTFILE5、全方位监控主机1. #!/bin/bash2.3. # check_xu.sh4.5. # 0 * * * * /home/check_xu.sh6.7. DAT=”date +%Y%m%d”8.9. HOUR=”date +%H”10.11. DIR=”/home/oslog/host_$DAT/$HOUR”12.13. DELAY=6014.15. COUNT=6016.17. # whether the responsible directory exist18.19. if ! t
8、est -d $DIR20.21. then22.23. /bin/mkdir -p $DIR24.25. fi26.27. # general check28.29. export TERM=linux30.31. /usr/bin/top -b -d $DELAY -n $COUNT $DIR/top_$DAT.log 2&1 &32.33. # cpu check34.35. /usr/bin/sar -u $DELAY $COUNT $DIR/cpu_$DAT.log 2&1 &36.37. #/usr/bin/mpstat -P 0 $DELAY $COUNT $DIR/cpu_0_
9、$DAT.log 2&1 &38.39. #/usr/bin/mpstat -P 1 $DELAY $COUNT $DIR/cpu_1_$DAT.log 2&1 &40.41. # memory check42.43. /usr/bin/vmstat $DELAY $COUNT $DIR/vmstat_$DAT.log 2&1 &44.45. # I/O check46.47. /usr/bin/iostat $DELAY $COUNT $DIR/iostat_$DAT.log 2&1 &48.49. # network check50.51. /usr/bin/sar -n DEV $DELAY $COUNT $DIR/net_$DAT.log 2&1 &52.53. #/usr/bin/sar -n EDEV $DELAY $COUNT $DIR/net_edev_$DAT.log 2&1 &放在crontab里每小时自动执行:0 * * * * /home/check_xu.sh这样会在/home/oslog/host_yyyymmdd/hh目录下生成各小时cpu、内存、网络,IO的统计数据。如果某个时间段产生问题了,就可以去看对应的日志信息,看看当时的主机性能如何。
限制150内