zoukankan      html  css  js  c++  java
  • 日志分析常用命令

    下面这3个命令是非常好用的日志分析命令,以apache的日志文件access_log为例 

    1访问次数最多的IP TOP10

    当网络流量突然持续异常时,很有可能是有恶意访问,最快的解决方式就是找出访问量最多的几个ip,暂时禁止其访问,然后再仔细观察 

    # cat access_log | cut -f1 -d " " | sort | uniq -c | sort -k 1 -n -r | head -10 

    2被访问次数最多的URL TOP10 

    了解哪些Url资源的访问量最大,可以帮助我们有针对性的进行优化 

    # cat access_log | cut -f7 -d " " | sort | uniq -c | sort -k 1 -n -r | head -10 

    3被请求资源中大小最大的 TOP10

    文件大小太大的话会严重影响访问速度,有必要找出大文件进行分析 

    # cat access_log | sort -k 10 -n -r | head -10 

    命令解释 

    这几个命令都是使用了管道“|”把多个命令进行连接,上一个命令的结果交给下一个命令来处理
    cat
    显示文件内容
    cut
    是一个选取命令,就是将数据以行为单位进行分析,取出我们想要的
    -d : 自定义分隔符,默认为制表符
    -f : 与-d一起使用,指定显示哪列
    第一个命令中的:cut -f1 -d " "
    含义:以空格进行分割,显示结果中的第一列
    sort
    将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出
    没有参数时就是整行排序
    -t : 分隔符,默认是用 [tab] 键来分隔
    -k : 选择以哪列进行排序
    -n : 使用数字格式进行排序,默认是以文字型态来排序的
    -r : 反向排序
    uniq
    首先比较相邻的行,然后除去第二行和该行的后续副本,重复的行一定要相邻,所以通常与 sort 联合使用,先用 sort 进行排序,然后使用 uniq 去重
    -c : 在输出行前面加上每行出现的次数
    head
    显示结果中头部区域
    -10 : 显示头部的10行

    综合解释 

    日志文件的内容示例
    184.195.232.39 - - [28/Dec/2015:22:31:48 +0800] "GET /ui-nav.js HTTP/1.1" 304 -
    184.195.232.39 - - [28/Dec/2015:22:31:48 +0800] "GET /ui-toggle.js HTTP/1.1" 304 -
    184.195.232.38 - - [28/Dec/2015:22:31:48 +0800] "GET /ui-toggle.js HTTP/1.1" 304 -
    以第一个命令(查看访问量最大的前10个IP)为例
    # cat access_log | cut -f1 -d " " | sort | uniq -c | sort -k 1 -n -r | head -10
    cat access_log
    先读取 access_log 的内容
    cut -f1 -d " "
    然后对每行以空格进行分割,只显示第一列(日志的第一列为IP)
    输出的结果为:
    184.195.232.39
    184.195.232.39
    184.195.232.38
    sort
    接下来对IP进行升序排序
    输出的结果为:

    184.195.232.38
    184.195.232.39
    184.195.232.39
    uniq -c
    删除重复的IP,删除的同时记录下相同的IP数量,显示到IP的前面
    输出的结果为:
    1 184.195.232.38
    2 184.195.232.39
    sort -k 1 -n -r
    对第一列以数字格式倒序排序
    输出的结果为:
    2 184.195.232.39
    1 184.195.232.38
    head -10
    只显示头10条

  • 相关阅读:
    1144 The Missing Number (20分)
    1145 Hashing
    1146 Topological Order (25分)
    1147 Heaps (30分)
    1148 Werewolf
    1149 Dangerous Goods Packaging (25分)
    TypeReference
    Supervisor安装与配置()二
    谷粒商城ES调用(十九)
    Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected
  • 原文地址:https://www.cnblogs.com/meslog/p/5092281.html
Copyright © 2011-2022 走看看