参考文档:https://goaccess.io
安装依赖库
yum install -y GeoIP-devel ncurses-devel
下载并安装GoAccess
wget https://tar.goaccess.io/goaccess-1.4.3.tar.gz tar -xzvf goaccess-1.4.3.tar.gz -C /usr/local/ cd /usr/local/ mv goaccess-1.4.3 goaccess cd goaccess/ ./configure --enable-utf8 --enable-geoip=legacy make && make install
配置日志格式(以nginx为例),配置文件位于:/usr/local/etc/goaccess/goaccess.conf,参考:https://goaccess.io/man#custom-log
time-format %H:%M:%S date-format %d/%b/%Y log-format %h - %^ [%d:%t %^]; "%r" %s %b "%R" - %^"%u" - %^ %T
使用终端分析日志结果
goaccess -a -d -f /usr/local/nginx/logs/access.log
使用定时器以HTML格式输出分析结果
1、编写脚本文件
#分析报告存放路径 mkdir -p /data/www/goaccess/html #分析脚本存放路径 mkdir -p /usr/local/goaccess/scripts #获取HTML分析报告 vim /usr/local/goaccess/scripts/getHtmlReport-项目名称.sh
#!/bin/bash #页面转换为中文 LANG="zh_CN.UTF-8" #输出HTML分析报告 /usr/local/bin/goaccess -a -d -f /usr/local/nginx/logs/access.log -o /data/www/goaccess/html/report-项目名称.html
分配脚本可执行权限:chmod 755 /usr/local/goaccess/scripts/getHtmlReport-项目名称.sh
2、添加定时任务
#新增定时任务
crontab -e
#定时生成项目的nginx日志分析html报告 0 0 * * * /bin/bash /usr/local/goaccess/scripts/getHtmlReport-项目名称.sh
3、配置nginx访问路径
#用alias将它重定向到所指定的html中 location /report-项目名称.html { alias /data/www/goaccess/html/report-项目名称.html; }
4、查看日志分析报告