美文网首页Python3自学 爬虫实战Nginx高端成长之路
nginx日志分片切割、不记录不读取问题 pyLogmanage

nginx日志分片切割、不记录不读取问题 pyLogmanage

作者: 郭百度 | 来源:发表于2020-03-03 13:59 被阅读0次

    当你使用定时任务对日志进行切割后,linux还是为nginx保留切割前的文件,很多教程都说用kill或 restart的方法,实际上nginx提供了重新打开日志的命令:

    $ nginx -s reopen
    

    python django在配合使用uwsgi的话,可以在所在项目uwsgi.ini,新增配置

    [uwsgi]
    master = true
    touch-logreopen = {你的日志路径}/touchforlog
    

    只要在切割完毕后,重新touch一下uwsgi就会reopen日志文件

    $ touch {你的日志路径}/touchforlog
    

    如果你的服务器支持python3,并且使用钉钉的话,可以部署开源项目pyLogmanage项目https://github.com/OPN48/pyLogmanage

    额外提供了

    钉钉通知:
    压缩后新增的日志tar大小通知
    日志文件过期自动删除
    单日志文件过大提醒
    一秒内同IP多次请求通知(防CC攻击)

    等功能

    【xxx.xxx.xxx.xx】:
    xxx_nginx_access.log 173.66MB
    xxx_uwsgi.log 1.33MB
    log-2020-01-01.tar.gz 50.33MB

    并且提供了多功能个性化配置

    $ python3 setup.py 
    用法: python3 setup.py [-options] [args...](执行初始化配置)
        -url -durl      配置钉钉机器人url 默认:https://oapi.dingtalk.com/
        -d -dingtalk        钉钉通知开关 默认:TRUE
        -k -dkeyword        配置钉钉自定义关键词 默认:logdatatar
        -w -warnsize        配置单日志文件大小告警值,单位MB 默认:500
        -day -days      日志删除天数 默认:180
        -n -nginx       使用nginx配置的服务器可使用 默认:TRUE
        -u -uwsgi       使用uwsgi配置 需要在uwsgi.ini内配置master=true和touch-logreopen=/{log文件夹}/touchforlog 默认:TRUE
        -f -file        日志文件后缀名 默认:.log
        -l -lastlines       读取日志文件最后n行提供listener.py判断 默认:1000
        -m -secondmax       1秒钟同时请求大于m条,告警,同时作为报文倍数分组step使用 默认:3
    

    相关文章

      网友评论

        本文标题:nginx日志分片切割、不记录不读取问题 pyLogmanage

        本文链接:https://www.haomeiwen.com/subject/kypclhtx.html