shell脚本监控项目核心业务的可用性

    xiaoxiao2022-07-13  132

    对于我们服务器部署的项目来说,我们需要监控部分核心业务到底是不是存活状态,尤其是单节点的部署。

    这里运用Unix中的crontab来周期性执行shell脚本。

    首先crontab安装:

    1、安装cron主程序:yum install vixie-cron

    2、然后安装cron守护程序:yum install crontabs

    3、然后启动服务:service crond start

     

    这里我的脚本命名为:server_survival.sh,最后贴出代码

    4、运行 crontab –e 添加定时任务

    * * * * * /scripts/data/server_survival.sh(每分钟执行一次server_survival.sh)

    上面*一次对应  分     小时    日       月       星期

             “*”代表取值范围内的数字,          “/”代表”每”,          “-”代表从某个数字到某个数字,          “,”分开几个离散的数字

    5、业务发生异常需要邮件通知相关人员,则需要配置邮件发送,不需要者改掉脚本中方法即可,附上百度经验邮件配置的方法:https://jingyan.baidu.com/article/ce43664953baee3772afd378.html

     

    6、接下来看脚本:

     

    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    # File Name: server_survival.sh

    # Author: AdminSong

    # mail: 1126481986@qq.com

    # Created Time: 2018年5月23日 星期四 19时00分21秒

    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #! /bin/bash

    time=$(date "+%Y%m%d-%H%M%S") #realm_name为接口域名 realm_name=https://www.abc.com

    #邮件发送 function sendmail(){     #email_host为发生异常邮件收件人,如果收件人有多个,格式("1126481986@qq.com","1126481986@qq.com")     email_host=("1126481986@qq.com")

        for email in $email_host     do         echo "接口:$1 请求不成功,请处理!"|mail -s "接口:$realm_name$1 请求不成功,请处理!" $email     done

     

    }

    #访问接口判断http_code是否为200,如果不为200,则接口异常,调用邮件发送 function request_url(){     #这几定义需要检测核心业务,如果业务是删除或者修改建议接口作参数效验,多个接口()内用逗号隔开的字符串     urls=("/login/manageLogin")     for url in $urls     do         http_code=curl -I -m 10 -o /dev/null -s -w %{http_code}  $realm_name$url         if ["$http_code" != "200"];then             echo "$time 请求接口:$url 不成功"             sendmail $realm_name$url         fi     done } request_url

     

     

    最新回复(0)