huzilinitachi 2019-06-28
前段时间github崩溃差点把心态搞崩了,索性就买了一个阿里云服务器把个人网站迁移上去。
服务器镜像选的是nodejs应用,预装nginx。nginx其它的配置就不多说了,
本文主要讲述如何通过GoAccess分析nginx日志数据。
最终运行效果图:
GoAccess是一个开源的实时网络日志分析器和交互式查看器,可以在*nix系统或通过浏览器的终端中运行。它为需要动态可视化服务器报告的系统管理员提供快速且有价值的HTTP统计信息。
goaccess就是用来分析服务器日志数据的,可以通过终端或HTML(分为静态和动态)两种主要方式输出数据分析报告
可以通过官网下载源码安装或者通过包管理工具,这里使用yum安装
yum install goaccess
验证goaccess是否安装正确:
goacces --v
安装好后会在/etc目录下有个goaccess.conf配置文件,在最后一行加入下面代码:
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u" date-format %d/%b/%Y time-format %H:%M:%S
real-time-html true port 618 output /usr/local/nginx/html/stat/index.html
上面配置了goaccess的日志格式、日期格式和时间格式,
设置实时HTML分析为true,因为是通过WebSocket连接服务器需要设置一个端口请求数据,默认端口是7890,这里设置的是618。记得在阿里云后台开启端口,不然数据获取不到。最后设置输出HTML地址,这里放置在nginx服务器静态资源HTML目录下,可自行配置。
在服务器终端输入:
goaccess -f /usr/local/nginx/logs/access.log -a > /usr/local/nginx/html/stat/index.html
前者是需要分析的日志文件地址 后者是输出HTML的地址
打开你网站stat目录就可以看到实时数据分析了。
例如:我的网站是liujiangdu.top,我打开liujiangdu/stat/就可以看到结果了