一、准备工作
1 . 安装goaccess
yum install goaccess
2. 配置nginx日志格式
在nginx.conf中配置
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"';
配置完后重启nginx,假如先前已经开启nginx日志配置,需要重新设置新的access.log。
3.设置goaccess日志匹配格式
在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一一对应。
二、分析nginx日志
1. 控制台模式
goaccess -a -d -f /var/log/nginx/access.log -p /etc/goaccess.conf
#goaccess -a -d -f {要分析的log文件} -p {goaccess配置文件}
进入控制台后
F1 主帮助页面
F5 重绘主窗口
q 退出
1-15 跳转到对应编号的模块位置
o 打开当前模块的详细视图
j 当前模块向下滚动
k 当前模块向上滚动
s 对模块排序
/ 在所有模块中搜索匹配
n 查找下一个出现的位置
g 移动到第一个模块顶部
G 移动到最后一个模块底部
2.HTML模式
goaccess -a -d -f /var/log/nginx/access.log -p /etc/goaccess.conf -o /home/go-access.html
#goaccess -a -d -f {要分析的log} -p {goaccess配置文件} -o {生成指定文件}
3.Json模式
goaccess -a -d -f /var/log/nginx/access.log -p /etc/goaccess.conf -o json>/home/test.json
#goaccess -a -d -f /var/log/nginx/access.log -p /etc/goaccess.conf -o json>/home/test.json
提供的Json文件可以给前端使用生成数据可视化页面。