废话不多说,简单了解一下 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. Manager升职了

    公司去年从每年七月份公布officer升职改成了每年四月份公布. 早上收到大头发给全公司的邮件,赫然发现Manager升了一级到VP,虽然是金融公司,但我司的VP好像会比银行多一点点福利,比如额外假期 ...

  2. Android Things:撸起袖子来创建第一个Things工程

    http://blog.csdn.net/p106786860/article/details/60161020 ——————————————————————————————————————————— ...

  3. 稍稍解读下JDK8的HashMap

    首先,源码中上来就有一大段注释,但最重要的就是第一句. 大意如下: 本map经常用作一个 binned (bucketed) hash table (下面有解释),但是,当bins很大的时候,它们会被 ...

  4. 学习Mysql过程中拓展的其他技术栈:设置linux虚拟机的固定ip和克隆linux虚拟机

    一.设置linux虚拟机的固定ip 1. 安装好虚拟机后在菜单栏选择编辑→ 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Vmnet8 Net网络连接方式,随意设置子网IP,点击NAT设置页面,查看子 ...

  5. 内存溢出OutOfMemory

    https://blog.csdn.net/hzy38324/article/details/76719105 https://blog.csdn.net/u010833547/article/det ...

  6. 占位 Bootstrap

    中文网  http://www.bootcss.com/

  7. C# Winform 防止MDI子窗体重复打开

    可以在MDI主窗体中添加以下方法. //防止打开多个窗体 private bool ShowChildrenForm(string p_ChildrenFormText) { int i; //依次检 ...

  8. python对象池模式

    class QueueObject(): def __init__(self, queue, auto_get=False): self._queue = queue self.object = se ...

  9. SpringBoot------如何将项目打成war包

    1.修改pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/ ...

  10. 更改linux下文件目录权限、拥有者及用户组

    在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创 ...