zoukankan      html  css  js  c++  java
  • shell分析http日志

    http状态码
    1字头----信息,服务器收到请求,需要请求者继续执行操作
    2字头----成功,操作被成功接收并处理
    3字头----重定向,需要进一步的操作以完成请求
    4字头----客户端错误,请求包含语法错误或无法完成请求
    5字头----服务器错误,服务器在处理请求的过程中发生了错误

    应用日志分析脚本

    cat /usr/local/nginx/logs/access.log | awk '{print $1}' | sort | uniq -c | sort -rn

    sort
    选项与参数:
    -f  :忽略大小写的差异,例如 A 与 a 视为编码相同;
    -b  :忽略最前面的空格符部分;
    -M  :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
    -n  :使用『纯数字』进行排序(默认是以文字型态来排序的);
    -r  :反向排序;
    -u  :就是 uniq ,相同的数据中,仅出现一行代表;
    -t  :分隔符,默认是用 [tab] 键来分隔;
    -k  :以那个区间 (field) 来进行排序的意思

    uniq
    选项与参数:
    -i   :忽略大小写字符的不同;
    -c  :进行计数
    -u  :只显示唯一的行

    提取状态码
    cat /usr/local/nginx/logs/access.log | awk '{print $9}'

    提取想要的信息
    cat /usr/local/nginx/logs/access.log | grep -ioE "HTTP/1.[1|0]"[[:blank:]][0-9]{3}"

    grep参数详解
    -i  忽略大小写
    -o  只输出文件中匹配到的部分
    -E  进行精确的
    特殊符号    代表意义
    [:alnum:]    代表英文大小写字节及数字,亦即 0-9, A-Z, a-z
    [:alpha:]    代表任何英文大小写字节,亦即 A-Z, a-z
    [:blank:]    代表空白键与 [Tab] 按键两者
    [:cntrl:]    代表键盘上面的控制按键,亦即包括 CR, LF, Tab, Del.. 等等
    [:digit:]    代表数字而已,亦即 0-9
    [:graph:]    除了空白字节 (空白键与 [Tab] 按键) 外的其他所有按键
    [:lower:]    代表小写字节,亦即 a-z
    [:print:]    代表任何可以被列印出来的字节
    [:punct:]    代表标点符号 (punctuation symbol),亦即:" ' ? ! ; : # $...
    [:upper:]    代表大写字节,亦即 A-Z
    [:space:]    任何会产生空白的字节,包括空白键, [Tab], CR 等等
    [:xdigit:]    代表 16 进位的数字类型,因此包括: 0-9, A-F, a-f 的数字与字节

  • 相关阅读:
    解释*args和**kwargs的含义
    字典推导式创建字典
    返回json格式数据乱码
    DataTables warning: table id=data-table
    echart折线图,柱状图,饼图设置颜色
    No mapping found for HTTP request with URI
    [Err] 1111
    echart提示框内容数据添加单位
    rg.apache.ibatis.binding.BindingException: Mapper method 'com.dao.Cameao.getOnlineDayRation attempted to return null from a method with a primitive return type (float)
    bootstrap datarangepicker如何使用
  • 原文地址:https://www.cnblogs.com/zclzhao/p/5207746.html
Copyright © 2011-2022 走看看