GoAccess 分析 Nginx 日志
程序员文章站
2022-04-09 15:41:43
0x00 事件 帮助朋友搭建了博客,运行过了一段时间,准备发个网站分析报告给他。 有效的数据只有 Nginx 的访问日志,于是使用决定 工具对这个日志进行分析, 0x01 安装 吾使用的是 CentOS,使用 yum 源进行安装即可。 其他平台可参考官方下载: 0x02 使用 1、确定日志格式 从 ......
0x00 事件
帮助朋友搭建了博客,运行过了一段时间,准备发个网站分析报告给他。
有效的数据只有 nginx 的访问日志,于是使用决定 goaccess
工具对这个日志进行分析,
0x01 安装
吾使用的是 centos,使用 yum 源进行安装即可。
$ yum -y install goaccess
其他平台可参考官方下载:
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
。
在 可以查找 %* 对应的说明符。
3、查看分析文件
最后在浏览器中打开 test.html 文件,就能看到访问日志的具体分析: