动态监测网站



目录:

    1.脚本功能介绍

    2.脚本制作

    3.脚本案例



一、脚本功能介绍   

    当你所在企业中因业务需求,通过公有云(如阿里云、腾讯云等)购买为数不多的云主机部署业务,没有空余资源部署zaibix等监控平台,此时可以通过脚本实现对云主机的内存使用情况、CPU使用情况、硬盘使用情况、进程的守护、web网站的动态监测等一系列的指标进行监控,如有异常可通过邮件报警,或通过企业某监控屏幕实时进行显示。

二、脚本制作   

    脚本制作思路:

    (1).需求分析,将需求列在文档之中;

    (2).针对需求,进行技术分析,会用到哪些技术的相关知识点,列在文档之中;

    (3).根据需求和技术要求,设计脚本架构,争取做到脚本的精简,计算效率的高效,脚本的易读良 好,能用一句话实现不用两句话实现。

    (4).脚本制作和写标书有点相类似,在第一次完成标书时,仅仅是标书的开始,写脚本也一样,写作完初始脚本后,仅仅是开始。

        脚本的架构调整:最好多定义函数,通过函数实现,便于日后脚本功能的扩展;

        脚本的功能调试:根据设计的功能进行语法和数据的测试;

        脚本的规范调试:便于与企业规定的语法结构相统一,进行语法和注释规范统一;

        脚本易读性调试:完成一个脚本后,找相关同事阅读,做到精简、规范和易读。

三、脚本案例

    通过编写脚本实现对网站的动态监测,如有其它需求如只需在脚本中添加函数即可完成对脚本功能的扩展,如有邮件报警需求,则添加添加邮件账户,如对业务监控要求较弱时,也可添加定时任务,每8小时进行邮件通知一次云主机资源使用情况,如有防止系统异常重启,失去脚本监控功能,也放在启动服务脚本中,实现后台执行。

#!/bin/bash                                                                            
. /etc/init.d/functions
declare -a mcurl
declare url_name
declare -i i
declare -i j=1#++++++++++++++定义数组,数组元素为网站名++++++
mcurl=(
    http://www.baidu.com    http://www.goole.com
    http://11841715.blog.51cto.com
    http://xuewbweb.com
    )
#+++++++++++定义启动节奏+++++++++++++++++++++++
wait () {
echo -n "5表后,开始检测网站的URL操作."
for ((i=0; i<5; i++));do                                   #5秒后开始检测网站
    echo -n "."
    sleep 1
done
echo
}
#++++++++++++定义循环监测网站++++++++++++++++++
check_url (){
for url_name in ${mcurl[*]};do
    wget --timeout=3 --tries=1  $url_name -q -O /dev/null
    [ $? -eq 0 ] && action $url_name /bin/true || action $url_name /bin/false
donesleep 10
}
#++++++++++++定义主函数++++++++++++++++++++++++++
main (){
while true;do
    wait    echo "Checkurl_Count  $j"   
    check_url
    let j++
done
}#++++++++++++++++执行主函数++++++++++++++++++++++++
main



转载于:https://blog.51cto.com/wbxue/1962413