监测服务器磁盘性能的脚本,监测服务器内存、磁盘、cpu、swap的脚本

#!/bin/bash

#filename:monitor_server.sh

MAILLIST=test123@jquerycn.cn    #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},Mem_used:${MEMSTATUS}%,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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值