几个常用的Linux操作系统监控脚本代码

  本文介绍了几个常用的Linux监控脚本可以实现主机网卡流量系统状况主机磁盘空间CPU和内存的使用情况等方面的自动监控与报警根据自己的需求写出的shell脚本更能满足需求更能细化主机监控的全面性 最近时不时有互联网的朋友问我关于服务器监控方面的问题问常用的服务器监控除了用开源软件比如cactinagios监控外是否可以自己写shell脚本呢?根据自己的需求写出的shell脚本更能满足需求更能细化主机监控的全面性 下面是我常用的几个主机监控的脚本大家可以根据自己的情况再进行修改希望能给大家一点帮助 查看主机网卡流量

复制代码 代码如下:#!/bin/bash #network #MikeXu while : ; do time=date +%m""%d" "%k":"%M day=date +%m""%d rx_before=ifconfig eth|sed n ""p|awk {print $}|cut c tx_before=ifconfig eth|sed n ""p|awk {print $}|cut c sleep rx_after=ifconfig eth|sed n ""p|awk {print $}|cut c tx_after=ifconfig eth|sed n ""p|awk {print $}|cut c rx_result=$[(rx_afterrx_before)/] tx_result=$[(tx_aftertx_before)/] echo "$time Now_In_Speed: "$rx_result"kbps Now_OUt_Speed: "$tx_result"kbps" sleep done

  系统状况监控

复制代码 代码如下:#!/bin/sh #systemstatsh #MikeXu IP= top n | grep "Cpu" 》/temp/cputxt free m | grep "Mem" 》 /temp/memtxt df k | grep "sda" 》 /temp/drive_sdatxt #df k | grep sda 》 /temp/drive_sdatxt df k | grep "/mnt/storage_" 》 /temp/mnt_storage_txt df k | grep "/mnt/storage_pic" 》 /temp/mnt_storage_pictxt time=`date +%m""%d" "%k":"%M` connect=`netstat na | grep ":" | wc l` echo "$time $connect" 》 /temp/connect_counttxt

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

复制代码 代码如下:#!/bin/bash #monitor available disk space SPACE=df | sed n / / $ / p | gawk {print $} | sed s/%// if [ $SPACE ge ] then fty@com fi

   监控CPU和内存的使用情况

复制代码 代码如下:#!/bin/bash #script to capture system statistics OUTFILE=/home/xu/capstatscsv DATE=date +%m/%d/%Y TIME=date +%k:%m:%s TIMEOUT=uptime VMOUT=vmstat USERS=echo $TIMEOUT | gawk {print $} LOAD=echo $TIMEOUT | gawk {print $} | sed "s/// FREE=echo $VMOUT | sed n /[]/p | sed n p | gawk {print $} IDLE=echo $VMOUT | sed n /[]/p | sed n p |gawk {print $} echo "$DATE$TIME$USERS$LOAD$FREE$IDLE" 》 $OUTFILE

  全方位监控主机

复制代码 代码如下:#!/bin/bash # check_xush # * * * * /home/check_xush DAT="`date +%Y%m%d`" HOUR="`date +%H`" DIR="/home/oslog/host_${DAT}/${HOUR}" DELAY= COUNT= # whether the responsible directory exist if ! test d ${DIR} then /bin/mkdir p ${DIR} fi # general check export TERM=linux /usr/bin/top b d ${DELAY} n ${COUNT} > ${DIR}/top_${DAT}log >& & # cpu check /usr/bin/sar u ${DELAY} ${COUNT} > ${DIR}/cpu_${DAT}log >& & #/usr/bin/mpstat P ${DELAY} ${COUNT} > ${DIR}/cpu__${DAT}log >& & #/usr/bin/mpstat P ${DELAY} ${COUNT} > ${DIR}/cpu__${DAT}log >& & # memory check /usr/bin/vmstat ${DELAY} ${COUNT} > ${DIR}/vmstat_${DAT}log >& & # I/O check /usr/bin/iostat ${DELAY} ${COUNT} > ${DIR}/iostat_${DAT}log >& & # network check /usr/bin/sar n DEV ${DELAY} ${COUNT} > ${DIR}/net_${DAT}log >& & #/usr/bin/sar n EDEV ${DELAY} ${COUNT} > ${DIR}/net_edev_${DAT}log >& &

  放在crontab里每小时自动执行 * * * * /home/check_xush 这样会在/home/oslog/host_yyyymmdd/hh目录下生成各小时cpu内存网络IO的统计数据 如果某个时间段产生问题了就可以去看对应的日志信息看看当时的主机性能如何

一个今天胜过两个明天

几个常用的Linux操作系统监控脚本代码

相关文章:

你感兴趣的文章:

标签云: