监测Nginx访问日志502情况后并做相应动作

今天带大家写一个比较实用的脚本哈

        原理:

                假设服务器环境为lnmp,近期访问经常出现502现象,且502错误在重启php-fpm服务后消失,因此需要编写监控脚本,一旦出现502,则自动重启php-fpm服务

        场景:

                1.访问日志文件的路径:/data/log/access.log
                2.脚本死循环,每10秒检测一次,10秒的日志条数为300条,出现502的比例不低于10%(30条)则需要重启php-fpm服务
                3.重启命令为:/etc/init.d/php-fpm restart

        脚本内容:

#!/bin/bash
log=/data/log/access.log
N=30 #设定阈值
while :
do
 #查看访问日志的最新300条,并统计502的次数
    err=`tail -n 300 $log |grep -c '502" '`
 if [ $err -ge $N ]
 then
 /etc/init.d/php-fpm restart 2> /dev/null
 #设定60s延迟防止脚本bug导致无限重启php-fpm服务
     sleep 60
 fi
 sleep 10
done

希望能够帮助到大家!!!

相关推荐

  1. Nginx启动不能正常访问

    2024-02-13 12:44:01       31 阅读
  2. ubuntu nginx配置密码访问下载

    2024-02-13 12:44:01       80 阅读
  3. .net端程序发布到nignx上,通过nginx访问

    2024-02-13 12:44:01       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-13 12:44:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-13 12:44:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-13 12:44:01       82 阅读
  4. Python语言-面向对象

    2024-02-13 12:44:01       91 阅读

热门阅读

  1. 跟我学C++中级篇——函数模板的匹配

    2024-02-13 12:44:01       58 阅读
  2. uniapp禁止截屏录屏/投屏功能(adb投放失效)

    2024-02-13 12:44:01       44 阅读
  3. XGboost和lightGBM算法对比

    2024-02-13 12:44:01       48 阅读
  4. Python 中的断点类型详解

    2024-02-13 12:44:01       48 阅读
  5. springboot集成Sa-Token及Redis的redisson客户端

    2024-02-13 12:44:01       58 阅读
  6. Ubuntu Desktop 打开和关闭 Terminal

    2024-02-13 12:44:01       52 阅读
  7. Python进阶:函数式编程

    2024-02-13 12:44:01       50 阅读
  8. 797. 差分

    2024-02-13 12:44:01       54 阅读
  9. react18中,useState 和 useEffect有什么区别

    2024-02-13 12:44:01       51 阅读
  10. 掘根宝典之C++友元函数与运算符重载

    2024-02-13 12:44:01       45 阅读
  11. 23种设计模式之抽象工厂模式

    2024-02-13 12:44:01       53 阅读
  12. 2月8号作业

    2024-02-13 12:44:01       47 阅读