• GoAccess安装和使用介绍


    使用文档参考地址:
    https://my.oschina.net/mrco/blog/181737
    https://www.fanhaobai.com/2017/06/go-access.html

    goaccess地址:https://goaccess.io/download

    下载适合centos7版本的goaccess

    安装前需要将nginx中log_format启用,并配置成以下的格式
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for" "$request_body" "$request_time"';


    log_format main '$remote_addr - $remote_user [$time_local] "$request" '

    '$status $body_bytes_sent $request_body "$http_referer" '

    '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';

    1)安装依赖包
    yum -y install glib2 glib2-devel ncurses ncurses-devel geoip geoip-devel

    2)安装goaccess
    wget http://tar.goaccess.io/goaccess-1.2.tar.gz
    tar -xzvf goaccess-1.2.tar.gz
    cd goaccess-1.2/
    #如果是https,则需要开启--with-openssl
    ./configure --enable-utf8 --enable-geoip=legacy --with-openssl
    make
    make install

    3)移动配置文件
    默认配置文件安装在/usr/local/etc/goaccess.conf,将文件移动到etc目录下
    mv /usr/local/etc/goaccess.conf /etc/
    修改配置文件中goaccess.conf 以下项的内容

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

    log-format中不需要nginx中的信息,可以用%^替换,如- 或者空格,如果出现:,则也需要用:替换

    log-format与access.log log_format格式对应,每个参数用空格或制表符间隔
    goaccess.conf中各项配置含义:
    %t 匹配time-format格式的时间字段
    %d 匹配date-format格式的日期字段
    %h host(客户端ip地址,包括ipv4和ipv6)
    %r 来自客户端的请求行
    %m 请求的方法
    %U URL路径
    %H 请求协议
    %s 服务器响应的状态码
    %b 服务器返回的内容大小
    %R HTTP请求头的referer字段
    %u 用户代理的HTTP请求报头
    %D 请求所花费的时间,单位微秒
    %T 请求所花费的时间,单位秒
    %^ 忽略这一字段

    4)启动goaccess
    cd /usr/local/nginx/html
    goaccess -a -d -f /usr/local/src/host.access.log -p /etc/goaccess.conf >host.access.html
    mv host.access.html goaccess.html
    echo goaccess.html > goaccess.log /usr/local/nginx/hanhua.sh

    $ goaccess -h
    # 常用参数
    -a --agent-list 启用由主机用户代理的列表。为了更快的解析,不启用该项
    -d --with-output-resolver 在HTML/JSON输出中开启IP解析,会使用GeoIP来进行IP解析
    -f --log-file 需要分析的日志文件路径
    -p --config-file 配置文件路径
    -o --output 输出格式,支持html、json、csv
    -m --with-mouse 控制面板支持鼠标点击
    -q --no-query-string 忽略请求的参数部分
    --real-time-html 实时生成HTML报告
    --daemonize 守护进程模式,--real-time-html时使用

    加上这些参数可以实时查看数据:--real-time-html --daemonize
    默认使用WebSocket监听7890端口,加上参数 --port

    如果需要启用ssl,则需修改配置文件goaccess.conf中 ssl-cert ssl-key,使用的协议为wss 并且将ws-url 修改为:wss://www.domain.com

    F1 主帮助页面
    F5 重绘主窗口
    q 退出
    1-15 跳转到对应编号的模块位置
    o 打开当前模块的详细视图
    j 当前模块向下滚动
    k 当前模块向上滚动
    s 对模块排序
    / 在所有模块中搜索匹配
    n 查找下一个出现的位置
    g 移动到第一个模块顶部
    G 移动到最后一个模块底部

    5)使用定时任务生成日志:
    # 定时任务内容
    0 0 1 * * goaccess -a -d -f /var/log/nginx/access.log -p /etc/goaccess.conf -o /var/log/nginx/goaccess.html 2> /var/log/nginx/goaccess.log

  • 相关阅读:
    APUE学习笔记:第四章 文件和目录
    APUE学习笔记:第三章 文件I/O
    APUE学习笔记:第二章 UNIX标准化及实现
    APUE学习笔记:第一章 UNUX基础知识
    《数据库系统概念》学习笔记2
    go语言下载地址
    Centos7 编译 android4.4
    剑侠情缘新进展
    ubuntu server 14.04手动安装svn
    ubuntu server 14.04 lts显示乱码的问题
  • 原文地址:https://www.cnblogs.com/NiceTime/p/8567597.html
Copyright © 2020-2023  润新知