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 的数字与字节

shell分析http日志的更多相关文章

  1. shell分析nginx日志

    以下脚本都是基于上面日志格式的,如果你的日志格式不同需要调整awk后面的参数. 分析日志中的UserAgent cat access_20130704.log | awk -F "\&quo ...

  2. (转)Shell分析服务器日志

    一.目录 转载链接:https://mp.weixin.qq.com/s/W1ekSiHgbGInqQ9HmZaJDA 自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站 ...

  3. Shell分析服务器日志,解锁各种新姿势

    1.查看有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 2.查看某一个页面被访问的次数: grep "/index.php" ...

  4. 这些 Shell 分析服务器日志命令集锦,收藏好

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看 ...

  5. shell 在手分析服务器日志【转】

    自己的小网站跑在阿里云的 ECS 上面, 偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! awk '{print $1 ...

  6. shell分析日志常用指令合集

    数据分析对于网站运营人员是个非常重要的技能,日志分析是其中的一个.日志分析可以用专门的工具进行分析,也可以用原生的shell脚本执行,下面就随ytkah看看shell分析日志常用指令有哪些吧.(log ...

  7. shell脚本分析nginx日志

    shell脚本分析nginx日志: name=`awk -F ',' '{print $13":"$32}' $file | awk -F ':' '{print $4}'`ech ...

  8. 烂泥:利用awstats分析nginx日志

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 昨天把nginx的日志进行了切割,关于如何切割nginx日志,可以查看<烂泥:切割 ...

  9. PHP性能分析 - ngnx日志分析

    最终结果展示图: 图解:响应时间在40ms以内的请求数占请求总量的7%,40到80ms的的请求数占32.9%,依次类推... 性能问题有很多种可能,普通的情况通过xhprof可查得主要的性能损耗.但有 ...

随机推荐

  1. hdu1540 Tunnel Warfare【线段树】

    During the War of Resistance Against Japan, tunnel warfare was carried out extensively in the vast a ...

  2. Linux的/etc/services文件的作用?

    4)端口分配 Linux系统的端口号的范围为0–65535,不同范围有不同的意义. 0 不使用 1--1023 系统保留,只能由root用户使用 1024---4999 由客户端程序自由分配 5000 ...

  3. vue中 用媒体查询 空置根节点字体大小

    在index.html中 <style> @media all and (min-width: 0px) { html{font-size: 20px;}/* 12*4.6 */ } @m ...

  4. flask简单的路由分发

    flask简单的路由分发 from flask import Flask, request app = Flask(__name__) @app.route('/hello') def index() ...

  5. rsync 配置详解

    安装 [root@localhost ~]# yum install -y rsync [root@localhost ~]# systemctl start rsyncd [root@localho ...

  6. [LeetCode] 331. Verify Preorder Serialization of a Binary Tree_Medium tag: stack

    One way to serialize a binary tree is to use pre-order traversal. When we encounter a non-null node, ...

  7. Hadoop集群安装-CDH5(5台服务器集群)

    CDH5包下载:http://archive.cloudera.com/cdh5/ 架构设计: 主机规划: IP Host 部署模块 进程 192.168.254.151 Hadoop-NN-01 N ...

  8. 在Keras模型中one-hot编码,Embedding层,使用预训练的词向量/处理图片

    最近看了吴恩达老师的深度学习课程,又看了python深度学习这本书,对深度学习有了大概的了解,但是在实战的时候, 还是会有一些细枝末节没有完全弄懂,这篇文章就用来总结一下用keras实现深度学习算法的 ...

  9. js 数组循环和迭代

    (之前一直没怎么注意数组循环,今天做一道题时,用到forEach循环发现它并没有按照我想象的样子执行,总结一下数组循环) 一.第一种方法就是for()循环   for( var index = 0; ...

  10. cxf-webservice完整示例

    最近一段时间研究webservice,一般来说,开发java的Webservice经常使用axis2和cxf这两个比较流行的框架 先使用cxf,开发一个完整示例,方便对webservice有一个整体的 ...