废话不多说,简单了解一下 awk

  - 强大的文本分析工具,也就是分析日志

最常用的就是分析日志了吧,做统计什么,这里也拿 nginx 日志来做分析

1:统计出现次数

  - 比如状态码出现次数

  - 先直接上命令

    • awk '{print $9}' access_log  | sort | uniq -c | sort -rn

  - 可能会有一些疑惑,这个$9 是什么?

  - 我们拿出一条日志来看一下先

    • /Oct/::: +]    123.124.16.83 192.168.240.255

  - 我们可以看到我们需要状态码的状态码,但是,他在第几位呢?

  - 在 awk 中,只要碰到空格,就说明它占了一位,也就是说

    •   

      $   123.124.16.83
      $   -
      $   -
      $   [/Oct/:::
      ....
      SO
      $   状态码

  - 这样我们就找到我们的状态码,之后的 sort | uniq 命令,可以自己看下,会更好的理解这个命令

2:筛选特定的日志

  - 比如我们发现了异常,要找到所有状态码为 302 的 access_log

  - 直接上命令

    • awk '$9~/302/{print}' accrss_log

  - 之前我们已经找到了 $9 是我们的状态码

  - 这里使用了 正则 匹配所有等于 302 的状态码

  - 当然,awk 也支持其他的方式

    • 比如,使用  == 来匹配
      
      awk '$9=="302" {print}' access_log

  - 这里列出条件操作符

    • <       小于
      <=      小于等于
      ==      等于
      !=      不等于
      >       大于
      >=      大于等于
      ~       匹配正则表达式
      !~      不匹配正则表达式

《Linux 文本处理》- awk 分析 nginx 日志的更多相关文章

  1. shell脚本分析nginx日志

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

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

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

  3. elk实战分析nginx日志文档

    elk实战分析nginx日志文档 架构: kibana <--- es-cluster <--- logstash <--- filebeat 环境准备:192.168.3.1 no ...

  4. elk平台分析nginx日志的基本搭建

    一.elk套件介绍 ELK 由 ElasticSearch . Logstash 和 Kiabana 三个开源工具组成.官方网站: https://www.elastic.co/products El ...

  5. 一天,python搞个分析NGINX日志的脚本

    准备给ZABBIX用的. 统计接口访问字次,平均响应时间,4XX,5XX次数 以后可以再改进.. #!/usr/bin/env python # coding: utf-8 ############# ...

  6. 利用python分析nginx日志

    最近在学习python,写了个脚本分析nginx日志,练练手.写得比较粗糙,但基本功能可以实现. 脚本功能:查找出当天访问次数前十位的IP,并获取该IP来源,并将分析结果发送邮件到指定邮箱. 实现前两 ...

  7. hive分析nginx日志之UDF清洗数据

    hive分析nginx日志一:http://www.cnblogs.com/wcwen1990/p/7066230.html hive分析nginx日志二:http://www.cnblogs.com ...

  8. awstat分析nginx日志

    awstat分析nginx日志 http://lxw66.blog.51cto.com/5547576/1323712 server{ listen ; server_name localhost; ...

  9. 使用Hive的正则解析器RegexSerDe分析nginx日志

    1.环境: hadoop-2.6.0 + apache-hive-1.2.0-bin 2.使用Hive分析nginx日志,站点的訪问日志部分内容为: cat /home/hadoop/hivetest ...

随机推荐

  1. 【SpringMVC学习07】SpringMVC中的统一异常处理

    我们知道,系统中异常包括:编译时异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减少运行时异常的发生.在开发中,不管是dao层 ...

  2. 浏览器关闭、刷新、关闭标签事件,兼容IE8,chrome,firefox

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head ...

  3. Oracle DBA神器之Toad

    很早就听说Toad功能很强大,一直没有使用过,因为PLSQL Developer就很好用.前几天看见同事优化Oracle就是用的Toad,有一些很强大的管理功能,于是再一次对Toad产生兴趣,收集了一 ...

  4. java获取视频缩略图

    近期由于在做一个关于视频播放的项目,需要使用程序自动获取视频文件的缩略图,特写此文供其他人参考,有不清楚之楚可以给我留言. 1.使用工具:ffmpeg, 官网下载地址:http://ffmpeg.or ...

  5. react跳转url,跳转外链,新页面打开页面

    react中实现在js中内部跳转路由,有两种方法. 方法一: import PropTypes from 'prop-types'; export default class Header exten ...

  6. Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法

    Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法 经常在ubuntu 64位下运行 ./xxx 会跳出来说没有这个文件或者目录,但是ls看又有这个文件,很是奇怪. 其实原因很 ...

  7. webpack 运行提示“The ‘mode‘ option has not been set”的原因和解决方法

    最近在研究webpack,当我执行npm run build / npm start / npm run server等命令时,都是提示下面的警告信息 WARNING in configuration ...

  8. Android开发训练之第五章第七节——Transmitting Network Data Using Volley

    Transmitting Network Data Using Volley GET STARTED DEPENDENCIES AND PREREQUISITES Android 1.6 (API L ...

  9. centos7 安装zookeeper3.4.8集群

    1.下载上传文件到centos中 2.解压文件夹 3.cd conf 文件下,cp  zoo_sample.cfg  zoo.cfg 4.vim zoo.cfg # The number of mil ...

  10. dom元素操作(动态事件绑定)

    遇到的问题:动态生成的内容,事件绑定会出错. 例子:http://snowinmay.net/jqm/dom-learn2.html 1.绑定事件对动态生成的新元素无效. 问题描述:bind事件绑定后 ...