【SHELL】统计Nginx访问日志状态码

原创 2016年05月30日 11:29:11
#########################################################################
# File Name: check_nginx_server.sh
# Author: Moshiyou
# mail: momo1a@qq.com
#Created Time:Mon 30 May 2016 10:21:52 AM CST
#########################################################################
#!/bin/bash

settrem=$(tput sgr0)

Check_Nginx_Server_Log()
{
    httpCode=(`cat /usr/local/nginx/logs/access.log |  grep -ioE "HTTP/1\.[1|2]\"[[:blank:]][0-9]{3}" | 
    awk -F "[ ]+" '{

        $2!=""?code[$2]++:""
        if($2>=100&&$2<200)
            {i++}
        else if($2>=200&&$2<300)
            {j++}
        else if($2>=300&&$2<400)
            {k++}
        else if($2>=400&&$2<500)
            {n++}
        else if($2>=500)
            {p++}   
    }END{print i?i:0,j?j:0,k?k:0,n?n:0,p?p:0,i+j+k+n+p,code[404],code[403],code[500]}'`)
    echo -e '\E[32m'"The status number [100+] num:" $settrem ${httpCode[0]}
    echo -e '\E[32m'"The status number [200+] num:" $settrem ${httpCode[1]}
    echo -e '\E[32m'"The status number [300+] num:" $settrem ${httpCode[2]}
    echo -e '\E[32m'"The status number [400+] num:" $settrem ${httpCode[3]}
    echo -e '\E[32m'"The status number [500+] num:" $settrem ${httpCode[4]}
    echo -e '\E[32m'"The status all  num:" $settrem ${httpCode[5]}
    echo -e '\E[32m'"The status 404  num:" $settrem ${httpCode[6]}
    echo -e '\E[32m'"The status 403  num:" $settrem ${httpCode[7]}
    echo -e '\E[32m'"The status 500  num:" $settrem ${httpCode[8]}
}

Check_Nginx_Server_Log

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

shell脚本检查统计nginx访问日志access.log

1、统计nginx的访问日志,统计访问总数,http状态码信息等 思路:先将access.log日志中的http状态码取出来,在我的nginx.conf配置下,access.log中一般awk ‘{...

[Python/自动化运维] 运用Python进行Nginx日志状态码过滤

每个公司的NginxWeb服务器日志格式是不一样的,但是正则改一下就可以用,统计状态码及域名的发生次数,注意:注释部分为同一条url 同一个客户端ip及状态码访问过来的,生产环境这样的也不是很多,所以...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Linux 简单shell创建自己的守护进程,自动重启,纪录进程运行状态,日志切割压缩

#!/bin/bash CMD="./tvpn" PID="./log/PID.txt" LOG="./log/tvpn.log" DEBUG="false" # --------------...

shell自动下载nginx日志文件到本地

最近遇到一个情况就是服务器不响应了,nginx也不写日志,经查发现是日志文件太大多,磁盘满了,以前都是用脚本自动上传到OSS的,现在需要将log下载到本地,于是用shell写了一段脚本,然后放到cro...

Shell典型应用Nginx之应用日志分析

nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小,通俗的理解就是先用log_format来定...

Nginx、tomcat访问日志准实时分析统计--goaccess

需求:及时得到线上用户访问日志分析统计结果,以便给开发、测试、运维、运营人员提供决策!找了各种工具,最终还是觉得goaccess不仅图文并茂,而且速度快,每秒8W 的日志记录解析速度,websocke...
  • yown
  • yown
  • 2017-02-20 20:49
  • 2041

通过统计nginx访问日志禁止恶意抓取数据的实现

nginx默认会记录客户端访问服务端的日志,默认的目录位于:/var/logs/access.log; 业务需求:每小时读取access.log内容,统计每个ipd访问系统次数,如果超过指定次数,则...

shell统计Apache访问日志中指定页面的PV、UV等指标

最近由于运营需要,写了诸多shell脚本统计Apache日志中指定页面的PV、UV等指标。今天把这些脚本贴出来,留待后用。但凡程序,都是有改进的余地的,只看你是否有心去做。 前提:因为项目和电信移动...

python基于nginx访问日志统计客户端ip访问量

专业的统计网站,比如百度统计,Google Analytics,cnzz等统计后台提供的都是站长常用的统计指标,比如uv,pv,在线时长,ip等,另外由于网络原因,我发现Google Analytic...

shell日志分析--支持分析日志访问路径,统计访问IP,IPTABLES解与封

#!/bin/bash #特性: #1,可分析多个网站项目日志 #2,每个网站项目日志可根据关键字进行统计分析 #3,可调整访问IP次数的阀值(超过多少次加入到墙) #4,可调整IP封的时间 #5,可...
  • ws_zll
  • ws_zll
  • 2012-04-28 15:46
  • 3265
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)