服务器 内存、磁盘、cpu、swap 监控

前端之家收集整理的这篇文章主要介绍了服务器 内存、磁盘、cpu、swap 监控前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

#!/bin/bash

MAILLIST="[email protected]"    #emailist

MEM_CORDON=100   #内存使用大于这个值报警
SWAP_CORDON=50  #交换区使用值大于这个报警  
cpu_CORDON=5    #cpu空闲小于这个值报警
DISK_CORDON=85  #磁盘占用大于这个值报警
HOSTNAME=`hostname`
DATA=`date`

send_warning()
{
    echo $MESSAGE | /bin/mail -s "$TITLE" "$MAILLIST" 
}

if [ $# -ne 0 ];then
    DISK_DIR=$1
else
    DISK_DIR="/dev/sdb1"
fi

#MEM|SWAP check
MEMSTATUS=`free | grep "Mem" | awk '{printf("%d",$3*100/$2)}'`
SWAPSTATUS=`free | grep "Swap" | awk '{printf("%d",$3*100/$2)}'`

if [ $MEMSTATUS -ge $MEM_CORDON ];then
    TITLE="[bad_girl]:$HOSTNAME mem usage"
    MESSAGE="Time:${DATA},Mem_used:${MEMSTATUS}%,Swap_used:${SWAPSTATUS}%"
    send_warning
fi

if [ $SWAPSTATUS -ge $SWAP_CORDON ];then
    TITLE="[bad_girl]:$HOSTNAME Swap usage"
    MESSAGE="Time:${DATA},Swap_used:${SWAPSTATUS}%"
    send_warning
fi    

#cpu

cpuSTATUS=`vmstat | awk '{print $15}' | tail -1`

if [ $cpuSTATUS -le $cpu_CORDON ];then
    TITLE="[bad_girl]:$HOSTNAME cpu usage"
    MESSAGE="Time:${DATA},Mcpu_free:${cpuSTATUS}%"
fi

#disk use n%

DISKSTATUS=`df -h $DISK_DIR | awk '{print $5}' | tail -1 | tr -d %`

if [ $DISKSTATUS -ge $DISK_CORDON ];then
    TITLE="[bad_girl]:$HOSTNAME disk usage"
    MESSAGE="Time:${DATA},Disk_used:${DISKSTATUS}%"
    send_warning
fi

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

猜你在找的Shell相关文章