使用cat,awk和sort命令从nginx访问日志中统计user-agent类型
2015-01-07 10:23
363 查看
业务场景描述如下:
我有一个Nginx的web服务器,需要从统计日志中统计有哪些类型的设备终端和浏览器访问了我的网站。
访问日志中的每条记录是这样的:
使用下面的命令得到user-agent所在的字段
cat cpm.access.log-20141211 | awk -F '"' '{print $6}' > ua_1211.txt
意思是,处理该文件的每一行,指定“为分隔符,只输出第6个文本域
提取的user-agent字段得到的文件为
很显然,需要对这些行进行去重,这只需要一个简单的sort命令就可以请求搞定:
sort ua_1211.txt | uniq -u > ua_1211.sort.txt
对文档按照ascii字符顺序进行排序,同时去掉重复行,并将结果重定向到新文件中
下面是去重后的文件内容
为了结果更精确,我需要对当前目录下面的所有日志都做相同的分析,为此,我需要先将这些文件都合并到一个大日志文件中,再对这个大文件执行上面的操作。使用cat的通配符合并功能很容易实现文件合并:
cat cpm.access.log-2014121* > cpm.access.log
再对这个合并文件cpm.access.log做分析
cat cpm.access.log | awk -F '"' '{print $6}' | sort | uniq -u > ua_analysis.txt
这次我们看到了更多神奇的东西,看来访问各种移动端访问我们网站还是很多的,总结有1333种终端访问。
其实类似的其他场景的问题也可以参照解决。
下面是我收集的user-agent文件,参见下载链接
收集的user-agent大全.txt
观察日志发现UA字符串:
Mozilla/5.0 (compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html)
参考文献
[1]./article/7021314.html
[2]./article/4630687.html
我有一个Nginx的web服务器,需要从统计日志中统计有哪些类型的设备终端和浏览器访问了我的网站。
访问日志中的每条记录是这样的:
使用下面的命令得到user-agent所在的字段
cat cpm.access.log-20141211 | awk -F '"' '{print $6}' > ua_1211.txt
意思是,处理该文件的每一行,指定“为分隔符,只输出第6个文本域
提取的user-agent字段得到的文件为
很显然,需要对这些行进行去重,这只需要一个简单的sort命令就可以请求搞定:
sort ua_1211.txt | uniq -u > ua_1211.sort.txt
对文档按照ascii字符顺序进行排序,同时去掉重复行,并将结果重定向到新文件中
下面是去重后的文件内容
为了结果更精确,我需要对当前目录下面的所有日志都做相同的分析,为此,我需要先将这些文件都合并到一个大日志文件中,再对这个大文件执行上面的操作。使用cat的通配符合并功能很容易实现文件合并:
cat cpm.access.log-2014121* > cpm.access.log
再对这个合并文件cpm.access.log做分析
cat cpm.access.log | awk -F '"' '{print $6}' | sort | uniq -u > ua_analysis.txt
这次我们看到了更多神奇的东西,看来访问各种移动端访问我们网站还是很多的,总结有1333种终端访问。
其实类似的其他场景的问题也可以参照解决。
下面是我收集的user-agent文件,参见下载链接
收集的user-agent大全.txt
观察日志发现UA字符串:
Mozilla/5.0 (compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html)
参考文献
[1]./article/7021314.html
[2]./article/4630687.html
相关文章推荐
- 用cat、awk、sort、head统计分析nginx访问日志
- linux下使用awk,wc,sort,uniq,grep对nginx日志进行分析和统计
- 使用awk,sort和uniq从ATS访问日志中统计出异常链接域名的次数排名
- linux下使用awk,wc,sort,uniq,grep对nginx日志进行分析和统计
- linux下使用awk,wc,sort,uniq,grep对nginx日志进行分析和统计
- Linux sort uniq awk head 完成访问日志统计排序功能
- Awk,Cat,Head分析Nginx日志常用命令
- Linux sort uniq awk head 完成访问日志统计排序功能
- 使用 Nginx 内置 $http_user_agent 来区分( 电脑 pc、手机 mobile、平板 pad )端的内容访问
- linux小命令大世界2---统计Apache或Nginx访问日志里的独立IP访问数
- 使用python 分析统计nginx访问日志ip次数并且排序
- awk命令之 - 统计/etc/passwd文件中各用户所使用的shell类型及出现次数
- Linux Awk使用案例总结(nginx日志统计,文件对比合并等)
- nginx 使用 user_agent 控制客户端访问
- awk统计nginx日志访问前一百的ip
- awk查看与统计nginx访问日志
- 使用 awk 命令行快速分析 IBM HTTP Server 访问日志
- 使用awstats分析Nginx的访问日志
- 使用netstat和awk命令来统计网络连接数
- 使用netstat和awk命令来统计网络连接数