本文介绍Nginx使用GoAccess查看Nginx访问日志。
最近在看极客时间-《Nginx核心知识一百讲》的视频,了解到GoAccess监控工具,所以最近对这个工具研究了一下,故写此文章。
GoAccess是一个开源的实时网络日志分析器和交互式查看器,可以在Linux系统或通过浏览器的终端中运行。它为需要动态可视化服务器报告的系统管理员提供快速且有价值的HTTP统计信息。
官网地址:https://goaccess.io/
官网首页:
特征页(使用谷歌浏览器翻译),感觉这里的翻译大致都可以理解,我就不一条一条写出来了。
官方文档下载地址:https://goaccess.io/download
如图:
首先安装GoAccess依赖,已经安装请忽略。
ncurses-devel:
yum install ncurses-devel
tokyocabinet-devel:
yum install tokyocabinet-devel
openssl-devel:
yum install openssl-devel
geoip-devel:
yum install GeoIP-devel.x86_64
然后就跟着官网步骤来就可以了,如下: 下载GoAccess
wget https://tar.goaccess.io/goaccess-1.2.tar.gz
解压
tar -xzvf goaccess-1.2.tar.gz
进入目录
cd goaccess-1.2 /
生成 Makefile,为下一步做准备
./configure --enable-utf8 --enable-geoip = legacy
编译
make
安装
make install
这里参考陶辉在课程中使用的命令,如下
goaccess /opt/nginx/logs/access.log -o /opt/nginx/goaccess/report.html --real-time-html --time-format='%H:%M:%S' --date-format='%d/%b/%Y' --log-format=COMBINED
其中/opt/nginx/logs/access.log为Nginx日志位置,/opt/nginx/goaccess/report.html为生成页面位置,COMBINED指定默认文件格式,real-time-html实时html。
在Nginx中对应server内加入如下配置:
location /report.html {
alias /opt/nginx/goaccess/report.html;
}
重启Nginx,访问localhost:8080/report.html可以看到如图所示:
工具含有的功能很强大,可以结合所在场景进行实时分析。