《Linux 文本处理》- awk 分析 nginx 日志
废话不多说,简单了解一下 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 日志的更多相关文章
- shell脚本分析nginx日志
shell脚本分析nginx日志: name=`awk -F ',' '{print $13":"$32}' $file | awk -F ':' '{print $4}'`ech ...
- 烂泥:利用awstats分析nginx日志
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 昨天把nginx的日志进行了切割,关于如何切割nginx日志,可以查看<烂泥:切割 ...
- elk实战分析nginx日志文档
elk实战分析nginx日志文档 架构: kibana <--- es-cluster <--- logstash <--- filebeat 环境准备:192.168.3.1 no ...
- elk平台分析nginx日志的基本搭建
一.elk套件介绍 ELK 由 ElasticSearch . Logstash 和 Kiabana 三个开源工具组成.官方网站: https://www.elastic.co/products El ...
- 一天,python搞个分析NGINX日志的脚本
准备给ZABBIX用的. 统计接口访问字次,平均响应时间,4XX,5XX次数 以后可以再改进.. #!/usr/bin/env python # coding: utf-8 ############# ...
- 利用python分析nginx日志
最近在学习python,写了个脚本分析nginx日志,练练手.写得比较粗糙,但基本功能可以实现. 脚本功能:查找出当天访问次数前十位的IP,并获取该IP来源,并将分析结果发送邮件到指定邮箱. 实现前两 ...
- hive分析nginx日志之UDF清洗数据
hive分析nginx日志一:http://www.cnblogs.com/wcwen1990/p/7066230.html hive分析nginx日志二:http://www.cnblogs.com ...
- awstat分析nginx日志
awstat分析nginx日志 http://lxw66.blog.51cto.com/5547576/1323712 server{ listen ; server_name localhost; ...
- 使用Hive的正则解析器RegexSerDe分析nginx日志
1.环境: hadoop-2.6.0 + apache-hive-1.2.0-bin 2.使用Hive分析nginx日志,站点的訪问日志部分内容为: cat /home/hadoop/hivetest ...
随机推荐
- C#获取文件版本信息
使用FileVersionInfo获取版本信息 FileVersionInfo info = FileVersionInfo.GetVersionInfo(Application.Current.St ...
- javascript and jquery 代码块
1.5秒隐藏 (setTimeout ) setTimeout( function(){ $('.ad_midd').slideUp(); } , 5000 )
- vue事件处理器
1.监听事件 可以用 v-on 指令监听 DOM 事件来触发一些 JavaScript 代码. 示例: <div id="example-1"> <button ...
- [Angularjs] 第一步开始一个项目
[Angularjs] 第一步开始一个项目 一.什么是angularjs angularjs是2009年兴起的,目前由Google维护一个采用mvc模式的js框架,很多时候用来创建单页面应用.我也经常 ...
- 在windows下执行./configure,make,makeinstall源码安装程序spice-gtk
使用MSYS软件,在我的上一篇博客中有软件下载地址.本文使用MSYS进行源码编译spice-gtk-0.33. 首先打开MSYS软件,进入你源码所在目录,例如:cd /c/Users/Admi... ...
- MTK WIFI底部加入返回按钮
wifi设置页面的源码是WiFiSettings.java 类,该类实际就是一个PreferenceFragment的子类,下面是源码,工作原理在注释中说明 FrameLayout.LayoutPar ...
- [AWS] User management
IAM用户管理 Ref: AWS系列-创建 IAM 用户 Ref: AWS系列:深入了解IAM和访问控制 是什么? IAM enables you to control who can do what ...
- Mybatis常见面试题(转)
Mybatis技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用Mybatis的文章,所以,一些参数使用细节略掉了,我们的目标是介绍 ...
- Kafka Java API获取非compacted topic总消息数
目前Kafka并没有提供直接的工具来帮助我们获取某个topic的当前总消息数,需要我们自行写程序来实现.下列代码可以实现这一功能,特此记录一下: /** * 获取某个topic的当前消息数 * Jav ...
- D - Equation Again
This problem's author is too lazy to write the problem description, so he only give you a equation l ...