zoukankan      html  css  js  c++  java
  • GoAccess 分析 Nginx 日志

    0x00 事件

    帮助朋友搭建了博客,运行过了一段时间,准备发个网站分析报告给他。
    有效的数据只有 Nginx 的访问日志,于是使用决定 GoAccess 工具对这个日志进行分析,

    0x01 安装

    吾使用的是 CentOS,使用 yum 源进行安装即可。

    $ yum -y install goaccess
    

    其他平台可参考官方下载:https://goaccess.io/download

    0x02 使用

    1、确定日志格式
    从 Nginx 的配置中可以查看日志文件的格式:

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

    日志文件内容:

    223.104.189.167 - - [07/Aug/2019:03:03:02 +0000] "GET /favicon.ico HTTP/1.1" 200 5 "https://www.example.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36"
    

    2、使用命令并加上格式化参数

    $ goaccess -f access.log --log-format='%h %^ %^[%d:%t +0000] "%r" %s  %b "%R" "%u"' --date-format='%d/%b/%Y' --time-format='%H:%M:%S'  -d -a > test.html
    $ ls
    access.log test.html
    

    参数说明:

    -f 
    指定输入日志文件的路径。
    --log-format 
    指定日志格式字符串。
    --date-format 
    日志格式日期。它们都以百分号(%)开头。
    --time-format 
    日志格式时间。它们都以百分比(%)开头。
    -a 
    按主机启用用户代理列表。
    -d 
    在HTML或JSON输出上启用IP解析器。
    

    格式化参数主要为日志格式化 --log-format、日期格式化 --date-format 和时间格式化 --time-format
    https://goaccess.io/man#custom-log 可以查找 %* 对应的说明符

    3、查看分析文件

    最后在浏览器中打开 test.html 文件,就能看到访问日志的具体分析:

  • 相关阅读:
    什么是整型数据类型
    什么是布尔型(boolean)数据类型?
    PHP的八种数据类型
    php中session时间设置详解
    php中session数据库存储实例详解
    php中session临时文件和缓存说明
    php自定义Session的信息处理说明
    如何通过Session对用户操作权限进行判断的实例详解
    php中的Session是什么
    php中如何传递Session ID
  • 原文地址:https://www.cnblogs.com/nnylee/p/11359211.html
Copyright © 2011-2022 走看看