监控服务器硬件脚本,简单监测服务器的shell脚本

1、编写shell脚本如下:

#!/bin/bash

# chkconfig: 2345 10 90

# description:监测linux服务器cpu、内存、磁盘

#cpu平均负载阀值

cpu_AVERAGE_LOAD=0.7

#剩余的最少警告的阀值

MIN_WARNING=20

#超过最多警告的阀值

MAX_WARNING=90

#监测cpu负载

monitor_cpu(){

#十五分钟平均负载值

load_quarter=`uptime | awk '{print $NF}'`

#cpu内核数

cpu_num=`grep -c 'model name' /proc/cpuinfo`

#cpu最大负载

cpu_load=${cpu_num}

#报警的负载阀值

warning=$(echo ${cpu_load} \* ${cpu_AVERAGE_LOAD}|bc)

if [ $(echo "${load_quarter} >= ${warning} "|bc) == 1 ]

then

#报警

warn 'cpu负载较大,请尽快处理'

fi

#监测cpu空闲比

cpu_idle=`top -b -n 1 | grep cpu | awk '{print $8}' |cut -f 1 -d .`

if [ ${cpu_idle} -lt ${MIN_WARNING} ]

then

warn 'cpu占用较高请尽快处理'

fi

}

#监测内存

monitor_memory(){

#总的内存

total=`free -m |grep 'Mem'|awk '{print $2}' `

#可用的内存

available=`free -m |grep 'Mem'|awk '{print $NF}'`

#可用内存所占比例

rate=$(echo "scale=2;${available} / ${total} * 100"|bc)

if [ $(echo "${rate} <= ${MIN_WARNING}"|bc) == 1 ]

then

warn '内存占用较大,请尽快处理'

fi

#监测Swap

swap_total=`free -m|grep 'Swap'|awk '{print$2}'`

swap_free=`free -m|grep 'Swap'|awk '{print$4}'`

if [ ${swap_total} -gt 0 ]

then

swap_rate=$(echo "scale=2;${$swap_free} / ${swap_total}"|bc)

if [ $(echo "${swap_rate} <= ${MIN_WARNING}"|bc) == 1 ]

then

warn '内存Swap剩余较少,请尽快处理'

fi

fi

}

#监测磁盘

monitor_disk(){

#过滤第一行

for i in `df -h |grep / |awk 'BEGIN {print 0} {print $5} END{print 0}'|cut -f 1 -d '%'`

do

if [ $(echo "${i} >= ${MAX_WARNING}"|bc) == 1 ]

then

warn '磁盘即将用完,请尽快处理'

break

fi

done

}

#报警,发送邮件

warn(){

#发邮件

printf "`date +%Y%m%d%H%M%S`: `/usr/local/PHP5/bin/PHP /var/www/html/tools/PHPmailer/wangyi.PHP ${1}` \n" >> /var/log/monitorlog 2>&1

}

#执行方法

monitor_cpu

monitor_memory

monitor_disk

2、配置每小时执行一次

0 */1 * * * /var/www/shell/monitor

总结

以上是编程之家为你收集整理的简单监测服务器的shell脚本全部内容,希望文章能够帮你解决简单监测服务器的shell脚本所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值