zoukankan      html  css  js  c++  java
  • 利用GoAccess分析Nginx访问日志

    原文链接:https://blog.csdn.net/yown/article/details/56027112

    需求:及时得到线上用户访问日志分析统计结果,以便给开发、测试、运维、运营人员提供决策!

    找了各种工具,最终还是觉得goaccess不仅图文并茂,而且速度快,每秒8W 的日志记录解析速度,websocket10秒刷新统计数据,站在巨人肩膀上你也会看得更远…先上图:

    具体安装步骤如下:

    一、linux上安装goaccess

    a.先安装依赖包

    yum install ncurses-devel
    wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
    tar -zxvf GeoIP.tar.gz
    cd GeoIP-1.4.8/
    ./configure
    make && make install

    b.安装goaccess 

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

    二、校对nginx和goaccess日志格式

    a、配置nginx.conf中log_format中的日志格式(改完记得重启nginx服务),如:

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    
                    '$status $body_bytes_sent "$http_referer" '
    
                    '"$http_user_agent" "$http_x_forwarded_for" '
    
                    '$connection $upstream_addr '
    
                     '$upstream_response_time $request_time';

    b、使用nginx2goaccess.sh脚本将nginx日志格式格式化为goaccess能识别的日志格式,nginx2goaccess.sh脚本内容在https://www.cnblogs.com/erbiao/p/9221543.html

     1、保存下来

     2、使用如下方式获取日志格式:

     sh nginx2goaccess.sh '<log_format>'            #log_format为你nginx.conf中配置的日志格式
        
     如:
     sh nginx2goaccess.sh '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" $connection $upstream_addr $upstream_response_time $request_time'

     3、会得到三个格式:

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

    、生成统计页面。上面三行分别是时间、日期、日志格式,将三行输出保存到任意文件,然后就可以开始生成html可视化文件

     ./goaccess -f nginx_access.log -p /opt/goaccess/nginxlog.conf -o day-report.html

     

       html可视化文件的实时更新方法

     nohup ./goaccess -f access.log -p /opt/goaccess/nginxlog.conf -o day-report.html --real-time-html --ws-url=report.xxx.com &

     

      选项解释

      -f 指定nginx日志文件
      -p 指定日志格式文件
      -o 输出到指定html文件
      --real-time-html 实时刷新
      --ws-url 绑定一个域名


    、将生成的文件用web服务器展示在浏览器上
      略。

    -----------------------------------
    相关链接

      goaccess官网:https://goaccess.io


     
  • 相关阅读:
    liststyle
    :nthchild(n)
    织梦CMS首页调用分类信息栏目及列表方法
    []织梦CMS首页调用分类信息栏目及列表方法
    ps快捷键
    系统架构博客,很不错
    google maps api 反向解析 地址 api
    sphinx
    sphinx discuss
    ruby分词
  • 原文地址:https://www.cnblogs.com/erbiao/p/9221671.html
Copyright © 2011-2022 走看看