shell脚本通过日志来统计网站pv 404 500状态码

本文介绍了一款用于统计网站状态码(如404、500等)的bash脚本,通过定时任务定期执行该脚本可以有效监控网站运行状态,并及时发现可能存在的问题。

下面的脚本能统计出网站的总访问量,以及404,500出现的次数。统计出来后,我们可以结合监控来进行记录,进而可以看出网站访问量是否异常,是否存在攻击,一目了然。还可以根据查看500出现的次数,进而判断网站程序是否出现异常。


#!/bin/bash
    #purpose:count nginx or apache or other webserver status code using jiankongbao
    #how to:run the script every 5 minutes with crontab
    #write by zhumaohai.
    #blog: http://www.centos.bz/
     
    log_path="/var/log/nginx/www.centos.bz/access.log"
    becur=`date -d "5 minute ago" +%H%M%S`
    code=(`tac $log_path  | awk  -v a="$becur" -v total=0 -F [' ':] '{
    t=$5$6$7
    if (t>=a){
    code[$12]++
    total++
    }
    else {
    exit;
    }
    }END{
    print code[404]?code[404]:0,code[500]?code[500]:0,total
    }'
    `)
    c404=${code[0]}
    c500=${code[1]}
    total=${code[2]}
    echo -e "<pre>\nc404:${c404}\nc500:${c500}\ntotal:${total}\n</pre>" > /data/www/status/www.centos.bz.html



脚本最后一行是以:

  1. <pre>
  2. c404:1102
  3. c500:545
  4. total:55463
  5. </pre>

的格式写入到一个www.centos.bz html文件,再结合监控的自定义监控来收集这些信息。
非常的方便,监控会自动出图表。

转载于:https://my.oschina.net/kcw/blog/336965

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值