zoukankan      html  css  js  c++  java
  • Linux常用的系统监控shell脚本

    http://www.linuxqd.com下面是我常用的几个Linux系统监控的脚本,大家可以根据自己的情况在进行修改,希望能给大家一点帮助。
    1
    、查看主机网卡流量

    1. #!/bin/bash

    2.  

    3. #network

    4.  

    5. #Mike.Xu

    6.  

    7. while : ; do

    8.  

    9. time=’date +%m”-”%d” “%k”:”%M’

    10.  

    11. day=’date +%m”-”%d’

    12.  

    13. rx_before=’ifconfig eth0|sed -n “8″p|awk ‘{print $2}’|cut -c7-’

    14.  

    15. tx_before=’ifconfig eth0|sed -n “8″p|awk ‘{print $6}’|cut -c7-’

    16.  

    17. sleep 2

    18.  

    19. rx_after=’ifconfig eth0|sed -n “8″p|awk ‘{print $2}’|cut -c7-’

    20.  

    21. tx_after=’ifconfig eth0|sed -n “8″p|awk ‘{print $6}’|cut -c7-’

    22.  

    23. rx_result=$[(rx_after-rx_before)/256]

    24.  

    25. tx_result=$[(tx_after-tx_before)/256]

    26.  

    27. echo “$time Now_In_Speed: “$rx_result”kbps Now_OUt_Speed: “$tx_result”kbps”

    28.  

    29. sleep 2

    30.  

    31. done





    2
    、系统状况监控

    1. #!/bin/sh

    2.  

    3. #systemstat.sh

    4.  

    5. #Mike.Xu

    6.  

    7. IP=192.168.1.227

    8.  

    9. top -n 2| grep “Cpu” >>./temp/cpu.txt

    10.  

    11. free -m | grep “Mem” >> ./temp/mem.txt

    12.  

    13. df -k | grep “sda1″ >> ./temp/drive_sda1.txt

    14.  

    15. #df -k | grep sda2 >> ./temp/drive_sda2.txt

    16.  

    17. df -k | grep “/mnt/storage_0″ >> ./temp/mnt_storage_0.txt

    18.  

    19. df -k | grep “/mnt/storage_pic” >> ./temp/mnt_storage_pic.txt

    20.  

    21. time=`date +%m”.”%d” “%k”:”%M`

    22.  

    23. connect=`netstat -na | grep “219.238.148.30:80″ | wc -l`

    24.  

    25. echo “$time $connect” >> ./temp/connect_count.txt



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

    1. #!/bin/bash

    2.  

    3. #monitor available disk space

    4.  

    5. SPACE=’df | sed -n ‘/ / $ / p’ | gawk ‘{print $5}’ | sed ’s/%//’

    6.  

    7. if [ $SPACE -ge 90 ]

    8.  

    9. then

    10.  

    11. fty89@163.com

    12.  

    13. fi

    14.  

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

    16.  

    17. #!/bin/bash

    18.  

    19. #script to capture system statistics

    20.  

    21. OUTFILE=/home/xu/capstats.csv

    22.  

    23. DATE=’date +%m/%d/%Y’

    24.  

    25. TIME=’date +%k:%m:%s’

    26.  

    27. TIMEOUT=’uptime’

    28.  

    29. VMOUT=’vmstat 1 2′

    30.  

    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. echo “$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE” >> $OUTFILE



    5、全方位监控主机

    1. #!/bin/bash

    2.  

    3. # check_xu.sh

    4.  

    5. # 0 * * * * /home/check_xu.sh

    6.  

    7. DAT=”`date +%Y%m%d`”

    8.  

    9. HOUR=”`date +%H`”

    10.  

    11. DIR=”/home/oslog/host_${DAT}/${HOUR}”

    12.  

    13. DELAY=60

    14.  

    15. COUNT=60

    16.  

    17. # whether the responsible directory exist

    18.  

    19. if ! test -d ${DIR}

    20.  

    21. then

    22.  

    23. /bin/mkdir -p ${DIR}

    24.  

    25. fi

    26.  

    27. # general check

    28.  

    29. export TERM=linux

    30.  

    31. /usr/bin/top -b -d ${DELAY} -n ${COUNT} > ${DIR}/top_${DAT}.log 2>&1 &

    32.  

    33. # cpu check

    34.  

    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_${DAT}.log 2>&1 &

    38.  

    39. #/usr/bin/mpstat -P 1 ${DELAY} ${COUNT} > ${DIR}/cpu_1_${DAT}.log 2>&1 &

    40.  

    41. # memory check

    42.  

    43. /usr/bin/vmstat ${DELAY} ${COUNT} > ${DIR}/vmstat_${DAT}.log 2>&1 &

    44.  

    45. # I/O check

    46.  

    47. /usr/bin/iostat ${DELAY} ${COUNT} > ${DIR}/iostat_${DAT}.log 2>&1 &

    48.  

    49. # network check

    50.  

    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的统计数据。
    如果某个时间段产生问题了,就可以去看对应的日志信息,看看当时的主机性能如何。

  • 相关阅读:
    图论分类讨论 bzoj2503相框
    高精+卡特兰数 bzoj3907网格
    树状数组 [Usaco2010 Nov]Cow Photographs
    二分图+贪心优化 [2009国家集训队]最大收益
    UINavigationItem表示UINavigationBar中的控件
    游历的路线
    2019.9.4 清点人数
    [国家集训队]矩阵乘法
    POJ 1113 Wall 凸包 裸
    POJ 1556 The Doors 线段交 dijkstra
  • 原文地址:https://www.cnblogs.com/timssd/p/4677023.html
Copyright © 2011-2022 走看看