• GoAccess日志分析工具使用文档


    ----Sevck 2016/3/4 17:24:13

    #1软件说明:

    GoAccess是一款开源、实时,运行在命令行终端下的web日志分析工具。该工具提供快速、多样的HTTP状态统计,可以令管理员不再纠结于统计各类数据,和繁杂的指令以及一大堆管道/正则表达式说byebye。据GoAccess官方的说法:使用AMD Sempron 2.31GHz的CPU+2GB内存,开启GoAccess所有功能,该软件每秒可以处理10万行日志。当然,如果使用的CPU更强劲,拥有更多的内存,GoAccess的表现会更加出色。

    #2 功能特色:

    ü 生成统计数据,带宽统计等

    ü 每个请求的时间统计

    ü 最高访问ip

    ü 请求的文件统计

    ü 请求的静态文件、图片、flash、js文件等

    ü 各HTTP状态码统计

    ü Hosts,反向DNS,IP所在地

    ü 操作系统

    ü 浏览器/蜘蛛

    ü 引用的网站

    ü 引用的URLs

    ü 关键词组

    ü 地理位置 (大陆、国家、城市)

    ü 可输出JSON或CSV

    ü 各种的颜色主题

    ü 支持大容量数据且支持大容量数据的持续分析

    ü 支持IPv6

    ü 可生成HTML报告

    #3安装方法:

    1.官网下载,编译:

    wget http://tar.goaccess.io/goaccess-0.8.1.tar.gz
    tar -xzvf goaccess-0.8.1.tar.gz
    cd goaccess-0.8.1/
    ./configure --enable-geoip --enable-utf8
    make && make install

    2.软件包管理器安装:

    Debian/Ubuntu:

    #apt-get install goaccess                                             

    Centos/Fedora:

    yum install goaccess                                                  

    OSX:

    brew install goaccess                                                 

    安装完成之后我们就可以开始使用了,

    测试是否安装成功我们可以在终端输入:goaccess -V(大写)

     

    就可以看到已经安装成功了。

    #4启动参数介绍:
        -b 流量消耗统计,如果想要提高解析速度,不要开启这个选项。缺省值 为不开启此选项
        -f 日志文件路径。
        -s HTTP 状态码报告,为了能够更好的解析日志,选项被默认关闭。
        -e 指定IP地址的访问统计。
        -a 通过代理的请求统计。

       菜单介绍

        F1 帮助菜单
        F5 刷新
        q 退出当前口窗、菜单、或是当前查看的选项
        o 打开当前的选项、菜单
        c 改变窗口配色(目前只有两种 默认和绿色)
        SHIFT + TAB 从当前选定模块向后切换
        RIGHT 打开当前选中模块,查看详细信息
        s 通过日期排序,只会在访问请求模块起作用
        S 通过点击次数排序,只会在访问请求模块起作用
        / 查看详细信息的窗口进行搜索
        n 通过/进行查找后,查找下个匹配的内容的位置,如果没有则在窗口底   部显示“search hit BOTTOM”
        t 在查看详细信息窗口,移动指针到最顶部
        b 在查看详细信息窗口,移动指针到最底部

       其他设置

           h 查看帮助

    v 查看版本

    s 储存方法

    #5使用goaccess分析方法:

     

    -f指定日志文件就会启动如下界面:

     

    空格键为选择,上下光标移动,回车确定

    Nginx日志是属于Combined Log Format (XLF/ELF)类型的,所以我们选择第三个

    如果你的不是nginx ,那么到Vim /etc/goaccess.conf

    找到:

    #NCSA Combined Log Format with Virtual Host

    #log-format %^:%^ %h %^[%d:%^] "%r" %s %b "%R" "%u"

    去掉下面log-format前的#,如果没有就写一行如上代码

     

    把#去掉,修改格式即可。

     

    工具加载完,页面如下:

     

     

    #6键盘操作:

     

    • F1或h:帮助
    • F5 :刷新主界面
    • q:退出程序/当前窗口/折叠当前模块
    • o或Enter:展开选中的模块或窗口
    • 0-9以及Shift + 0:将选中的模块或窗口激活
    • k和j:模块内部移动
    • c:修改配色
    • ^f和^b:模块中上下滚屏
    • tab shift+tab:前后切换模块
    • s:模块内部排序选择
    • /:在所有模块中搜索(支持正则)
    • n:找到下个匹配
    • g和G:跳到第一项/最后一项

    #7功能项:

    • 表示每天特殊的访问
    • 请求最高的Top list
    • 静态请求top list 
    • 404没有找到的URL
    • 访问最高的IP list 
    • 操作系统
    • 浏览器
    • 时间统计
    • 来源网站
    • 访问国家
    • HTTP响应代码

    #8其他分析技巧:

    如果你的日志是压缩的日志,可以使用如下命令即可:

     zcat access.log.***.gz | goaccess                                      

    #或者:

     zcat -f access.log.*.gz | goaccess                                     

    当然goaccess 还支持各种管道:

    例如:

     sed -n ‘/11/Dec2016,$p’ access.log | goaccess -a                   

    想分析百度/google对网站的爬虫:

     grep -E “(google|baidu)”access.log | goaccess  -a                    

    Goaccess也支持生成html,csv,json格式的报告:

      goaccess -f access.log -a >result.html                                

      goaccess -f access.log -a -d -o json > result.json                    

      goaccess -f access.log -o csv > result.csv                            

    Ps :如果导出HTML报告会遇到如下情况:

    goaccess -f time_access.log -a > report.html             

    GoAccess - version 0.9.2 - Jul 15 2015 16:23:20
    Config file: /usr/local/etc/goaccess.conf

    Fatal error has occurred
    Error occured at: src/parser.c - verify_formats - 1691
    No time format was found on your conf file.

    解决办法:

    vi ~/.goaccessrc

    time-format %T
    date-format %d/%b/%Y
    log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

    #重新指定配置文件后执行
    goaccess -f time_access.log -p ~/.goaccessrc -a > result.html

    最后附上一张html的报表:

     

  • 相关阅读:
    [刘阳Java]_什么是MyBatis_第1讲
    [刘阳Java]_斗胆介绍一下Eclipse快捷键大全[超详细]_第6讲
    [刘阳Java]_避开环境配置快速的使用Java的开发工具_第5讲
    [刘阳Java]_JVM工作流程_第4讲
    [刘阳Java]_Java程序员的成长路线_第3讲
    [刘阳Java]_Java环境搭建_第2讲
    使用node操作mongodb
    mongodb学习
    node多文件处理方法
    yarn工具的使用
  • 原文地址:https://www.cnblogs.com/sevck/p/5267053.html
Copyright © 2020-2023  润新知