检测网站502并使用企业微信机器人通知

发现问题

近期发现有个网站经常性出现502错误,正常应该排查项目,找到导致502错误的地方进行修正,但是这个项目是老项目了,而且也不是我开发的,于是找个偷懒的办法,写个脚本检测网站访问日志,判断502出现的次数,达到一定次数时重启php-fpm,消除502错误,同时把处理结果使用企业微信机器人进行通知

脚本代码

#!/bin/bash

log=/data/log/access.log
while :
do
    code=`tail -n 300 $log | grep -c ' 502 '`
    if [ -z "$code" ]; then
        exit
    fi

    if [ $code -gt 100 ]; then
        /usr/bin/systemctl restart php-fpm.service > /dev/null 2 > /tmp/php-fpm.err
        fpm_p_n=`pgrep -l php-fpm | wc -l`

        curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your_key'    -H 'Content-Type: application/json'    -d '
   {                      
        "msgtype": "markdown",
        "markdown": {       
            "content": "错误处理:\n
            >原因:<font color=\"comment\">php-fpm宕机</font>
            >处理:<font color=\"info\">php-fpm重启成功</font>"
        }
   }'

        if [ $fpm_p_n -eq 0 ]; then
            curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your_key'    -H 'Content-Type: application/json'    -d '
   {                      
        "msgtype": "markdown",
        "markdown": {       
            "content": "错误处理:\n
            >原因:<font color=\"comment\">php-fpm宕机</font>
            >处理:<font color=\"warning\">php-fpm重启失败</font>"
        }
   }'
        exit
        fi
    fi
sleep 10
done
posted @ 2022-06-21 09:46  三里林  阅读(82)  评论(0编辑  收藏  举报