检测网站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