介绍一个VPS系统监控资源的脚本
发布时间:2022-06-20 09:04:26 所属栏目:教程 来源:互联网
导读:以下是本人自己民写的一个Shell脚本,可以监控使用的VPS的CPU、Load、Memory、网络传输、网站能否打开等情况,感觉挺有用的,现在分享出来给需要的朋友. 几个月前开始使用VPS,每月限制300GB流量,流量方便基本够用了,但是有时候由于受到一些恶意访问,导致CPU、
以下是本人自己民写的一个Shell脚本,可以监控使用的VPS的CPU、Load、Memory、网络传输、网站能否打开等情况,感觉挺有用的,现在分享出来给需要的朋友. 几个月前开始使用VPS,每月限制300GB流量,流量方便基本够用了,但是有时候由于受到一些恶意访问,导致CPU、Memory等资源消耗较大,导致VPS上的博客网站响应时间太慢甚至有时根本无法打开网页,所以,我简单做了个脚本来进行监控和发邮件报警. 由于不是做很专业的运维,暂时不想上很专业的监控工具,如:Nagios、Puppet、Cacti、Zabbix等,所以自己手动了个Shell脚本来监控我关心的CPU、Load、Memory、网络传输、博客网站能否打开等内容,将该监控脚本分享如下: https://github.com/smilejay/shell/blob/master/sh2013/vps_monitor.sh,代码如下: #!/bin/bash #set -x # the script to monitor my VPS # It will alert when memory, load, CPU%, networking, httpd/mysqld or home-page # is in an abnormal state. # author: Jay # date: 2013-10-16 EMAIL="smile665@gmail.com" WARN_MSG="" # alert when free memory is less than 50 MB function mem_free() { threshold=50 # 50 MB free memory free_mem=$(free -m | grep "buffers/cache" | awk '{print $4}') if [ $free_mem -lt $threshold ]; then WARN_MSG=$WARN_MSG"Free memeory is less than $threshold MB.n" return 1 fi return 0 url=http://smilejay.com/ keywords="Stay hungry" curl -sL $url | grep -i "$keywords" if [ $? -ne 0 ]; then WARN_MSG=$WARN_MSG"keywords '$keywords' doesn't exist on link $url.n" --phpfensi.com return 1 fi return 0 } # use an array to store the return value of each monitoring function mem_free chk[1]=$? load_avg chk[2]=$? cpu_idle chk[3]=$? network_tx chk[4]=$? httpd_mysqld chk[5]=$? home_page chk[6]=$? # send warning email to the web master if any of the check fails. for i in $(seq 1 6) do if [ ${chk[i]} -ne 0 ]; then printf "$WARN_MSG" | mailx -s "Warning from smilejay.com" $EMAIL exit 1 fi done。 (编辑:包头站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐