goaccess分析nginx日志的解决方案
GoAccess 是一款开源的网站日志实时分析工具。可以读取和解析 Apache/Nginx/Lighttpd 的访问日志文件 access log,然后以更友好的方式把统计信息显示出来。统计的内容包括:访问概况、动态页面请求、静态页面请求(如图片、样式表、脚本等)、访客排名,访客使用的操作系统,访客使用的浏览器,来路域名,404 错误,搜索爬虫,搜索关键词等等。
GoAccess的安装在goaccess官网 上有详细的教程,推荐使用APT/YUM的方式进行安装,比较简单。按照官网的教程试了一下,发现功能确实很强大,分析速度也很快,我使用:
|
|
来分析所有的nginx日志,几十万条日志分分秒就分析完了,并且生成了精美的html页面,很方便,如果你想查看当天的日志,可以用:
|
|
需要说明的是在终端模式下直接运行
|
|
这样的方式是实时分析的,但是生成html页面的方式不是实时的,所以我们需要定期更新,可以加入cron定期运行,比如这样:
|
|
可以每小时更新一次,至于全部的日志我们可以每天分析一次:
|
|
这个工具有一点我不太满意的地方就是搜索关键词它只能查到google搜索的,其他的都统计不到,希望未来能支持更多的搜索引擎吧。
我们可以新建一个静态站点来专门放置goaccess生成的html文件:
server {
listen 80;
server_name log.yoursite.com;
# index index.htm index.html;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/passwd;
root /var/www/log/;
access_log off;
error_log off.log;
}
里面的/etc/nginx/passwd文件是用apache的htpasswd生成的,里面记录的是一个用户名和密码,因为这个站点我们不想让谁都能看到,所以用了auth_basic目录加密了,如果没有安装apache,也可以用其他的方法生成的,具体可以搜一下。
OK,以后我们就可以访问log.yoursite.com来查看网站的日志,可以时时掌握自己的网站。
PS:无意中看到404中有很多有趣的东西,呵呵,网上的闲人不少啊。
- 原文作者:槛外小筑
- 原文链接:https://www.kwxiaozhu.com/archives/931.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。