文档章节

用cat统计apache日志ip

布几岛
 布几岛
发布于 2014/06/24 10:09
字数 306
阅读 175
收藏 6
  • 用cat统计apache日志ip

     

    现有一段apache的日志,需要从日志中提取出访问量最大的IP。使用shell实现。 

  • 日志如下(只是举例,故数据量较小): 

     

    $ more aa.txt 

    127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 

    192.168.1.100 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 

    192.168.1.100 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 

    192.168.1.100 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 

     

    1.要提取访问量最大的IP,需要先从日志中把IP段提取出来。 

     

    $ cat aa.txt |awk -F " " '{print $1}' 

    127.0.0.1 

    192.168.1.100 

    192.168.1.100 

    192.168.1.100 

     

    (PS,此处也可以用cut命令实现。 

     

    $ cut -d " " -f 1 aa.txt 

    127.0.0.1 

    192.168.1.100 

    192.168.1.100 

    192.168.1.100) 

     

    2.对IP进行统计,看各IP出现过多少次 

     

    $ cat aa.txt |awk -F " " '{print $1}' |uniq -c 

          1 127.0.0.1 

          3 192.168.1.100 

     

    (PS:wc -l也可以对行数统计,但统计的是整体的,所有行数。不会分类统计) 

     

    3.按IP出现次数从大到小排列 

     

    $ cat aa.txt |awk -F " " '{print $1}' |uniq -c |sort -r 

          3 192.168.1.100 

          1 127.0.0.1 

     

    4.再次提取出IP段 

     

    $ cat aa.txt |awk -F " " '{print $1}' |uniq -c |sort -r |awk '{print $2}' 

    192.168.1.100 

    127.0.0.1 

     

    5.选择第一行 

     

    $ cat aa.txt |awk -F " " '{print $1}' |uniq -c |sort -r |awk '{print $2}' |head -1 

    192.168.1.100

     


本文转载自:http://www.2cto.com/os/201211/168233.html

共有 人打赏支持
布几岛
粉丝 6
博文 37
码字总数 10513
作品 0
海淀
高级程序员
私信 提问
从apache日志中找出访问IP

apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数。 cat access.log |awk '{print $1}' |sort |uniq -c |sort -rn |wc -l 统计访问IP的总数...

技术小阿哥
2017/11/28
0
0
网站日志分析

1.查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}' netstat -n | awk '/^tcp/ {++state[$N......

tanp398
2015/11/26
0
0
linux下grep分析apache日志的命令集合

linux下grep分析apache日志的命令集合,不可错过的好文章,有了这些命令,秒杀江湖中大部分的apache日志分析。 实例: 月份英文简写英文全称 一月Jan.January 二月Feb.February 三月Mar.Mar...

hmc0316
2013/03/06
0
0
常用的apache access日志分析脚本

apache访问日志分析 当前WEB服务器中联接次数最多的ip地址 #netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -nr 查看日志中访问次数最多的前10个IP #cat access_log |cut -d ' ' -f...

WuHonghai
2012/09/03
0
1
常用linux高级命令

-vi 编辑器 先进入命令模式(Esc) :/str 查找str,按n下一处,按N上一处 :1 回首行 :$到尾行 - web 访问日志统计(tomcat/apache/nginx) 1.根据访问IP统计UV awk ‘{print $1}’ access.log.t...

yown
2016/05/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ubuntu美化记,-修改皮肤,安装工具。

事情由来 最近系统盘坏了,换了新SSD,也换了新版的ubuntu 18.04LTS;不得不说,ubuntu 的桌面搞的越来越漂亮了。 把调整过的zsh shell样式,截个图上来镇一下楼: 添加了对python virtuale...

janl
11分钟前
0
0
阿里云物联网边缘计算加载MQTT驱动

写在前面 本文在LinkEdge快速入门样例驱动的基础上,加载了MQTT订阅的客户端,使得边缘端容器可以通过MQTT获得外部数据。 1. 系统需求 物联网边缘计算平台,又名Link IoT Edge[1]。在物联网边...

阿里云云栖社区
12分钟前
0
0
错误: 找不到或无法加载主类

在IDEA的使用过程中,经常断掉服务或者重启服务,最近断掉服务重启时突然遇到了一个启动报错: 错误:找不到或无法加载主类 猜测:1,未能成功编译; 尝试:菜单---》Build---》Rebuild Pro...

安小乐
28分钟前
1
0
vue路由传参,刷新页面,引发的bug

最近遇到一个bug 通过vue路由跳转到页面, 然后接参控制(v-if ),成功显示 而刷新页面,显示失败。 苦苦地找了半天原因,打印参数发现正确,再打印下类型......,路由跳过来会保持传参时的...

hanbb
29分钟前
1
0
【58沈剑 架构师之路】InnoDB,select为啥会阻塞insert?

MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。 但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。 InnoDB的细粒度锁,是实现在索引记录上的。 一,Inn...

张锦飞
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部