美文网首页
nginx分析日志利器goaccess

nginx分析日志利器goaccess

作者: daniel_hao | 来源:发表于2015-07-29 18:13 被阅读4113次

    简介

    GoAccess主页 http://goaccess.prosoftcorp.com/
    它是一个日志分析工具,并不只是为nginx使用的。你也可以用它来分析apache,IIS的日志,甚至你自己写的web服务,当然前提是你需要定义好解析的日志格式。诚如见到一个美女,你会一眼喜欢上它的几个功能有:
    1 解析速度快
    2 使用简单
    3 能生成html,json,csv

    安装

    添加epel源
    因为下面所需依赖需要在epel中下载

    wget http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
    rpm -ivh epel-release-6-8.noarch.rpm
    yum repolist
    

    goaccess安装

    yum install glib2 glib2-devel GeoIP-devel  ncurses-devel zlib zlib-devel
    cd /home/tools
    wget http://tar.goaccess.io/goaccess-0.9.1.tar.gz
    tar -xzvf goaccess-0.9.1.tar.gz
    cd goaccess-0.9.1/
    ./configure --enable-geoip --enable-utf8
    make
    make install
    cp /usr/local/etc/goaccess.conf /etc/
    
    #添加时间格式到配置文件,以后启动指定配置文件则不需要再选择
    cat >>/etc/goaccess.conf<<EOF
    time-format %H:%M:%S
    date-format %d/%b/%Y
    log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
    EOF
    ###############################
    

    日志格式:
    %t 时间字段匹配的time_format变量。
    %d 字段匹配的date_format变量。
    %h host(客户端IP地址,IPv4或IPv6)
    %r 请求从客户端。这需要特定的分隔符全要求(如单引号,双引号,或者别的什么东西)来解析。如果不是,我们必须结合使用特殊格式说明符 %m %U %H
    %m 请求的方法。
    %U 在URL路径的要求(包括任何查询字符串)。
    %H 请求协议。
    %s 状态码,服务器发送回客户端。
    %b 对象的大小返回给客户端。
    %R 以上的referer HTTP请求头。
    %u 在用户代理HTTP请求头。
    %D 时间服务请求,在微秒。
    %T 时间,服务要求,在秒。注:%D先于%T如果同时使用。
    %^ 忽略这一领域

    控制台使用GoAccess

    F1 主帮助页面
    F5 重绘主窗口
    q 退出程序或者当前{详细视图}(窗口)
    o 打开当前激活模块的详细视图
    c 设置或改变配色方案
    TAB 向前迭代模块。从当前激活模块开始。
    SHIFT + TAB 向后迭代模块。从当前激活模块开始。
    RIGHT ARROW 打开当前激活模块的详细视图
    0-9 激活模块,这样用户就可以使用o或^RIGHT ARROW^打开{详细视图}
    SHIFT + 0-9 激活超过10的模块
    s 根据日期进行独立访客排序。仅在独立访客模块(1)有效。
    S 根据点击数进行独立访客排序。仅在独立访客模块(1)有效。
    / 向前在任意{详细视图}窗口搜索输入模式(pattern)。
    n 在任意{详细视图}窗口中找到下一次出现的位置。
    t 跳到第一个条目或屏幕顶端
    b 跳到最后一个条目或者屏幕底部

    启动参数介绍

    -b 流量消耗统计,如果想要提高解析速度,不要开启这个选项。缺省值为不开启此选项
    -f 日志文件路径。
    -s HTTP 状态码报告,为了能够更好的解析日志,选项被默认关闭。 -e 指定IP地址的访问统计。
    -a 通过代理的请求统计。
    -d --with-output-resolver 在HTML输出或者json输出中开启IP 解析,如果开启了-d,goaccess就会使用GEOIP来进行IP解析。
    -e --exclude-ip=<ip address> Host模块中不需要被统计的IP,比如可以将爬虫的IP过滤掉
    -h --help 帮助文档
    -H --http-protocol 显示的时候是否带上HTTP协议信息
    -m --with-mouse 控制面板开启支持鼠标点击,带上了m之后,双击鼠标就相当于回车的操作
    -M --http-method 是否带上HTTP方法信息
    -o --output-format=csv|json 输出为csv或者json形式
    -p --conf-file=<filename> 指定配置文件,如果你有配置文件,配置文件中又恰巧设置了log-format和date,那么你就不会被强制进入到format对话框了。如果你没有设置的话,默认使用~/.goacessrc。
    -q --no-query-string 忽略请求的参数部分
    -r --no-term-resolver 在Host模块中是否进行IP的解析。加上-r是禁止IP解析。
    --no-color 输出无颜色标示
    --real-os 展示真实的操作系统。在Operation System模块中,是否展示更详细的操作系统信息。

    控制台登录

    goaccess -a -d -f /var/log/apache2/access.log -p /etc/goaccess.conf
    
    控制台页面展示

    生成html页面展示

    goaccess -a -d -f /var/log/apache2/access.log -p /etc/goaccess.conf >/home/app/www.goaccess.com/index.html
    
    web页面展示

    相关文章

      网友评论

          本文标题:nginx分析日志利器goaccess

          本文链接:https://www.haomeiwen.com/subject/umgmqttx.html